From c38b2d23198e8aea6176889e458ce3aad8b3b2c5 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Wed, 13 Nov 2019 21:43:14 +0000 Subject: [PATCH 01/76] chore: incrementing version number - v1.13.0 --- install/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/package.json b/install/package.json index 8505c1d11a..b2f7bc45cf 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "1.12.2", + "version": "1.13.0", "homepage": "http://www.nodebb.org", "repository": { "type": "git", @@ -170,4 +170,4 @@ "url": "https://github.com/barisusakli" } ] -} +} \ No newline at end of file From 94499da3d6b960b12fe15bfcfae8f4cc127dc69c Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 13 Nov 2019 16:51:30 -0500 Subject: [PATCH 02/76] docs: updated changelog --- CHANGELOG.md | 613 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 613 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7359fd095..f59f675ee1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,616 @@ +### 1.13.0 (2019-11-13) + +##### Chores + +* incrementing version number - v1.13.0 (c38b2d23) +* incrementing version number - v1.12.2 (810e2c0b) +* **deps:** + * update dependency jsdom to v15.2.1 (9d946d1c) + * update dependency eslint to v6.6.0 (d0e428e9) + * update dependency lint-staged to v9.4.2 (#7954) (d108c7d0) + * update dependency mocha to v6.2.2 (#7984) (e31a47cd) + * update dependency coveralls to v3.0.7 (#7961) (9b308e4b) + * update dependency jsdom to v15.2.0 (#7971) (9b4e9882) + * update dependency husky to v3.0.9 (fd5095a3) + * update dependency husky to v3.0.8 (88cae415) + * update dependency lint-staged to v9.4.1 (a2a7bb3d) + * update node.js to v8.16.1 (f9ad826b) + * update node:8.16.0 docker digest to bb12612 (48cc317c) + * update dependency eslint to v6.5.1 (da12e947) + * update dependency husky to v3.0.7 (10a30e66) + * update commitlint monorepo to v8.2.0 (ddd4e039) + * update dependency mocha to v6.2.1 (b172d106) + * update dependency lint-staged to v9.2.3 (ccccba81) + * update dependency coveralls to v3.0.6 (#7820) (2b1f840e) + * update dependency husky to v3.0.3 (cbede89a) + * update dependency lint-staged to v9 (f2e4664d) + * update dependency eslint-plugin-import to v2.18.2 (#7779) (57b2a553) + * update dependency eslint to v6.1.0 (#7783) (7257e6b2) + * update dependency husky to v3.0.2 (7ad72b32) + * update node:8.16.0 docker digest to c671dc2 (e76214a2) + * update dependency mocha to v6.2.0 (d43f5dcf) + * update node:8.16.0 docker digest to 310db2a (c46a0772) + * update dependency husky to v3.0.1 (28151f86) + * update dependency eslint-plugin-import to v2.18.1 (9fda2c1f) + * update commitlint monorepo to v8.1.0 (f73468d5) + * update dependency coveralls to v3.0.5 (5b746d53) + * update dependency husky to v2.7.0 (1d0fd028) + * update dependency eslint to v6.0.1 (77347d0a) + * update dependency husky to v2.6.0 (fc69e891) + * update dependency eslint-plugin-import to v2.18.0 (744e4428) + * update dependency husky to v2.5.0 (4960b925) + * update dependency lint-staged to v8.2.1 (2fa68e3b) + * update node:8.16.0 docker digest to 06adec3 (fc224cca) + * update dependency husky to v2.4.1 (17ec8fde) + * update node:8.16.0 docker digest to d5ad3f5 (f9e99fa3) + * update node:8.16.0 docker digest to 75b524a (5995834b) + * update node:8.16.0 docker digest to b9a98ae (fca6d794) + * update dependency lint-staged to v8.2.0 (376390c4) + * update dependency husky to v2.4.0 (3d2ec0bb) + * update dependency coveralls to v3.0.4 (c360e0c2) + * update dependency eslint-plugin-import to v2.17.3 (eac4e2f1) + * update node:8.16.0 docker digest to 957cab2 (cc6fa97c) + * update commitlint monorepo to v8 (80532831) + +##### Documentation Changes + +* updated changelog (183b0ed3) + +##### New Features + +* displaying one-click unsubscribe link in email footer (#8024) (df139928) +* #7467, pass query params when redirecting to posts (480a64aa) +* use helpers.setupAdminPageRoute (b5a30006) +* wip, better digest handling (+ eventual digest resend logic) (#7995) (645d6472) +* add action:messaging.save (ac5c560c) +* #7957, allow post queue based on group (1cedc4a0) +* add filter:topics.unreadCutoff (e020b85b) +* Add filter:topic.delete and filter:topic.restore (#7946) (#7989) (989107d9) +* no more session cookie for guests (#7982) (cf7e0cfd) +* Implement WICG change-password-url (#7072) (#7990) (df1efe5f) +* log errors from mubsub (b01a47cb) +* upgrade to sitemap5 (#7980) (d6792188) +* #7964, change all categories at once (485fbd2f) +* closes #7952, translate widget-settings (990508a5) +* remove ability to delete events from acp (554e6711) +* resetting theme will reset skin (03827fa6) +* disable timeout on launch route (4bc77d06) +* add new hook to get custom category tids for unread (b1926054) +* adding filter:login.check and loginFormEntry[] for the filter:login.build hook (#7861) (94810fd6) +* #7932, redirect to group details after creation (2444ed5c) +* add new hook filteR:topics.getSortedTids (b93c826d) +* bypass cropper for gifs (9a756004) +* deprecate file.isFileTypeAllowed (ffe3670f) +* send notification to group owners when someone leaves (ed122364) +* add failing test for pagination (#7924) (22b02f14) +* refactor getSortedSetRange to allow big arrays (b602c044) +* add new test (1e5246f9) +* add rss feed url for tags (bbc2e956) +* add sm2x avatar class #7813 (35a4ca2f) +* #7090, abililty to hide widgets (71cd602d) +* #7760, body-parser config (5de6d885) +* actually cache duh (f05c1dae) +* cache tags:topic:count (63bd252f) +* increase search timeouts (1789ecb4) +* make handleSearch public (ebe5ed22) +* increase size of local cache (b81405a8) +* don't hardcode numberic fields in user search (09410ff1) +* allow only watching core (451c7fd4) +* client-side taskbar.update method, deprecates .updateTitle() (9b09ee0e) +* option to restrict group leaving, closes #7770 (1796b65d) +* preserver querystring when changing category sort (ad96b0e0) +* html sanitization on all filter:parse.* hooks, closes #7872 (2580306d) +* up socket.io-adapter-mongo (3d2cb628) +* update LESS to v3.x, #7855 (#7867) (aea04de0) +* up psql socket.io adapter (b565e568) +* add client side hook for quick search&normal search (f31d30cd) +* allow floating pinned topics to top in getSortedTopics (1d7e0c63) +* promisify recent.getData (6f7ab586) +* faster initial stat loading (89cd31ed) +* cache stats, mongo count sucks (cb50b3f4) +* dashboard stats (3ff6e1bb) +* add filter:search.getPosts (aeb44faf) +* add image and imageClass to post summaries (80bd52fc) +* #7842, make isInvited, isPending work with uids (fa268556) +* convert search controller to async/await (acf12e3d) +* notification on membership acceptance, closes #7835 (1a2a381a) +* additional events logged for various group actions (1ce33faa) +* async (e6353486) +* async/await controllers/admin/dashboard (32ea04a8) +* async/await admin/controllers (72590b34) +* async/await (7beef91c) +* async/await refactor (3cc7ec63) +* async/await controllers/accounts (a3541d88) +* rewrite getRawPost to async/await (b734defb) +* added new filter hook filter:post.getRawPost (973075cf) +* convert categories controller to async/await (e9fd49e2) +* new client-side hooks for chat minimize and close (3d3fa865) +* test psql without defineProperty (#7815) (af1f7249) +* fire updateRemainingLength hook for chats (af968c6a) +* send pids into filter:post.getFields hook (0e07ffa1) +* move cache tpl (65fc0612) +* async refactor (3a9d83a4) +* move group privs above user, add labels (47e30a67) +* widgets/index.js (dec8040c) +* use promise version (4d6b6871) +* #7743, meta/dependencies (1c2540d3) +* #7743, widgets/admin (96ebe7b5) +* #7743, meta/languages and languages (c02686bf) +* added filter:tags.getAll plugin hook (66aa443b) +* #7743, events (102d4b02) +* #7743 meta/errors (97d7a850) +* get rid of async.eachSeries (99cf47ee) +* #7743 meta/tags.js (7b908639) +* #7743 meta/templates.js (79eed9ae) +* #7743 navigation (764a2b12) +* #7743 account/posts controller (e72f3e4f) +* #7743 finish topics controller (9b3f4b98) +* #7743, webserver (0d047f4e) +* #7743 meta/themes.js (7dc0eaf0) +* #7743, meta/sounds (a15c50bf) +* #7743 , meta/cachebuster, meta/configs (7f72181e) +* convert src/messaging/* to async/await (#7778) (756a717e) +* #7743 meta/blacklist (fcf8fd51) +* #7743 meta/index (69860e58) +* #7743 plugins (c126cd85) +* #7743 plugins/data (f5f5f76b) +* dont waste whitespace (17f843f9) +* switch to promise.all (34d85b52) +* #7743, privileges (faccb191) +* #7743 , search.js (6d3a92b8) +* shorter name (8e75646a) +* cache group:members for priv groups (daed76d5) +* #7743 finish groups (72def7df) +* #7743, groups/index, invite, leave,membership (a39ca51e) +* #7743,groups/index,join (d5342a40) +* #7743, groups/delete,ownership,posts,user (fcd4445a) +* #7743 groups/cover,create,data (5e8614e1) +* #7743, finish post module (c0c6c652) +* #7743 posts/diff, posts/edit (c4bb467e) +* #7743, posts module (1b2b308a) +* #7743, finish user module (a51ec591) +* #7743 (6fea46b6) +* #7743 (cd80c263) +* #7743 (0a690c57) +* #7743 (1c5fad6d) +* #7743 (fe4c0481) +* #7743 categories (fcf3e077) +* #7743, user/digest, user/email, user/follow (c610eb14) +* #7743, user/create, user/data, user/delete (d6e36c31) +* #7743 , user/block, user/categories (4541caa4) +* #7743 notifications (6f738c2b) +* remove unused code, add 2 tests (cd2e68cb) +* #7743 user/ban, up mubsub (1970214a) +* #7743, user/approval, user/auth (b24ce976) +* #7743, posts/votes (8ef75be3) +* #7743 posts (e1ecc36d) +* #7743 user/admin.js (2c335955) +* add utils.promiseParallel (4170abfd) +* #7743, posts/user.js (0a6cfb37) +* added new admin option newbiePostEditDuration (#7737) (8a6a58ee) +* returning category data in tags page (75ff4d7d) +* ACP analytics API route (#7725) (a0c0ef1b) +* closes #7718 (ee4d78ca) +* add status to post summaries (41bc6ca2) +* use arrow functions (3100d803) +* ability to sort watched topics, closes #3735 (f24c14d7) +* use fewer system resources to draw the progress bar (d0ee312c) +* removed series from upgrade script (23fb904f) +* remove duped zadds, these are already in topics.onNewPostMade (cb51c239) +* log data on error (f8a7cf73) +* cleanup, use bulk (198d0587) +* #7707, added sortedSetAddBulk (3ecd703e) +* change widget-* to data-widget-* (#7703) (13efbc99) +* shorter setsCard (3780a58f) +* show best & latest posts on profile (b53a60c2) +* use db.sortedSetsAdd (7e54d7aa) +* use db.sortedSetsAdd (29a124c4) +* dont log action:plugins.fireHook (a7600b4b) +* upgrade to connect-mongo 3.0.0, closes #7693 (ebfc369a) +* add hook for user notifications, closes #7672 (ede060a6) +* user/notifications refactor (580f7860) +* send new post/topic event in batches (8c331088) +* allowing count to be passed to ./nodebb events (f6d3cc0e) +* awaitable websockets (#7645) (aee47b29) +* hooks can now return promise or call callbacks (a6436716) +* fallback strings for ACP events (99120676) +* design revamp of ACP events page (#7664) (c7f95cce) +* optimize group rename (48538b28) +* allow multiple scores in sortedSetsAdd (31ccc860) +* optimize copy privileges (0dca13e9) +* on category search reveal children and parents (0721bee1) +* async3 upgrade (#7639) (4d9bc30d) +* #7627, close chat on ajaxify on mobile (6cebc7f0) +* update meta tags on ajaxify (#7580), fixes #7544 (a41769e6) + +##### Bug Fixes + +* **deps:** + * update dependency mongodb to v3.3.4 (#8032) (2093418d) + * update dependency nodebb-theme-vanilla to v11.1.10 (c01699f7) + * update dependency nodebb-theme-persona to v10.1.27 (182397b1) + * update dependency nodebb-plugin-spam-be-gone to v0.6.7 (#8027) (c2565a2f) + * update dependency nodebb-theme-slick to v1.2.27 (#8020) (7122bdc7) + * update dependency nodebb-theme-persona to v10.1.26 (#8019) (73d9752e) + * update dependency connect-mongo to v3.1.2 (#8013) (bfea9d39) + * update dependency postcss to v7.0.21 (#7998) (ef5f6714) + * update dependency nodebb-plugin-composer-default to v6.3.17 (#8009) (e1e2d20c) + * update dependency sharp to v0.23.2 (#8005) (420f9fe4) + * update dependency nodebb-theme-persona to v10.1.25 (#8012) (cb91e756) + * update dependency connect-mongo to v3.1.1 (#8006) (7655265c) + * update dependency connect-mongo to v3.1.0 (#7994) (401d1eed) + * bump persona (6155c460) + * update dependency nodebb-theme-persona to v10.1.23 (#7986) (9bd6f686) + * update dependency nodebb-theme-persona to v10.1.22 (#7965) (bf6ae6d6) + * update dependency nodebb-rewards-essentials to v0.1.2 (#7962) (692d94bf) + * update dependency nodebb-theme-persona to v10.1.21 (#7956) (1a150d8f) + * update dependency nodebb-plugin-spam-be-gone to v0.6.6 (#7944) (cffbb325) + * update dependency nodebb-theme-persona to v10.1.20 (#7943) (9589fa32) + * update dependency nodebb-theme-persona to v10.1.19 (#7942) (0d629f06) + * update dependency connect-redis to v4.0.3 (#7933) (2856333d) + * update dependency spider-detector to v2 (310039e8) + * update socket.io packages to v2.3.0 (764ed7f8) + * update dependency sharp to v0.23.1 (#7928) (17437897) + * update dependency nodebb-plugin-dbsearch to v4.0.6 (#7918) (44cd7189) + * update dependency nodebb-plugin-composer-default to v6.3.16 (#7917) (d8fe6e42) + * update dependency nodebb-plugin-composer-default to v6.3.15 (#7916) (c5e5e24b) + * update dependency nodebb-plugin-composer-default to v6.3.14 (#7914) (e18392ab) + * update dependency nodebb-theme-persona to v10.1.18 (#7906) (8ed80bcb) + * update dependency nodebb-rewards-essentials to v0.1.1 (#7905) (5b8bb3e4) + * update dependency connect-redis to v4 (#7869) (8b7f6566) + * update dependency nodebb-plugin-mentions to v2.7.3 (#7899) (b2423bae) + * update dependency nodebb-plugin-mentions to v2.7.2 (#7898) (a3120a62) + * update dependency nodebb-plugin-dbsearch to v4.0.5 (#7896) (106c20e2) + * update dependency nodebb-plugin-composer-default to v6.3.13 (#7895) (fa251ece) + * update dependency nodebb-plugin-mentions to v2.7.1 (8c2fc577) + * update dependency nodebb-plugin-composer-default to v6.3.12 (#7889) (429e124f) + * update dependency nodebb-plugin-composer-default to v6.3.11 (#7888) (516b62ea) + * update dependency nodebb-plugin-composer-default to v6.3.10 (6a4a9e26) + * update dependency nodebb-plugin-dbsearch to v4.0.4 (#7883) (12ba589d) + * update dependency postcss to v7.0.18 (c75f3d27) + * update dependency nodebb-theme-persona to v10.1.17 (317c6771) + * update dependency nodebb-theme-vanilla to v11.1.8 (6e9caddc) + * update dependency nodebb-plugin-composer-default to v6.3.9 (effe3989) + * update dependency nodebb-plugin-mentions to v2.7.0 (b69769bb) + * update dependency benchpressjs to v2 (#7876) (9149db1f) + * update dependency nodebb-plugin-composer-default to v6.3.8 (793c5eaa) + * update dependency nodebb-plugin-composer-default to v6.3.7 (57de99d2) + * update dependency mongodb to v3.3.2 (#7871) (4ee2c090) + * update dependency nodebb-plugin-spam-be-gone to v0.6.5 (#7865) (8ce2a5fc) + * update dependency mongodb to v3.3.1 (#7862) (0dfce49f) + * update dependency connect-pg-simple to v6 [security] (#7864) (e4b5d0b4) + * update dependency nodebb-plugin-mentions to v2.6.1 (a1210985) + * update dependency nodebb-plugin-mentions to v2.6.0 (cdccc646) + * update dependency rimraf to v3 (#7843) (2f02edbc) + * update dependency rimraf to v2.7.1 (#7838) (cf2504f8) + * update dependency nodebb-theme-persona to v10.1.16 (#7848) (ca7ba9be) + * update dependency nodebb-theme-persona to v10.1.15 (#7845) (b1c0beb7) + * update dependency nodebb-theme-persona to v10.1.14 (#7837) (661284cf) + * update dependency nodebb-theme-persona to v10.1.13 (eaea6f63) + * update dependency sitemap to v4 (d3d677da) + * update dependency commander to v3 (7a5dbd9f) + * update dependency mongodb to v3.3.0 (360e172e) + * update dependency nodebb-plugin-markdown to v8.10.4 (61f9be99) + * update dependency nodebb-plugin-markdown to v8.10.3 (d860f8c7) + * update dependency sharp to v0.23.0 (#7806) (2258452c) + * update dependency nodebb-theme-persona to v10.1.12 (#7799) (b9aac424) + * update dependency nodebb-plugin-dbsearch to v4 (#7797) (d98313b5) + * update dependency nodebb-plugin-dbsearch to v3.0.8 (#7796) (ef734b62) + * update dependency nodebb-theme-persona to v10.1.11 (8b1fc5c8) + * update dependency nodebb-theme-vanilla to v11.1.7 (ba1bb528) + * update dependency nodebb-theme-vanilla to v11.1.6 (#7784) (7a88c4cc) + * update dependency nodebb-theme-slick to v1.2.26 (#7782) (e074b0bf) + * update dependency nodebb-theme-persona to v10.1.10 (#7781) (4f20b4d3) + * update dependency nodebb-plugin-composer-default to v6.3.6 (3fdc638b) + * update dependency connect-redis to v3.4.2 (8a11193f) + * update dependency nodebb-plugin-mentions to v2.5.4 (45223cde) + * update dependency nodebb-plugin-markdown to v8.10.2 (86546232) + * update dependency nodebb-theme-persona to v10.1.9 (#7759) (c1660a1a) + * update dependency nodebb-plugin-dbsearch to v3.0.7 (#7758) (efedd621) + * update dependency nodebb-plugin-composer-default to v6.3.5 (7f4b1043) + * update dependency nodebb-theme-vanilla to v11.1.5 (#7756) (15e01d12) + * update dependency nodebb-theme-persona to v10.1.8 (#7755) (19679608) + * update dependency nodebb-theme-persona to v10.1.7 (#7754) (3cb6cfe8) + * update dependency nodebb-plugin-composer-default to v6.3.3 (8394a0fd) + * update dependency nodebb-theme-vanilla to v11.1.4 (#7741) (43ce5f8a) + * update dependency nodebb-theme-persona to v10.1.5 (27da2325) + * update dependency validator to v11.1.0 (#7738) (bd09ba92) + * bump composer-default (851424a7) + * update dependency nodebb-theme-persona to v10.1.4 (f426e105) + * update dependency nodebb-plugin-composer-default to v6.2.16 (#7723) (fb087029) + * update dependency nodebb-theme-persona to v10.1.3 (413259a2) + * update dependency nodebb-theme-lavender to v5.0.11 (#7705) (208c821e) + * update dependency nodebb-theme-vanilla to v11.1.3 (#7714) (e0b2ae8d) + * update dependency nodebb-theme-slick to v1.2.25 (#7713) (af7ecd2f) + * update dependency nodebb-theme-persona to v10.1.2 (#7712) (e5733f40) + * update dependency nodebb-plugin-mentions to v2.5.3 (26ff02dc) + * update dependency nodebb-theme-persona to v10.1.1 (4e513cf3) + * update dependency nodebb-theme-vanilla to v11.1.2 (c2887505) + * update dependency nodebb-theme-vanilla to v11.1.1 (#7700) (b3ed89f5) + * update dependency nodebb-theme-slick to v1.2.24 (#7699) (629b5ce3) + * update to eslint@6 (289dada5) + * update dependency nodebb-plugin-emoji to v3 (15020b46) + * update dependency nodebb-plugin-emoji to v3 (6b43d26f) + * update dependency nodebb-theme-persona to v10.1.0 (fc89516e) + * update dependency nodebb-theme-vanilla to v11.1.0 (c9689f11) + * update dependency nodebb-theme-persona to v10.0.1 (#7687) (ada8f22e) + * update dependency nodebb-theme-vanilla to v11.0.1 (#7688) (6db3604e) + * update dependency nodebb-theme-vanilla to v11 (89fea9d3) + * update dependency nodebb-theme-persona to v10 (0a7778bd) + * update dependency nodebb-theme-lavender to v5.0.10 (#7682) (e1e4abeb) + * update dependency nodebb-plugin-markdown to v8.10.0 (de046297) + * update dependency postcss to v7.0.17 (ae891390) + * update dependency nodebb-rewards-essentials to v0.0.14 (#7671) (3f4f8afa) + * update dependency mongodb to v3.2.7 (#7665) (988cbb63) + * update dependency nodebb-plugin-composer-default to v6.2.15 (e21246a9) + * update dependency nodebb-theme-persona to v9.1.38 (#7652) (d202be5b) + * update dependency nodebb-theme-vanilla to v10.1.34 (#7653) (e3308659) + * update dependency nodebb-theme-vanilla to v10.1.33 (#7651) (6f70397b) + * update dependency nodebb-theme-persona to v9.1.37 (#7650) (d43bdb41) + * update dependency async to v3.0.1 (#7649) (3b8e6e15) + * update dependency mongodb to v3.2.6 (#7616) (3f21096d) + * update dependency validator to v11 (a3d42404) + * update dependency nodebb-plugin-composer-default to v6.2.14 (#7635) (b174c2d2) + * update dependency nodebb-theme-vanilla to v10.1.32 (#7631) (85ca5b19) + * update dependency nodebb-plugin-composer-default to v6.2.13 (d1f29e26) + * update dependency nodebb-plugin-spam-be-gone to v0.6.3 (#7614) (20fa751c) +* crash if post doesn't have topic data (eabc6f47) +* don't touch objects that don't have the required fields (e52ecfaf) +* add missing await to sendValidationEmail (f4381ba3) +* #8007 added tfoot to clear new group button (dee1d447) +* tests (e3c9dafa) +* #8018, allow absolute urls in notification.path (0037a038) +* #8010, fix isBanned call (59242d31) +* #8003, check children recursively (c4e58160) +* dont show delete topics on unread (b91c4790) +* #8000, tweak wording; password reset success (3952849f) +* parseInt cutoff (0e5e47f4) +* lint (4b8897d9) +* convert param to string in slugify (441dd86d) +* cli/reset.js (#7979) (f9f85fc4) +* #7977, fix undefined url (#7978) (95a372df) +* passwords always expiring upon login (ddf3812c) +* #7974 (#7976) (ca3be1f3) +* delete follower/followingCount as well (d72b0d16) +* event tests (0da4f7ee) +* #7958, give rewards one by one (3775301f) +* rewards page acp not loading rewards (88818a5b) +* #7929, use fixed bootswatch (dd202931) +* #7960, dont try to save size for non images (f272daaf) +* #7941, validate some input fields (565f9726) +* don't show deleted topics on unread (661a0f50) +* #7951, don't send notification for system messages (c01b0fbd) +* #7953, allow icon only group badges (5b458fc7) +* remove 0 fields (ac4a5004) +* remove unused data from post/topic/user hashes (75bcb0f4) +* groups not visible on widget panes (205d3f9d) +* new nav items will show group select (c5f7b66c) +* move post and change owner (f402d727) +* 404 on new groups with spaces (b19f0a68) +* #7940, run upgrade scripts on startup (7823144b) +* #7949, delete old user notifs (38322ec3) +* tests (6fb29e84) +* check threshold before setting bookmark (f983f536) +* mongo collection stats (4e28e575) +* #7947, disable unused cookie (91e8e390) +* #7945, show watched categories in ignored categories (c9bf6d0f) +* db.init calls (18bf865d) +* #7938, escape username in registration queue (d5dda26f) +* #7901, handle group names that are translation keys (3455c27a) +* fix the order of groups on user profile (41f8da2e) +* #7935, ACP digest wording (54c9f877) +* #7934, return tids (10f168b8) +* tests (3caa387a) +* tests (9c051386) +* remove jquery (95ab0712) +* picture not showing up in change modal (13c87059) +* profile page meta tags getting escaped twice (7effc892) +* missing await (2150701f) +* potential for XSS here (40f131a6) +* account/categories (7a0f6074) +* redis tests (1f054c7e) +* #7921, dont create wrong entries in db for flag (a651d154) +* #7913, dont allow urls in fullname/location, validate birthday (babb9d7c) +* upgrade scripts (bd026cb1) +* only allow png/jpg/bmp in cover/profile images (96ab8d05) +* #7919, add useUnifiedTopology (910b9b88) +* crash in feed (873ec519) +* lang key (795d4183) +* time cutoff and lang string (5b8550f0) +* returned data (87f6ac59) +* dont send all category data back to recent&unread etc (955e00fd) +* #7912 (ecf39727) +* only return necessary data for categories (307abaa8) +* dont crash if callback is undefined (e0fec866) +* #7800, dont crash on resize (781b3f1a) +* change params (de461968) +* remove dupe code (9b151b23) +* #7894, translate log in to view (2a5fe2b8) +* minor typo (b99279a8) +* #7893, check private upload setting (0843497d) +* #7892, handle string 'true'/'false' (77cb4b55) +* dont show deleted topics in digest (4652c68b) +* #7824, update timeago settings on userlanguage change (3887fc67) +* don't move theme/plugin to top if its already active (acd95764) +* #7853, dissociation on post purge (30a86ed5) +* added comment back (0c4cd840) +* inability for plugins to actually alter parser sanitization config (fe452762) +* htmlentity instead of url encoding for room rename system message (9b8ac89e) +* page count for filters (e291a609) +* #7866, show correct title based on digest interval (547bb496) +* #7780 (21e81f96) +* pinned tids showing on page > 1 (f2912e9f) +* #7860, allow running single upgrade scripts from plugins (a4dec7e3) +* reset should not automatically build assets (a67762bc) +* update morgan and lodash (2b1912a9) +* #7842, groups.invite works with an array of uids (1e0190ab) +* #7844, add uid to events, log plugin install/uninstall events (592d9c82) +* removed console.logs (c44bf48c) +* broken tests from 71b205a889da1ee8dd326b0891d122a522084f54 (f736f0b3) +* typo (c6c13725) +* category description getting translated in ACP (647713f3) +* #7791 (71620519) +* #7831, fix pagination (014e3153) +* remove empty line (292bbe34) +* remove useless catchs and empty line (5fce4558) +* #7823, fix topic move readding pids when topic is deleted (fd5f9822) +* #7826, fix order of categories on recent dropdown (3ecac97d) +* redis pubsub not being required correctly (8d4f2086) +* mongo.close using wrong client (186321e6) +* digest not sending topics (bc6f22eb) +* #7816, adding GDPR and TOU interstitials earlier on route reloading (52a2e5d6) +* #7809, dont check postDelay if submitting from queue (9780f5b9) +* newPostEditDuration (2abe244b) +* #7789 (6a289fba) +* #7798, fix nested post selection (666e0eaf) +* #7788, fix on topic move and new post (8bf40d04) +* #7788, fix another edge case (053ff510) +* topicData passed to action:topic.edit (b10ad7b6) +* derpy catch (ce912886) +* #7788 No new posts (#7793) (3c32d860) +* user urls in subfolder install (6a486e35) +* #7765 (0b498acd) +* tests (87552c55) +* revert requires (3dd806dc) +* #7763, parse about me on all profile pages (f8d34101) +* status and groupTitle, if its not set (e2e33dfb) +* don't return promise (2f0a331f) +* socket.io methods calling callbacks twice if method returns promise (44a33520) +* tests (87b1148f) +* tests (930ffd07) +* #7601 removed check for another user when sending messages (0e8ee31b) +* mongodb tests (3b24de4c) +* getTopicsFromSet (13aaf07b) +* #7762, allow array for isBanned (9eb1fcd4) +* add flag for change post owner (46639be3) +* sitemap ajaxify (9f78bd7a) +* #7751, make necro separator a partial (2b70e86f) +* #7748, if reputation system is disabled, dont check min reputation (7b95ebbb) +* remove left over code, use proper names (0ac49d63) +* compatibility conditional (fba67196) +* private upload img replacement should happen before img wrapping (16aae517) +* #7423 private uploads are linked to login page, for guests (49e3a368) +* typo (f3440ebf) +* #7722, hsts deprecation warnings (8b1dadb7) +* upgrade script #7720 (accf48f3) +* indents (a5de54f8) +* remove debug code that should not have made it in (af17c6e3) +* dont display post tools if there are no options (708df46e) +* output span in buildAvatar helper instead of div (69fae1a7) +* restore uid in teasers userObj (67b8cb89) +* dont allow edit if post is deleted by someone else (667bc67f) +* dont show delete posts on profile (e48c7cd7) +* on new post add it to cid::uid::pids (6a7bc1c5) +* #5570, create per category user post zsets (a39f0ef5) +* restrict drag drop to pin icon, closes #7702 (e1c05e59) +* remove dupe code (68e5d7ad) +* get uids directly for csv (39ee3980) +* typo (a251032f) +* id/for (b4cc8d88) +* #7659 add option to change cookie link url (25ea6347) +* middle vertical-align for .avatar elements (1894cd9b) +* dependency checker always triggering dep upgrade, hopefully (c241551d) +* #7483, show latest undeleted message as teaser (644504ff) +* #7567, allow invite and approval at the same time (4b843ba1) +* #7625, on group rename update nav/widget items (5b85ed31) +* psql error (8d319e42) +* try to fix psql :dog: (2e6b562f) +* no need for moderate bit for global mods and admins (8aef689f) +* attribute name so it works for both templates (ebb32e78) +* #7647, fix getModeratorUids (64679b37) +* #7644 (5cd9e1bf) +* bad usage of async requisition (603c5262) +* 7638, returnTo accidentally saved into user hash (f321b426) +* #7634, make strip exif configurable (157b921e) +* #7636, use reputation threshold for post queue (a8409fbd) +* #7623, wait for lastonline to update on /users (63e5d383) +* https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/53 (e65ddc98) +* #7593, unable to set account password if no password set (80c0d579) +* incorrect pathname format for app.previousUrl (a97e97b9) +* #7598, use notice element instead of alert (106d52a4) +* #7620, allow adding new fields into user objects for posts (a8e65205) +* #7629, new filter hook for room rename (7ba4a864) +* #7628, log email send errors (7a4b68e8) +* {username} not working in notification.tpl (f55cc667) +* do not prevent nbb from starting (3b0459a0) +* #7624, default open state on stateless flags (91f0bce6) +* #7431, add /unread link to topic route (15391da5) +* #7619 (35d10f76) +* #7618 save pathname into app.previousUrl ins. of entire url (7e5cb72a) +* handle missing timestamps (172e6888) +* broken test for meta tags on ajaxify (b70e03a7) +* #7613 (15ce23da) +* #7600, removing nbsp from email CTAs (#7606) (f552cea5) +* #7604 shortened CTA text and added custom text for some notifs (#7605) (b32da57f) +* **style:** + * requiring parens in block bodies (29f96b19) + * updated code to follow new eslint recommendations (09212309) + +##### Refactors + +* use arrow function (6b3eb014) +* async/await (02d38caf) +* remove log, topics.exists (f8c8038a) +* async/await (dc8d721c) +* async/await mongo (1f0c6f3d) +* async/await socket.io/index (603908c1) +* async/await image.js (c5ffd8cc) +* remove var (05e753c7) +* async/await flags.js (ac6eb31c) +* async/await flags (0ced71be) +* shorter map (572bc297) +* remove logs (03971049) +* dont modify key (7e7ea7a6) +* remove logs (e32a5546) +* async/await flags (9ee1a882) +* shorter, new Date doesnt throw (625b0815) +* remove temp var (b842057f) +* async/await file (f9d6912b) +* async/await analytics (223c108c) +* change to const (5505628c) +* returned fields (86b16629) +* async/await emailer (63bd3fc5) +* async/await routes/feeds (ec3b5dd9) +* async/await rewards (b110aec6) +* async/await socket.io (a7d2b8a1) +* async/await (52b2d670) +* async/await (75d7ae92) +* async/await socket.io/topics (5c2afe5e) +* async/await controllers/user.js (3c6c40b1) +* async/await uploads (5c0266d8) +* move tos parsing to /tos (3e2ed21d) +* remove commented out code (ec98945a) +* async/await controllers/authentication (b9105ef9) +* remove async from isPasswordValid, function is sync (22f80116) +* make categories.buildForSelectCategories non async (6cda3698) +* remove dupe code (a4d84a66) +* async/await socket.io/posts (e93ef0d7) +* async/await socket.io/admin (88dfbf21) +* socket.io/admin/categories async/await (71e50bbf) +* admin groups.join socket async/await (4588a4fd) +* password async/await (dd8386d9) +* sitemap to async/await (0164e51f) +* remove hook assign (d3727207) +* async/await users (f9a804e0) +* remove empty line (19b63bfa) +* remove vars (69333f59) +* async/await controllers (2c4f0446) +* async/await controllers/tags (53624885) +* async/await (f15c7f12) +* globalmods/groups (0722cc47) +* controllers/category.js (bd8736db) +* use arrow func (27c27b49) +* async/await controllers/api (4eaa630b) +* async/await admin/controllers (6f375482) +* async/await, remove dupe code for homepage routes (c9250a01) +* async/await for src/socket.io/groups.js (71b205a8) +* rewrote SocketPosts.getRawPost in await style (08530bb3) +* replace avatar conditional code with buildAvatar helper (#7681) (25238899) + +##### Reverts + +* accidental removal of some needed translation source strings (868dedd1) + #### 1.12.2 (2019-05-15) ##### Chores From 83ba2e234b96d89ad16a4e09536cdb2f5b2aa3c4 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Thu, 14 Nov 2019 09:28:53 +0000 Subject: [PATCH 03/76] Latest translations and fallbacks --- public/language/cs/admin/manage/digest.json | 6 +++--- public/language/cs/email.json | 2 +- public/language/zh-CN/admin/manage/digest.json | 12 ++++++------ public/language/zh-CN/admin/menu.json | 2 +- public/language/zh-CN/email.json | 2 +- public/language/zh-CN/error.json | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/public/language/cs/admin/manage/digest.json b/public/language/cs/admin/manage/digest.json index a1fb88efa1..0d61a87368 100644 --- a/public/language/cs/admin/manage/digest.json +++ b/public/language/cs/admin/manage/digest.json @@ -1,13 +1,13 @@ { "lead": "Statistický seznam odeslaných přehledů spolu s časy je zobrazen níže.", - "disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.", - "disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as SendGrid.", + "disclaimer": "Vezměte prosím na vědomí, že kvůli charakteru e-mailové technologie není zaručeno doručení e-mailu. Mnoho proměnných ovlivňuje, zda je e-mail odeslán na server příjemce, z něj doručen do doručené pošty uživatele, včetně reputace samotného serveru, IP adres na černé listině a zda je nakonfigurováno správně DKIM / SPF / DMARC.", + "disclaimer-continued": "Úspěšné doručení zprávy znamená, že byla úspěšně odeslána NodeBB a potvrzena serverem příjemce. Ovšem to neznamená, že e-mail byl doručen do doručené pošty uživatele. Pro dosažení nejlepších výsledků doporučujeme použít službu doručování e-mailů třetích stran, například SendGrid.", "user": "Uživatel", "subscription": "Typ odběru", "last-delivery": "Poslední úspěšné doručení", "default": "Výchozí systémové", - "default-help": "System default means the user has not explicitly overridden the global forum setting for digests, which is currently: "%1"", + "default-help": "Výchozí systémové znamená, že uživatel nemůže přenastavit celkové nastavení pravidel na fóru pro odesílání přehledů, které je momentálně%1", "resend": "Znovu odeslat přehled", "resend-all-confirm": "Jste si jist/a, že chcete ručně spustit odeslání přehledu", "resent-single": "Manuální znovu poslání přehledu bylo dokončeno", diff --git a/public/language/cs/email.json b/public/language/cs/email.json index a7f4c7ba55..85a7b847be 100644 --- a/public/language/cs/email.json +++ b/public/language/cs/email.json @@ -8,7 +8,7 @@ "email.verify-your-email.subject": "Ověřte prosím vaší e-mailovou adresu", "email.verify.text1": "Vaše e-mailová adresa byla změněna.", "welcome.text1": "Děkujeme vám za registraci na %1!", - "welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaši e-mailovou adresu.", + "welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaši e-mailovou adresu.", "welcome.text3": "Administrátor právě potvrdil vaší registraci. Nyní se můžete přihlásit jménem a heslem.", "welcome.cta": "Pro potvrzení vaší e-mailové adresy, klikněte zde", "invitation.text1": "%1 vás pozval, abyste se připojil k %2", diff --git a/public/language/zh-CN/admin/manage/digest.json b/public/language/zh-CN/admin/manage/digest.json index 38eebdd716..45b1639ff7 100644 --- a/public/language/zh-CN/admin/manage/digest.json +++ b/public/language/zh-CN/admin/manage/digest.json @@ -1,20 +1,20 @@ { - "lead": "A listing of digest delivery stats and times is displayed below.", + "lead": "以下是摘要发送状态及时间列表", "disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.", "disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as SendGrid.", "user": "用户", - "subscription": "Subscription Type", - "last-delivery": "Last successful delivery", + "subscription": "订阅类型", + "last-delivery": "上次成功通知", "default": "系统默认", "default-help": "System default means the user has not explicitly overridden the global forum setting for digests, which is currently: "%1"", - "resend": "Resend Digest", + "resend": "重发摘要", "resend-all-confirm": "Are you sure you wish to mnually execute this digest run?", - "resent-single": "Manual digest resend completed", + "resent-single": "摘要重发操作完成", "resent-day": "Daily digest resent", "resent-week": "Weekly digest resent", "resent-month": "Monthly digest resent", - "null": "Never", + "null": "从不", "manual-run": "Manual digest run:", "no-delivery-data": "No delivery data found" diff --git a/public/language/zh-CN/admin/menu.json b/public/language/zh-CN/admin/menu.json index 7306b9c753..87a02ebb11 100644 --- a/public/language/zh-CN/admin/menu.json +++ b/public/language/zh-CN/admin/menu.json @@ -18,7 +18,7 @@ "manage/groups": "群组", "manage/ip-blacklist": "IP 黑名单", "manage/uploads": "上传", - "manage/digest": "Digests", + "manage/digest": "摘要", "section-settings": "设置", "settings/general": "通用", diff --git a/public/language/zh-CN/email.json b/public/language/zh-CN/email.json index f1dcfc36e7..1a358b08fa 100644 --- a/public/language/zh-CN/email.json +++ b/public/language/zh-CN/email.json @@ -43,7 +43,7 @@ "test.text1": "这是一封测试邮件,用来验证 NodeBB 的邮件配置是否设置正确。", "unsub.cta": "点击这里修改这些设置", "unsubscribe": "退订", - "unsub.success": "You will no longer receive emails from the %1 mailing list", + "unsub.success": "你将不再从%1邮寄名单接受邮件", "banned.subject": "您已被封禁从 %1", "banned.text1": "用户 %1 已被封禁从 %2.", "banned.text2": "封禁将持续到 %1.", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 549991493e..3d02c5048f 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -33,7 +33,7 @@ "email-confirm-failed": "我们无法确认您的电子邮箱,请重试", "confirm-email-already-sent": "确认邮件已发出,如需重新发送请等待 %1 分钟后再试。", "sendmail-not-found": "无法找到 sendmail 可执行程序,请确保 sendmail 已经安装并可被运行 NodeBB 的用户执行", - "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", + "digest-not-enabled": "此用户未开启摘要通知,或系统配置默认不发送摘要", "username-too-short": "用户名太短", "username-too-long": "用户名太长", "password-too-long": "密码太长", From 6c404b81fbccb10167425c6b7b2b89f94cb233c5 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Thu, 14 Nov 2019 11:25:35 -0500 Subject: [PATCH 04/76] fix: use the correct attribute name for widgets --- public/src/widgets.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/src/widgets.js b/public/src/widgets.js index 2ce59becb0..152ba80c6d 100644 --- a/public/src/widgets.js +++ b/public/src/widgets.js @@ -24,17 +24,17 @@ }); if (location === 'footer' && !$('#content [widget-area="footer"],#content [data-widget-area="footer"]').length) { - $('#content').append($('
')); + $('#content').append($('
')); } else if (location === 'sidebar' && !$('#content [widget-area="sidebar"],#content [data-widget-area="sidebar"]').length) { if ($('[component="account/cover"]').length) { - $('[component="account/cover"]').nextAll().wrapAll($('
')); + $('[component="account/cover"]').nextAll().wrapAll($('
')); } else if ($('[component="groups/cover"]').length) { - $('[component="groups/cover"]').nextAll().wrapAll($('
')); + $('[component="groups/cover"]').nextAll().wrapAll($('
')); } else { - $('#content > *').wrapAll($('
')); + $('#content > *').wrapAll($('
')); } } else if (location === 'header' && !$('#content [widget-area="header"],#content [data-widget-area="header"]').length) { - $('#content').prepend($('
')); + $('#content').prepend($('
')); } area = $('#content [widget-area="' + location + '"],#content [data-widget-area="' + location + '"]').eq(0); From 2eb8c05e4b00712bfde462b4cf40f6805814452e Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 15 Nov 2019 09:28:31 +0000 Subject: [PATCH 05/76] Latest translations and fallbacks --- public/language/he/user.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/language/he/user.json b/public/language/he/user.json index db3a470983..52877f1892 100644 --- a/public/language/he/user.json +++ b/public/language/he/user.json @@ -25,8 +25,8 @@ "profile_views": "צפיות בפרופיל", "reputation": "מוניטין", "bookmarks": "מועדפים", - "watched_categories": "Watched categories", - "change_all": "Change All", + "watched_categories": "קטגוריות במעקב", + "change_all": "שנה הכל", "watched": "נצפה", "ignored": "התעלם", "default-category-watch-state": "Default category watch state", From 1eca5b3dae3fb8de0a518cfefd95b20f37542d00 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 15 Nov 2019 13:19:29 -0500 Subject: [PATCH 06/76] fix: show login fields if user has local password --- src/middleware/user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/middleware/user.js b/src/middleware/user.js index 141c574d5e..b12872bd67 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -237,7 +237,7 @@ module.exports = function (middleware) { if (res.locals.isAPI) { res.status(401).json({}); } else { - res.redirect(nconf.get('relative_path') + '/login'); + res.redirect(nconf.get('relative_path') + '/login?local=1'); } }, ], next); From a25452048507b673fd936a55d4db02c33fec22d7 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 15 Nov 2019 14:09:10 -0500 Subject: [PATCH 07/76] fix: serialize --- src/meta/configs.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/meta/configs.js b/src/meta/configs.js index 0973501ca9..036dc7f74e 100644 --- a/src/meta/configs.js +++ b/src/meta/configs.js @@ -138,6 +138,7 @@ Configs.setMultiple = async function (data) { Configs.setOnEmpty = async function (values) { const data = await db.getObject('config'); + values = serialize(values); const config = { ...values, ...(data ? serialize(data) : {}) }; await db.setObject('config', config); }; From efd1e88bbf5f90ab83ab42afc519748dfee66e37 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 15 Nov 2019 14:24:24 -0500 Subject: [PATCH 08/76] feat: convert middleware.isAdmin to async/await --- src/middleware/user.js | 73 ++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 39 deletions(-) diff --git a/src/middleware/user.js b/src/middleware/user.js index b12872bd67..a8854d938a 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -198,49 +198,44 @@ module.exports = function (middleware) { ], next); }; - middleware.isAdmin = function isAdmin(req, res, next) { - async.waterfall([ - function (next) { - user.isAdministrator(req.uid, next); - }, - function (isAdmin, next) { - if (!isAdmin) { - return controllers.helpers.notAllowed(req, res); - } - user.hasPassword(req.uid, next); - }, - function (hasPassword, next) { - if (!hasPassword) { - return next(); - } + middleware.isAdmin = async function isAdmin(req, res, next) { + const isAdmin = await user.isAdministrator(req.uid); + if (!isAdmin) { + controllers.helpers.notAllowed(req, res); + return; + } + const hasPassword = await user.hasPassword(req.uid); + if (!hasPassword) { + next(); + return; + } - var loginTime = req.session.meta ? req.session.meta.datetime : 0; - var adminReloginDuration = meta.config.adminReloginDuration * 60000; - var disabled = meta.config.adminReloginDuration === 0; - if (disabled || (loginTime && parseInt(loginTime, 10) > Date.now() - adminReloginDuration)) { - var timeLeft = parseInt(loginTime, 10) - (Date.now() - adminReloginDuration); - if (req.session.meta && timeLeft < Math.min(300000, adminReloginDuration)) { - req.session.meta.datetime += Math.min(300000, adminReloginDuration); - } + const loginTime = req.session.meta ? req.session.meta.datetime : 0; + const adminReloginDuration = meta.config.adminReloginDuration * 60000; + const disabled = meta.config.adminReloginDuration === 0; + if (disabled || (loginTime && parseInt(loginTime, 10) > Date.now() - adminReloginDuration)) { + const timeLeft = parseInt(loginTime, 10) - (Date.now() - adminReloginDuration); + if (req.session.meta && timeLeft < Math.min(300000, adminReloginDuration)) { + req.session.meta.datetime += Math.min(300000, adminReloginDuration); + } - return next(); - } + next(); + return; + } - var returnTo = req.path; - if (nconf.get('relative_path')) { - returnTo = req.path.replace(new RegExp('^' + nconf.get('relative_path')), ''); - } - returnTo = returnTo.replace(/^\/api/, ''); + let returnTo = req.path; + if (nconf.get('relative_path')) { + returnTo = req.path.replace(new RegExp('^' + nconf.get('relative_path')), ''); + } + returnTo = returnTo.replace(/^\/api/, ''); - req.session.returnTo = returnTo; - req.session.forceLogin = 1; - if (res.locals.isAPI) { - res.status(401).json({}); - } else { - res.redirect(nconf.get('relative_path') + '/login?local=1'); - } - }, - ], next); + req.session.returnTo = returnTo; + req.session.forceLogin = 1; + if (res.locals.isAPI) { + res.status(401).json({}); + } else { + res.redirect(nconf.get('relative_path') + '/login?local=1'); + } }; middleware.requireUser = function (req, res, next) { From 1e2e16b4bb233b84e0ace11639989eb77a487183 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2019 14:26:52 -0500 Subject: [PATCH 09/76] fix(deps): update dependency nodebb-plugin-dbsearch to v4.0.7 (#8038) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index b2f7bc45cf..f50b4c3e1d 100644 --- a/install/package.json +++ b/install/package.json @@ -80,7 +80,7 @@ "mubsub-nbb": "^1.5.1", "nconf": "^0.10.0", "nodebb-plugin-composer-default": "6.3.17", - "nodebb-plugin-dbsearch": "4.0.6", + "nodebb-plugin-dbsearch": "4.0.7", "nodebb-plugin-emoji": "^3.0.0", "nodebb-plugin-emoji-android": "2.0.0", "nodebb-plugin-markdown": "8.10.4", From cec007957301080ebb9a35df2c784e66c29e24d4 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 15 Nov 2019 14:27:45 -0500 Subject: [PATCH 10/76] refactor: shorter returns --- src/middleware/user.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/middleware/user.js b/src/middleware/user.js index a8854d938a..000991a9c8 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -201,13 +201,11 @@ module.exports = function (middleware) { middleware.isAdmin = async function isAdmin(req, res, next) { const isAdmin = await user.isAdministrator(req.uid); if (!isAdmin) { - controllers.helpers.notAllowed(req, res); - return; + return controllers.helpers.notAllowed(req, res); } const hasPassword = await user.hasPassword(req.uid); if (!hasPassword) { - next(); - return; + return next(); } const loginTime = req.session.meta ? req.session.meta.datetime : 0; @@ -219,8 +217,7 @@ module.exports = function (middleware) { req.session.meta.datetime += Math.min(300000, adminReloginDuration); } - next(); - return; + return next(); } let returnTo = req.path; From 0a96c923006b6d22bdedf427ae64d0a3cf63c521 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Fri, 15 Nov 2019 15:27:02 -0500 Subject: [PATCH 11/76] fix: #8034 --- src/controllers/users.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/controllers/users.js b/src/controllers/users.js index 358dcd2c5c..e6cbffaaf8 100644 --- a/src/controllers/users.js +++ b/src/controllers/users.js @@ -138,8 +138,9 @@ usersController.getUsers = async function (set, uid, query) { const start = Math.max(0, page - 1) * resultsPerPage; const stop = start + resultsPerPage - 1; - const [isAdminOrGlobalMod, canSearch, usersData] = await Promise.all([ - user.isAdminOrGlobalMod(uid), + const [isAdmin, isGlobalMod, canSearch, usersData] = await Promise.all([ + user.isAdministrator(uid), + user.isGlobalModerator(uid), privileges.global.can('search:users', uid), usersController.getUsersAndCount(set, uid, start, stop), ]); @@ -150,7 +151,9 @@ usersController.getUsers = async function (set, uid, query) { userCount: usersData.count, title: setToData[set].title || '[[pages:users/latest]]', breadcrumbs: helpers.buildBreadcrumbs(breadcrumbs), - isAdminOrGlobalMod: isAdminOrGlobalMod, + isAdminOrGlobalMod: isAdmin || isGlobalMod, + isAdmin: isAdmin, + isGlobalMod: isGlobalMod, displayUserSearch: canSearch, ['section_' + (query.section || 'joindate')]: true, }; @@ -181,8 +184,12 @@ async function render(req, res, data) { data.maximumInvites = meta.config.maximumInvites; data.inviteOnly = registrationType === 'invite-only' || registrationType === 'admin-invite-only'; data.adminInviteOnly = registrationType === 'admin-invite-only'; - data['reputation:disabled'] = meta.config['reputation:disabled']; data.invites = await user.getInvitesNumber(req.uid); + data.showInviteButton = req.loggedIn && ( + (registrationType === 'invite-only' && (!data.maximumInvites || data.invites < data.maximumInvites)) || + (registrationType === 'admin-invite-only' && data.isAdmin) + ); + data['reputation:disabled'] = meta.config['reputation:disabled']; res.append('X-Total-Count', data.userCount); res.render('users', data); From 6c87bed5f61e3e7ba09c4333c40699b7e36e6a2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2019 15:32:55 -0500 Subject: [PATCH 12/76] fix(deps): update dependency nodebb-theme-persona to v10.1.28 (#8039) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index f50b4c3e1d..d763b72d00 100644 --- a/install/package.json +++ b/install/package.json @@ -89,7 +89,7 @@ "nodebb-plugin-spam-be-gone": "0.6.7", "nodebb-rewards-essentials": "0.1.2", "nodebb-theme-lavender": "5.0.11", - "nodebb-theme-persona": "10.1.27", + "nodebb-theme-persona": "10.1.28", "nodebb-theme-slick": "1.2.27", "nodebb-theme-vanilla": "11.1.10", "nodebb-widget-essentials": "4.0.17", From d567c4ae220248008fbef1f2120a4fc2ce30373e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2019 15:34:22 -0500 Subject: [PATCH 13/76] fix(deps): update dependency nodebb-theme-vanilla to v11.1.11 (#8040) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index d763b72d00..a7e27d5b4d 100644 --- a/install/package.json +++ b/install/package.json @@ -91,7 +91,7 @@ "nodebb-theme-lavender": "5.0.11", "nodebb-theme-persona": "10.1.28", "nodebb-theme-slick": "1.2.27", - "nodebb-theme-vanilla": "11.1.10", + "nodebb-theme-vanilla": "11.1.11", "nodebb-widget-essentials": "4.0.17", "nodemailer": "^6.0.0", "passport": "^0.4.0", From b3511f71e0d943c20ea63bd473ff4a537fc42d22 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2019 11:34:10 -0500 Subject: [PATCH 14/76] fix(deps): update dependency nodebb-theme-slick to v1.2.28 (#8041) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index a7e27d5b4d..1fad4d9f04 100644 --- a/install/package.json +++ b/install/package.json @@ -90,7 +90,7 @@ "nodebb-rewards-essentials": "0.1.2", "nodebb-theme-lavender": "5.0.11", "nodebb-theme-persona": "10.1.28", - "nodebb-theme-slick": "1.2.27", + "nodebb-theme-slick": "1.2.28", "nodebb-theme-vanilla": "11.1.11", "nodebb-widget-essentials": "4.0.17", "nodemailer": "^6.0.0", From 0efe27b1f20c8d6f55feae08974e4a170723da37 Mon Sep 17 00:00:00 2001 From: Opliko <25460763+oplik0@users.noreply.github.com> Date: Mon, 18 Nov 2019 19:07:05 +0100 Subject: [PATCH 15/76] fix: make _csrf a secure cookie if the website is using https (#8045) * Make _csrf a secure cookie if the website is using https * fix style for TravsCI * Add `url_parsed` to databasemock --- src/middleware/index.js | 6 +++++- test/mocks/databasemock.js | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/middleware/index.js b/src/middleware/index.js index fedd035ad3..9722c42690 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -32,7 +32,11 @@ middleware.regexes = { }; middleware.applyCSRF = csrf({ - cookie: true, + cookie: nconf.get('url_parsed').protocol === 'https:' ? { + secure: true, + sameSite: 'Strict', + httpOnly: true, + } : true, }); middleware.ensureLoggedIn = ensureLoggedIn.ensureLoggedIn(nconf.get('relative_path') + '/login'); diff --git a/test/mocks/databasemock.js b/test/mocks/databasemock.js index 6536af0d63..4e26093aa8 100644 --- a/test/mocks/databasemock.js +++ b/test/mocks/databasemock.js @@ -119,6 +119,7 @@ before(async function () { // Parse out the relative_url and other goodies from the configured URL const urlObject = url.parse(nconf.get('url')); const relativePath = urlObject.pathname !== '/' ? urlObject.pathname : ''; + nconf.set('url_parsed', urlObject); nconf.set('base_url', urlObject.protocol + '//' + urlObject.host); nconf.set('secure', urlObject.protocol === 'https:'); nconf.set('use_port', !!urlObject.port); From 0002c3f499b32099e80df5d293ce337c25488678 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Tue, 19 Nov 2019 09:28:41 +0000 Subject: [PATCH 16/76] Latest translations and fallbacks --- public/language/fi/admin/general/social.json | 2 +- public/language/fi/admin/settings/email.json | 8 +- public/language/fi/category.json | 26 ++-- public/language/fi/email.json | 46 +++---- public/language/fi/error.json | 36 ++--- public/language/fi/global.json | 56 ++++---- public/language/fi/groups.json | 80 +++++------ public/language/fi/login.json | 10 +- public/language/fi/notifications.json | 68 ++++----- public/language/fi/pages.json | 58 ++++---- public/language/fi/recent.json | 4 +- public/language/fi/register.json | 16 +-- public/language/fi/reset_password.json | 4 +- public/language/fi/search.json | 32 ++--- public/language/fi/success.json | 2 +- public/language/fi/tags.json | 2 +- public/language/fi/topic.json | 138 +++++++++---------- public/language/fi/unread.json | 12 +- public/language/fi/uploads.json | 14 +- public/language/fi/user.json | 88 ++++++------ public/language/fi/users.json | 22 +-- 21 files changed, 362 insertions(+), 362 deletions(-) diff --git a/public/language/fi/admin/general/social.json b/public/language/fi/admin/general/social.json index 23aedfcfaa..2d6c8e5690 100644 --- a/public/language/fi/admin/general/social.json +++ b/public/language/fi/admin/general/social.json @@ -1,5 +1,5 @@ { - "post-sharing": "Post Sharing", + "post-sharing": "Viestin jakaminen", "info-plugins-additional": "Plugins can add additional networks for sharing posts.", "save-success": "Successfully saved Post Sharing Networks!" } \ No newline at end of file diff --git a/public/language/fi/admin/settings/email.json b/public/language/fi/admin/settings/email.json index cfdcc04a5b..f5f6b879cd 100644 --- a/public/language/fi/admin/settings/email.json +++ b/public/language/fi/admin/settings/email.json @@ -1,6 +1,6 @@ { - "email-settings": "Email Settings", - "address": "Email Address", + "email-settings": "Sähköpostin asetukset", + "address": "Sähköpostiosoitteet", "address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.", "from": "From Name", "from-help": "The from name to display in the email.", @@ -33,8 +33,8 @@ "testing.select": "Select Email Template", "testing.send": "Send Test Email", "testing.send-help": "The test email will be sent to the currently logged in user's email address.", - "subscriptions": "Email Digests", - "subscriptions.disable": "Disable email digests", + "subscriptions": "Sähköposti koosteet", + "subscriptions.disable": "Poista sähköpostin koosteet käytöstä", "subscriptions.hour": "Digest Hour", "subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. 0 for midnight, 17 for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.
The approximate server time is:
The next daily digest is scheduled to be sent " } \ No newline at end of file diff --git a/public/language/fi/category.json b/public/language/fi/category.json index 3f3b596cab..f5d7c41eb9 100644 --- a/public/language/fi/category.json +++ b/public/language/fi/category.json @@ -1,22 +1,22 @@ { "category": "Kategoria", - "subcategories": "Subcategories", + "subcategories": "Alikategoria", "new_topic_button": "Uusi aihe", "guest-login-post": "Kirjaudu sisään voidaksesi kirjoittaa viesti", "no_topics": "Tässä kategoriassa ei ole yhtään aihetta.
Miksi et aloittaisi uutta?", "browsing": "selaamassa", "no_replies": "Kukaan ei ole vastannut", - "no_new_posts": "No new posts.", - "watch": "Watch", + "no_new_posts": "Ei uusia viestejä", + "watch": "Seuraa", "ignore": "Sivuuta", - "watching": "Watching", - "not-watching": "Not Watching", - "ignoring": "Ignoring", - "watching.description": "Show topics in unread and recent", - "not-watching.description": "Do not show topics in unread, show in recent", - "ignoring.description": "Do not show topics in unread and recent", - "watching.message": "You are now watching updates from this category and all subcategories", - "notwatching.message": "You are not watching updates from this category and all subcategories", - "ignoring.message": "You are now ignoring updates from this category and all subcategories", - "watched-categories": "Watched categories" + "watching": "Seurataan", + "not-watching": "Älä seuraa", + "ignoring": "Ohita", + "watching.description": "Näytä aiheet lukemattomissa ja viimeisimmissä", + "not-watching.description": "Älä näytä aiheita lukemattomissa, näytä viimeisimmissä", + "ignoring.description": "Älä näytä aiheita lukemattomissa ja viimeisimmissä", + "watching.message": "Seuraat nyt päivityksiä tästä kategoriasta ja kaikista alikategorioista", + "notwatching.message": "Et seuraa päivityksiää tästä kategoriasta tai alikategorioista", + "ignoring.message": "Ohitat kaikki päivitykset tästä kategoriasta ja kaikista alikategorioista", + "watched-categories": "Seuratut kategoriat" } \ No newline at end of file diff --git a/public/language/fi/email.json b/public/language/fi/email.json index b2f8bb74f5..c38b6e9ef1 100644 --- a/public/language/fi/email.json +++ b/public/language/fi/email.json @@ -1,19 +1,19 @@ { - "test-email.subject": "Test Email", - "password-reset-requested": "Password Reset Requested!", + "test-email.subject": "Testisähköposti", + "password-reset-requested": "Salasanan nollaus pyydetty!", "welcome-to": "%1 - Tervetuloa", "invite": "Kutsu henkilöltä %1", "greeting_no_name": "Hei", "greeting_with_name": "Hei %1", - "email.verify-your-email.subject": "Please verify your email", - "email.verify.text1": "Your email address has changed!", + "email.verify-your-email.subject": "Tarkista sähköpostisi", + "email.verify.text1": "Sähköpostiosoitteesi on muutettu!", "welcome.text1": "Kiitos rekisteröitymisestäsi sivustolle %1!", "welcome.text2": "Meidän täytyy varmistaa, että omistat sen sähköpostiosoitteen, jolla rekisteröidyit, ennen kuin tilisi voidaan aktivoida kokonaan.", "welcome.text3": "Ylläpitäjä hyväksyi rekisteröintipyyntösi. Voit nyt kirjautua käyttäjänimelläsi ja salasanallasi.", "welcome.cta": "Napsauta tästä vahvistaaksesi sähköpostiosoitteesi", "invitation.text1": "%1 pyysi sinua liittymään %2", - "invitation.text2": "Your invitation will expire in %1 days.", - "invitation.cta": "Click here to create your account.", + "invitation.text2": "Kutsusi vanhenee %1 päivässä.", + "invitation.cta": "Luo tili täältä", "reset.text1": "Saimme pyynnön vaihtaa salasanasi, todennäkösesti koska olit unohtanut sen. Jos näin ei ollut käynyt, voit jättää tämän viestin huomiotta.", "reset.text2": "Jatkaaksesi salasanan nollausta, napsauta seuraavaa linkkiä:", "reset.cta": "Napsauta tästä vaihtaaksesi salasanasi", @@ -22,31 +22,31 @@ "reset.notify.text2": "Jos et tunnista tätä toimintoa, ilmoita välittömästi ylläpitäjälle.", "digest.latest_topics": "Viimeisimmät viestiketjut henkilöltä %1", "digest.cta": "Click here to visit %1", - "digest.unsub.info": "This digest was sent to you due to your subscription settings.", + "digest.unsub.info": "Tämä kooste lähetettiin sinulle tilin tilausasetusten perusteella", "digest.day": "päivä", "digest.week": "viikko", "digest.month": "kuukausi", - "digest.subject": "Digest for %1", - "digest.title.day": "Your Daily Digest", - "digest.title.week": "Your Weekly Digest", - "digest.title.month": "Your Monthly Digest", + "digest.subject": "Koosteesi %1", + "digest.title.day": "Päivittäinen koosteesi", + "digest.title.week": "Viikottainen koosteesi", + "digest.title.month": "Kuukausittainen koosteesi", "notif.chat.subject": "Uusi chatviesti henkilöltä %1", - "notif.chat.cta": "Click here to continue the conversation", - "notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.", - "notif.post.unsub.info": "This post notification was sent to you due to your subscription settings.", + "notif.chat.cta": "Klikkaa tästä jatkaaksesi keskustelua", + "notif.chat.unsub.info": "Tämä keskustelun ilmoitus on lähetettty viestiasetuksiesi johdosta", + "notif.post.unsub.info": "Tämä ilmoitus viestistä lähetettiin sinulle viestiasetuksistasi johtuen", "notif.post.unsub.one-click": "Alternatively, unsubscribe from future emails like this, by clicking", - "notif.cta": "To the forum", - "notif.cta-new-reply": "View Post", - "notif.cta-new-chat": "View Chat", - "notif.test.short": "Testing Notifications", + "notif.cta": "Foorumille", + "notif.cta-new-reply": "Katso viesti", + "notif.cta-new-chat": "Katso keskustelu", + "notif.test.short": "Testi ilmoitus", "notif.test.long": "This is a test of the notifications email. Send help!", - "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", - "unsub.cta": "Click here to alter those settings", - "unsubscribe": "unsubscribe", - "unsub.success": "You will no longer receive emails from the %1 mailing list", + "test.text1": "Tämä on testi sähköposti, jolla voit testata, että sähköpostin asetukset ovat oikein NodeBB:ssä", + "unsub.cta": "Muuta asetuksia täältä", + "unsubscribe": "Lopeta tilaus", + "unsub.success": "Sinut on poistettu %1 postituslistalta", "banned.subject": "You have been banned from %1", "banned.text1": "The user %1 has been banned from %2.", "banned.text2": "This ban will last until %1.", "banned.text3": "This is the reason why you have been banned:", - "closing": "Thanks!" + "closing": "Kiitos!" } \ No newline at end of file diff --git a/public/language/fi/error.json b/public/language/fi/error.json index 92852a0ecd..f924371193 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -3,24 +3,24 @@ "invalid-json": "Invalid JSON", "not-logged-in": "Et taida olla kirjautuneena sisään.", "account-locked": "Käyttäjätilisi on lukittu väliaikaisesti", - "search-requires-login": "Searching requires an account - please login or register.", - "goback": "Press back to return to the previous page", + "search-requires-login": "Haku vaatii tunnukset. Kirjaudu sisään tai luo tunnus.", + "goback": "Paina \"Takaisin\"-nappia palataksesi takaisin edelliselle sivulle.", "invalid-cid": "Virheellinen kategorian ID", "invalid-tid": "Virheellinen aiheen ID", "invalid-pid": "Virheellinen viestin ID", "invalid-uid": "Virheellinen käyttäjän ID", "invalid-username": "Virheellinen käyttäjänimi", "invalid-email": "Virheellinen sähköpostiosoite", - "invalid-fullname": "Invalid Fullname", - "invalid-location": "Invalid Location", - "invalid-birthday": "Invalid Birthday", - "invalid-title": "Invalid title", + "invalid-fullname": "Kokonimi on virheellinen", + "invalid-location": "Virheellinen sijainti", + "invalid-birthday": "Virheellinen syntymäpäivä", + "invalid-title": "Virheellinen otsikko", "invalid-user-data": "Virheellinen käyttäjätieto", "invalid-password": "Virheellinen salasana", - "invalid-login-credentials": "Invalid login credentials", + "invalid-login-credentials": "Virheelliset kirjautumistiedot", "invalid-username-or-password": "Ole hyvä ja anna sekä käyttäjänimi että salasana", "invalid-search-term": "Virheellinen hakutermi", - "invalid-url": "Invalid URL", + "invalid-url": "Virheellinen URL-osoite", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", @@ -36,8 +36,8 @@ "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Käyttäjänimi on liian lyhyt", "username-too-long": "Käyttäjänimi on liian pitkä", - "password-too-long": "Password too long", - "reset-rate-limited": "Too many password reset requests (rate limited)", + "password-too-long": "Salasana on liian pitkä", + "reset-rate-limited": "Liian monta salasanan nollaus pyyntöä (määrärajoitus)", "user-banned": "Käyttäjä on estetty", "user-banned-reason": "Sorry, this account has been banned (Reason: %1)", "user-banned-reason-until": "Sorry, this account has been banned until %1 (Reason: %2)", @@ -105,10 +105,10 @@ "group-already-requested": "Your membership request has already been submitted", "group-join-disabled": "You are not able to join this group at this time", "group-leave-disabled": "You are not able to leave this group at this time", - "post-already-deleted": "This post has already been deleted", - "post-already-restored": "This post has already been restored", - "topic-already-deleted": "This topic has already been deleted", - "topic-already-restored": "This topic has already been restored", + "post-already-deleted": "Tämä viesti on jo poistettu", + "post-already-restored": "Tämä viesti on jo palautettu", + "topic-already-deleted": "Tämä aihe on jo poistettu", + "topic-already-restored": "Tämä aihe on jo palautettu", "cant-purge-main-post": "You can't purge the main post, please delete the topic instead", "topic-thumbnails-are-disabled": "Aiheiden kuvakkeet eivät ole käytössä", "invalid-file": "Virheellinen tiedosto", @@ -141,10 +141,10 @@ "already-flagged": "You have already flagged this post", "self-vote": "You cannot vote on your own post", "reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.", - "registration-error": "Registration Error", + "registration-error": "Virhe rekisteröinnissä", "parse-error": "Something went wrong while parsing server response", - "wrong-login-type-email": "Please use your email to login", - "wrong-login-type-username": "Please use your username to login", + "wrong-login-type-email": "Käytä sähköpostiosoitettasi kirjautuaksesi sisään", + "wrong-login-type-username": "Käytä tunnusta kirjautuaksesi sisään", "sso-registration-disabled": "Registration has been disabled for %1 accounts, please register with an email address first", "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", "invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).", @@ -155,7 +155,7 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!", + "no-topics-selected": "Ei aiheita valittuna", "cant-move-to-same-topic": "Can't move post to same topic!", "cannot-block-self": "You cannot block yourself!", "cannot-block-privileged": "You cannot block administrators or global moderators", diff --git a/public/language/fi/global.json b/public/language/fi/global.json index 4198015644..c579ca7683 100644 --- a/public/language/fi/global.json +++ b/public/language/fi/global.json @@ -7,10 +7,10 @@ "403.login": "Sinun pitäisi kai kirjautua sisään?", "404.title": "Ei löydy", "404.message": "Olet päätynyt sivulle, jota ei ole olemassa. Palaa etusivulle.", - "500.title": "Internal Error.", + "500.title": "Palvelinvirhe", "500.message": "Oho! Jotain meni pieleen!", "400.title": "Bad Request.", - "400.message": "It looks like this link is malformed, please double-check and try again. Otherwise, return to the home page.", + "400.message": "Näyttää siltä, että linkki on virheellinen. Tarkista vielä linkin muoton ja yritä uudestaan. Muusa tapauksessa palaa takaisin kotisivulle", "register": "Rekisteröidy", "login": "Kirjaudu", "please_log_in": "Kirjaudu, ole hyvä", @@ -19,13 +19,13 @@ "welcome_back": "Tervetuloa takaisin", "you_have_successfully_logged_in": "Olet onnistuneesti kirjautunut sisään", "save_changes": "Tallenna muutokset", - "save": "Save", + "save": "Tallenna", "close": "Sulje", "pagination": "Sivutus", "pagination.out_of": "%1/%2", "pagination.enter_index": "Syötä indeksi", "header.admin": "Ylläpitäjä", - "header.categories": "Categories", + "header.categories": "Kategoriat", "header.recent": "Viimeisimmät", "header.unread": "Lukemattomat", "header.tags": "Tagit", @@ -51,19 +51,19 @@ "users": "Käyttäjät", "topics": "Aiheet", "posts": "Viestit", - "best": "Best", - "votes": "Votes", - "upvoters": "Upvoters", - "upvoted": "Upvoted", + "best": "Paras", + "votes": "Ääniä", + "upvoters": "Tykkääjät", + "upvoted": "Tykätyt", "downvoters": "Downvoters", "downvoted": "Downvoted", "views": "Katsottu", "reputation": "Maine", - "lastpost": "Last post", - "firstpost": "First post", + "lastpost": "Viimeisin viesti", + "firstpost": "Ensimmäinen viesti", "read_more": "lue lisää", - "more": "More", - "posted_ago_by_guest": "posted %1 by Guest", + "more": "Lisää", + "posted_ago_by_guest": "Vierailija lähettänyt %1", "posted_ago_by": "posted %1 by %2", "posted_ago": "lähetetty %1", "posted_in": "posted in %1", @@ -72,44 +72,44 @@ "posted_in_ago_by": "posted in %1 %2 by %3", "user_posted_ago": "%1 lähetti %2", "guest_posted_ago": "Vieras kirjoitti %1", - "last_edited_by": "last edited by %1", + "last_edited_by": "Viimeksi muokannut %1", "norecentposts": "Ei viimeaikaisia viestejä", "norecenttopics": "Ei viimeaikaisia aiheita", "recentposts": "Viimeisimmät viestit", "recentips": "Äskettäin kirjautuneet IP-osoitteet", - "moderator_tools": "Moderator Tools", + "moderator_tools": "Ylläpidon työkalut", "online": "Online", "away": "Poissa", - "dnd": "Do not disturb", + "dnd": "Älä häiritse", "invisible": "Näkymätön", "offline": "Offline", "email": "Sähköposti", "language": "Kieli", "guest": "Vieras", "guests": "Vieraat", - "former_user": "A Former User", + "former_user": "Entinen käyttäjä", "updated.title": "Foorumi päivitetty", "updated.message": "Tämä foorumi on juuri päivitetty uusimpaan versioon. Paina tästä päivittääksesi sivun.", "privacy": "Yksityisyys", "follow": "Seuraa", "unfollow": "Älä seuraa", "delete_all": "Poista kaikki", - "map": "Map", + "map": "Kartta", "sessions": "Login Sessions", - "ip_address": "IP Address", - "enter_page_number": "Enter page number", - "upload_file": "Upload file", - "upload": "Upload", - "uploads": "Uploads", - "allowed-file-types": "Allowed file types are %1", - "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?", - "reconnecting-message": "Looks like your connection to %1 was lost, please wait while we try to reconnect.", - "play": "Play", + "ip_address": "IP osoite", + "enter_page_number": "Syötä sivunumero", + "upload_file": "Lähetä tiedosto", + "upload": "Lähetä", + "uploads": "Lähetykset", + "allowed-file-types": "Sallitut tiedostotyypit ovat %1", + "unsaved-changes": "Sinulla on tallentamatotmia muutoksia. Oletko varma, että haluat siirtyä pois näkymästä?", + "reconnecting-message": "Näyttää siltä, että yhteys %1 palveluun katosi. Odotas hetki kun yritän yhdistää.", + "play": "Toista", "cookies.message": "This website uses cookies to ensure you get the best experience on our website.", "cookies.accept": "Got it!", "cookies.learn_more": "Learn More", - "edited": "Edited", + "edited": "Muokattu", "disabled": "Disabled", - "select": "Select", + "select": "Valitse", "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/fi/groups.json b/public/language/fi/groups.json index 01dc3a0f72..8c2ce2daa2 100644 --- a/public/language/fi/groups.json +++ b/public/language/fi/groups.json @@ -1,13 +1,13 @@ { "groups": "Ryhmät", - "view_group": "View Group", + "view_group": "Tarkaste ryhmää", "owner": "Ryhmän omistaja", "new_group": "Luo uusi ryhmä", "no_groups_found": "Ei ryhmiä", - "pending.accept": "Accept", - "pending.reject": "Reject", - "pending.accept_all": "Accept All", - "pending.reject_all": "Reject All", + "pending.accept": "Hyväksy", + "pending.reject": "Hylkää", + "pending.accept_all": "Hyväksy kaikki", + "pending.reject_all": "Hylkää kaikki", "pending.none": "There are no pending members at this time", "invited.none": "There are no invited members at this time", "invited.uninvite": "Rescind Invitation", @@ -19,45 +19,45 @@ "cover-saving": "Tallennetaan", "details.title": "Ryhmän tiedot", "details.members": "Jäsenluettelo", - "details.pending": "Pending Members", - "details.invited": "Invited Members", - "details.has_no_posts": "This group's members have not made any posts.", + "details.pending": "Odottavat jäsenet", + "details.invited": "Kutsutut jäsenet", + "details.has_no_posts": "Tämän ryhmän jäsenet eivät ole luoneet vielä yhtään viestiä.", "details.latest_posts": "Uusimmat viestit", - "details.private": "Private", - "details.disableJoinRequests": "Disable join requests", - "details.disableLeave": "Disallow users from leaving the group", + "details.private": "Yksityinen", + "details.disableJoinRequests": "Poista liittymispyynnöt", + "details.disableLeave": "Estä käyttäjiä poistumasta ryhmästä", "details.grant": "Grant/Rescind Ownership", "details.kick": "Potkaise", - "details.kick_confirm": "Are you sure you want to remove this member from the group?", - "details.add-member": "Add Member", - "details.owner_options": "Group Administration", - "details.group_name": "Group Name", - "details.member_count": "Member Count", - "details.creation_date": "Creation Date", - "details.description": "Description", - "details.badge_preview": "Badge Preview", - "details.change_icon": "Change Icon", - "details.change_label_colour": "Change Label Colour", - "details.change_text_colour": "Change Text Colour", - "details.badge_text": "Badge Text", - "details.userTitleEnabled": "Show Badge", - "details.private_help": "If enabled, joining of groups requires approval from a group owner", - "details.hidden": "Hidden", - "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", - "details.delete_group": "Delete Group", - "details.private_system_help": "Private groups is disabled at system level, this option does not do anything", - "event.updated": "Group details have been updated", - "event.deleted": "The group \"%1\" has been deleted", - "membership.accept-invitation": "Accept Invitation", - "membership.accept.notification_title": "You are now a member of %1", - "membership.invitation-pending": "Invitation Pending", - "membership.join-group": "Join Group", - "membership.leave-group": "Leave Group", - "membership.leave.notification_title": "%1 has left group %2", - "membership.reject": "Reject", - "new-group.group_name": "Group Name:", + "details.kick_confirm": "Oletko varma, että haluat poistaa käyttäjän ryhmästä?", + "details.add-member": "Lisää jäsen", + "details.owner_options": "Ryhmän ylläpito", + "details.group_name": "Ryhmän nimi", + "details.member_count": "Jäsenmäärä", + "details.creation_date": "Luontipäivämäärä", + "details.description": "Kuvaus", + "details.badge_preview": "Merkin esikatselu", + "details.change_icon": "Vaihda kuvake", + "details.change_label_colour": "Vaihda merkin väriä", + "details.change_text_colour": "Vaihda tekstin väriä", + "details.badge_text": "Merkin teksti", + "details.userTitleEnabled": "Näytä merkki", + "details.private_help": "Jos päällä, ryhmään liittyminen vaattii hyväksynnän ryhmän omistajalta.", + "details.hidden": "Piilotettu", + "details.hidden_help": "Jos päällä, niin ryhmä ei ole näkyvissä ryhmälistauksissa ja käyttäjät tulee lisätä ryhmään käsin.", + "details.delete_group": "Poista ryhmä", + "details.private_system_help": "Yksityiset ryhmät on poistettu käytöstä järjestelmän tasolla ja tämä valinta ei tee mitään.", + "event.updated": "Ryhmän tiedot on jo päivitetty", + "event.deleted": "Ryhmä \"%1\" on jo poistettu", + "membership.accept-invitation": "Hyväksy kutsu", + "membership.accept.notification_title": "Olet nyt %1 ryhmän jäsen", + "membership.invitation-pending": "Odottavat kutsut", + "membership.join-group": "Liity ryhmään", + "membership.leave-group": "Poistu ryhmästä", + "membership.leave.notification_title": "%1 on lähtenyt %2 ryhmästä", + "membership.reject": "Hylkää", + "new-group.group_name": "Ryhmän nimi", "upload-group-cover": "Upload group cover", "bulk-invite-instructions": "Enter a list of comma separated usernames to invite to this group", - "bulk-invite": "Bulk Invite", + "bulk-invite": "Massa kutsu", "remove_group_cover_confirm": "Are you sure you want to remove the cover picture?" } \ No newline at end of file diff --git a/public/language/fi/login.json b/public/language/fi/login.json index 7631447d06..301a2cb58b 100644 --- a/public/language/fi/login.json +++ b/public/language/fi/login.json @@ -1,12 +1,12 @@ { - "username-email": "Username / Email", - "username": "Username", - "email": "Email", + "username-email": "Käyttäjätunnus / Sähköposti", + "username": "Käyttäjätunnus", + "email": "Sähköposti", "remember_me": "Muista minut?", "forgot_password": "Unohditko salasanasi?", "alternative_logins": "Vaihtoehtoiset kirjautumistavat", - "failed_login_attempt": "Login Unsuccessful", + "failed_login_attempt": "Kirjautuminen epäonnistui", "login_successful": "Olet onnistuneesti kirjautunut sisään!", "dont_have_account": "Ei käyttäjätunnusta?", - "logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity" + "logged-out-due-to-inactivity": "Sinut on kirjattu ulos hallintapaneelista liian pitkän toimettomuuden takia." } \ No newline at end of file diff --git a/public/language/fi/notifications.json b/public/language/fi/notifications.json index 629bc9d74c..48e6140919 100644 --- a/public/language/fi/notifications.json +++ b/public/language/fi/notifications.json @@ -6,25 +6,25 @@ "back_to_home": "Palaa takaisin %1", "outgoing_link": "Ulkopuolinen linkki", "outgoing_link_message": "Olet nyt poistumassa %1", - "continue_to": "Continue to %1", - "return_to": "Return to %1", - "new_notification": "You have a new notification", + "continue_to": "Jatka %1", + "return_to": "Palaa %1", + "new_notification": "Sinulle ei ole uusia ilmoituksia", "you_have_unread_notifications": "Sinulla on lukemattomia ilmoituksia.", - "all": "All", - "topics": "Topics", - "replies": "Replies", - "chat": "Chats", - "follows": "Follows", - "upvote": "Upvotes", + "all": "Kaikki", + "topics": "Aiheet", + "replies": "Vastaukset", + "chat": "Keskustelut", + "follows": "Seuratut", + "upvote": "Tykkäykset", "new-flags": "New Flags", "my-flags": "Flags assigned to me", "bans": "Bans", "new_message_from": "Uusi viesti käyttäjältä %1", - "upvoted_your_post_in": "%1 has upvoted your post in %2.", - "upvoted_your_post_in_dual": "%1 and %2 have upvoted your post in %3.", - "upvoted_your_post_in_multiple": "%1 and %2 others have upvoted your post in %3.", - "moved_your_post": "%1 has moved your post to %2", - "moved_your_topic": "%1 has moved %2", + "upvoted_your_post_in": "%1 käyttäjä tykkäsi viestistäsi aiheessa %2 ", + "upvoted_your_post_in_dual": "%1 ja %2 tykkäsivät viestistäsi aiheesssa %3", + "upvoted_your_post_in_multiple": "%1 ja %2 muuta tykkäsivät viestistäsi aiheessa %3", + "moved_your_post": "%1 on siirtänyt viestisi %2", + "moved_your_topic": "%1 on siirtänyt %2 alueelle", "user_flagged_post_in": "%1 flagged a post in %2", "user_flagged_post_in_dual": "%1 and %2 flagged a post in %3", "user_flagged_post_in_multiple": "%1 and %2 others flagged a post in %3", @@ -32,33 +32,33 @@ "user_flagged_user_dual": "%1 and %2 flagged a user profile (%3)", "user_flagged_user_multiple": "%1 and %2 others flagged a user profile (%3)", "user_posted_to": "%1 on vastannut viestiin: %2", - "user_posted_to_dual": "%1 and %2 have posted replies to: %3", - "user_posted_to_multiple": "%1 and %2 others have posted replies to: %3", + "user_posted_to_dual": "%1 ja %2 ovat vastanneet viestiin: %3", + "user_posted_to_multiple": "%1 ja %2 muuta ovat vastanneet viestiin: %3 ", "user_posted_topic": "%1 on kirjoittanut uuden aiheen: %2", "user_started_following_you": "%1 alkoi seurata sinua.", - "user_started_following_you_dual": "%1 and %2 started following you.", - "user_started_following_you_multiple": "%1 and %2 others started following you.", - "new_register": "%1 sent a registration request.", - "new_register_multiple": "There are %1 registration requests awaiting review.", + "user_started_following_you_dual": "%1 ja %2 alkoivat seurata sinua", + "user_started_following_you_multiple": "%1 ja %2 muuta alkoivat seurata sinua", + "new_register": "%1 lähetti rekisteröitymispyynnön", + "new_register_multiple": "%1 rekisteröintipyyntöä odottaa katselmointia", "flag_assigned_to_you": "Flag %1 has been assigned to you", - "post_awaiting_review": "Post awaiting review", + "post_awaiting_review": "Viesti odottaa katselmointia", "email-confirmed": "Sähköpostiosoite 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-sent": "Vahvistussähköposti lähetetty.", - "none": "None", - "notification_only": "Notification Only", - "email_only": "Email Only", - "notification_and_email": "Notification & Email", - "notificationType_upvote": "When someone upvotes your post", - "notificationType_new-topic": "When someone you follow posts a topic", - "notificationType_new-reply": "When a new reply is posted in a topic you are watching", - "notificationType_follow": "When someone starts following you", - "notificationType_new-chat": "When you receive a chat message", - "notificationType_group-invite": "When you receive a group invite", - "notificationType_group-request-membership": "When someone requests to join a group you own", - "notificationType_new-register": "When someone gets added to registration queue", - "notificationType_post-queue": "When a new post is queued", + "none": "Ei mitään", + "notification_only": "Vain ilmoitukset", + "email_only": "Vain sähköposti", + "notification_and_email": "Ilmoitukset & Sähköposti", + "notificationType_upvote": "Kun joku tykkää viestistäsi", + "notificationType_new-topic": "Kun joku seuraa viestejäsi aiheessa", + "notificationType_new-reply": "Kun uusi vastaus on lähetetty aiheeseen, jota seuraat", + "notificationType_follow": "Kun joku alkaa seurata sinua", + "notificationType_new-chat": "Kun saat viestin keskusteluun", + "notificationType_group-invite": "Kun saat kutsun ryhmään", + "notificationType_group-request-membership": "Kun joku pyytää lupaa liittyä ryhmään, jonka omistaja olet", + "notificationType_new-register": "Kun joku lisätään rekisteröintijonoon", + "notificationType_post-queue": "Kun uusi viesti tulee jonoon", "notificationType_new-post-flag": "When a post is flagged", "notificationType_new-user-flag": "When a user is flagged" } \ No newline at end of file diff --git a/public/language/fi/pages.json b/public/language/fi/pages.json index 167428148b..f304200c54 100644 --- a/public/language/fi/pages.json +++ b/public/language/fi/pages.json @@ -6,59 +6,59 @@ "popular-month": "Suositut aiheet tässä kuussa", "popular-alltime": "Suositut aiheet koko ajalta", "recent": "Viimeisimmät aiheet", - "top-day": "Top voted topics today", - "top-week": "Top voted topics this week", - "top-month": "Top voted topics this month", - "top-alltime": "Top Voted Topics", - "moderator-tools": "Moderator Tools", + "top-day": "Eniten tykätyt aiheet tänään", + "top-week": "Eniten tykätyt aiheet tällä viikolla", + "top-month": "Eniten tykätyt aiheet tässä kuussa", + "top-alltime": "Eniten tykätyt aiheet", + "moderator-tools": "Ylläpidon työkalut", "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", "users/online": "Paikalla olevat käyttäjät", "users/latest": "Viimeisimmat käyttäjät", - "users/sort-posts": "Users with the most posts", - "users/sort-reputation": "Users with the most reputation", + "users/sort-posts": "Käyttäjät joilla eniten viestejä", + "users/sort-reputation": "Käyttäjät joilla paras maine", "users/banned": "Banned Users", "users/most-flags": "Most flagged users", - "users/search": "User Search", + "users/search": "Käyttäjähaku", "notifications": "Ilmoitukset", "tags": "Tunnisteet", "tag": "Topics tagged under "%1"", "register": "Luo käyttäjät", - "registration-complete": "Registration complete", + "registration-complete": "Rekisteröinti valmis", "login": "Kirjaudu käyttäjällesi", - "reset": "Reset your account password", - "categories": "Categories", - "groups": "Groups", - "group": "%1 group", + "reset": "Nollaa tunnuksesi salasana", + "categories": "Kategoriat", + "groups": "Ryhmät", + "group": "%1 ryhmä", "chats": "Keskustelut", - "chat": "Chatting with %1", + "chat": "Keskustelee %1 kanssa", "flags": "Flags", "flag-details": "Flag %1 Details", - "account/edit": "Editing \"%1\"", + "account/edit": "Muokkaa \"%1\"", "account/edit/password": "Editing password of \"%1\"", "account/edit/username": "Editing username of \"%1\"", "account/edit/email": "Editing email of \"%1\"", - "account/info": "Account Info", + "account/info": "Käyttäjätilin tiedot", "account/following": "Ihmiset, jota %1 seuraa", "account/followers": "Ihmiset, jotka seuraavat %1", "account/posts": "Posts made by %1", - "account/latest-posts": "Latest posts made by %1", - "account/topics": "Topics created by %1", - "account/groups": "%1's Groups", + "account/latest-posts": "%1 viimeisimmät viestit", + "account/topics": "%1 luomat aiheet", + "account/groups": "%1 ryhmät", "account/watched_categories": "%1's Watched Categories", "account/bookmarks": "%1's Bookmarked Posts", - "account/settings": "User Settings", - "account/watched": "Topics watched by %1", - "account/ignored": "Topics ignored by %1", - "account/upvoted": "Posts upvoted by %1", + "account/settings": "Käyttäjän asetukset", + "account/watched": "%1 seuraamat aiheet", + "account/ignored": "%1 sivuuttamat aiheet", + "account/upvoted": "%1 tykkäämät viestit", "account/downvoted": "Posts downvoted by %1", - "account/best": "Best posts made by %1", + "account/best": "%1 tekemät parhaat viestit", "account/blocks": "Blocked users for %1", - "account/uploads": "Uploads by %1", + "account/uploads": "%1 lähetykset", "account/sessions": "Login Sessions", - "confirm": "Email Confirmed", - "maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.", - "maintenance.messageIntro": "Additionally, the administrator has left this message:", - "throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time." + "confirm": "Sähköposti varmistettu", + "maintenance.text": "%1 sivustoa huolletaan parhaillaan. Tarkista sivusto hetken kuluttua uudestaan.", + "maintenance.messageIntro": "Lisäksi ylläpitäjä on jättänyt seuraavan viestin:", + "throttled.text": "%1 sivusto on tällähetkellä alhaalla johtuen liiasta kuormituksesta. Tule takaisin myöhemmin." } \ No newline at end of file diff --git a/public/language/fi/recent.json b/public/language/fi/recent.json index aed5a7a0fd..d7a3dfb5ce 100644 --- a/public/language/fi/recent.json +++ b/public/language/fi/recent.json @@ -6,14 +6,14 @@ "year": "Vuosi", "alltime": "Alusta lähtien", "no_recent_topics": "Ei viimeisimpiä aiheita.", - "no_popular_topics": "There are no popular topics.", + "no_popular_topics": "Ei päivityksiä suosituimmissa aiheissa", "there-is-a-new-topic": "Uusi aihe.", "there-is-a-new-topic-and-a-new-post": "Uusi aihe ja uusi viesti.", "there-is-a-new-topic-and-new-posts": "Uusi aihe ja %1 uutta viestiä.", "there-are-new-topics": "%1 uutta aihetta.", "there-are-new-topics-and-a-new-post": "%1 uutta aihetta ja uusi viesti.", "there-are-new-topics-and-new-posts": "%1 uutta aihetta ja %2 uutta viestiä.", - "there-is-a-new-post": "Uusi viesti.", + "there-is-a-new-post": "Ei uusia viestejä", "there-are-new-posts": "%1 uutta viestiä.", "click-here-to-reload": "Päivitä napsauttamalla tätä." } \ No newline at end of file diff --git a/public/language/fi/register.json b/public/language/fi/register.json index 60019c0c98..4b68b0ad6f 100644 --- a/public/language/fi/register.json +++ b/public/language/fi/register.json @@ -1,6 +1,6 @@ { "register": "Rekisteröidy", - "cancel_registration": "Cancel Registration", + "cancel_registration": "Peruuta rekisteröinti", "help.email": "Oletuksena sähköpostiosoitettasi ei näytetä muille.", "help.username_restrictions": "Yksilöllisen käyttäjätunnuksen pitää olla %1-%2 merkkiä pitkä. Toiset voivat mainita sinut @username.", "help.minimum_password_length": "Salasanasi pitää olla vähintään %1 merkin mittainen.", @@ -16,11 +16,11 @@ "alternative_registration": "Vaihtoehtoiset rekisteröitymistavat", "terms_of_use": "Käyttöehdot", "agree_to_terms_of_use": "Hyväksyn käyttöehdot", - "terms_of_use_error": "You must agree to the Terms of Use", - "registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator.", - "interstitial.intro": "We require some additional information before we can create your account.", - "interstitial.errors-found": "We could not complete your registration:", - "gdpr_agree_data": "I consent to the collection and processing of my personal information on this website.", - "gdpr_agree_email": "I consent to receive digest and notification emails from this website.", - "gdpr_consent_denied": "You must give consent to this site to collect/process your information, and to send you emails." + "terms_of_use_error": "Sinun täytyy hyväksyä sopimusehdot", + "registration-added-to-queue": "Rekisteröintisi on lisätty listalle odottamaan hyväksyntää. Saat ilmoituksen sähköpostiisi, kun ylläpitäjä on hyväksynyt rekisteröitymisesin.", + "interstitial.intro": "Sivusto vaatii lisätietoja ennenkuin voi luoda tunnuksen.", + "interstitial.errors-found": "Rekisteröitymisesi keskeytyi", + "gdpr_agree_data": "Annan hyväksyntäni henkilökohtaisten tietojen keräämiseen ja prosessointiin tälle verkkosivulle.", + "gdpr_agree_email": "Haluan vastaanottaa viestikoosteita ja ilmoituksia tältä verkkosivulta", + "gdpr_consent_denied": "Sinun täytyy antaa suostumus sivustolle, jotta se voi kerätä ja tallentaa tietosi ja lähettää sinulle tarvittaessa sähköpostia." } \ No newline at end of file diff --git a/public/language/fi/reset_password.json b/public/language/fi/reset_password.json index 45fad951c6..a3d8cf20e1 100644 --- a/public/language/fi/reset_password.json +++ b/public/language/fi/reset_password.json @@ -9,9 +9,9 @@ "repeat_password": "Vahvista salasana", "enter_email": "Syötä sähköpostiosoitteesi, niin me lähetämme sinulle sähköpostilla ohjeet käyttäjätilisi palauttamiseksi.", "enter_email_address": "Syötä sähköpostiosoite", - "password_reset_sent": "If the specified address corresponds to an existing user account, a password reset email was sent. Please note that only one email will be sent per minute.", + "password_reset_sent": "Salasanan nollaus viesti on lähetetty annettuun osoitteeseen, jos osoite löytyy järjestelmän kannasta. Huomaa, että on mahdollista lähettää vain yksi palautusviesti minuutissa.", "invalid_email": "Virheellinen sähköpostiosoite / Sähköpostiosoitetta ei ole olemassa!", "password_too_short": "Salasana on liian lyhyt, käytä pidempää salasanaa.", "passwords_do_not_match": "Salasana ja sen vahvistus eivät täsmää.", - "password_expired": "Your password has expired, please choose a new password" + "password_expired": "Salasanasi on vanhentunut. Luo uusi salasana." } \ No newline at end of file diff --git a/public/language/fi/search.json b/public/language/fi/search.json index 2428b84808..47bc243f81 100644 --- a/public/language/fi/search.json +++ b/public/language/fi/search.json @@ -1,23 +1,23 @@ { - "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", - "no-matches": "No matches found", - "advanced-search": "Advanced Search", + "results_matching": "%1 tulosta löytyi hakusanalla \"%2\" (%3 sekunnissa).", + "no-matches": "Ei hakuosumia", + "advanced-search": "Laajennettu haku", "in": "In", "titles": "Otsikot", "titles-posts": "Otsikot ja Viestit", "match-words": "Match words", - "all": "All", - "any": "Any", + "all": "Kaikki", + "any": "Mikä tahansa", "posted-by": "Kirjoittanut", - "in-categories": "In Categories", + "in-categories": "Kategorioissa", "search-child-categories": "Hae alikategorioista", - "has-tags": "Has tags", + "has-tags": "Sisältää tagit", "reply-count": "Vastausten määrä", "at-least": "Vähintään", "at-most": "Enintään", - "relevance": "Relevance", + "relevance": "Relevanssi", "post-time": "Julkaisuaika", - "votes": "Votes", + "votes": "Ääniä", "newer-than": "Uudemmat kuin", "older-than": "Vanhemmat kuin", "any-date": "Mikä tahansa päivä", @@ -31,7 +31,7 @@ "sort-by": "Lajitteluperuste", "last-reply-time": "Vastattu viimeksi", "topic-title": "Aiheen otsikko", - "topic-votes": "Topic votes", + "topic-votes": "Aiheiden äänet", "number-of-replies": "Vastausten määrä", "number-of-views": "Katselukertojen määrä", "topic-start-date": "Aiheen aloituspäivä", @@ -39,10 +39,10 @@ "category": "Kategoria", "descending": "Laskevassa järjestyksessä", "ascending": "Nousevassa järjestyksessä", - "save-preferences": "Save preferences", - "clear-preferences": "Clear preferences", - "search-preferences-saved": "Search preferences saved", - "search-preferences-cleared": "Search preferences cleared", - "show-results-as": "Show results as", - "see-more-results": "See more results (%1)" + "save-preferences": "Tallenna asetukset", + "clear-preferences": "Tyhjennä asetukset", + "search-preferences-saved": "Haun asetukset tallennettu", + "search-preferences-cleared": "Haun asetukset nollattu", + "show-results-as": "Näytä tulokset", + "see-more-results": "Näytä lisää tuloksia (%1)" } \ No newline at end of file diff --git a/public/language/fi/success.json b/public/language/fi/success.json index 0c0d613bde..b782e7e9a5 100644 --- a/public/language/fi/success.json +++ b/public/language/fi/success.json @@ -1,7 +1,7 @@ { "success": "Onnistui", "topic-post": "Viestin lähettäminen onnistui.", - "post-queued": "Your post is queued for approval.", + "post-queued": "Viestisi on jonossa odottamassa hyväksyntää", "authentication-successful": "Tunnistautuminen onnistui", "settings-saved": "Asetukset tallennettu!" } \ No newline at end of file diff --git a/public/language/fi/tags.json b/public/language/fi/tags.json index 35903730b2..970d087ec2 100644 --- a/public/language/fi/tags.json +++ b/public/language/fi/tags.json @@ -1,7 +1,7 @@ { "no_tag_topics": "Ei viimeisimpiä aiheita tällä tagilla.", "tags": "Tagit", - "enter_tags_here": "Enter tags here, between %1 and %2 characters each.", + "enter_tags_here": "Syötä tagit tähän merkkien %1 ja %2 väliin.", "enter_tags_here_short": "Syötä tagit...", "no_tags": "Ei vielä yhtään tagia." } \ No newline at end of file diff --git a/public/language/fi/topic.json b/public/language/fi/topic.json index a2a9917b8d..5f3ec66000 100644 --- a/public/language/fi/topic.json +++ b/public/language/fi/topic.json @@ -5,7 +5,7 @@ "no_topics_found": "Aiheita ei löytynyt!", "no_posts_found": "Viestejä ei löytynyt!", "post_is_deleted": "Tämä viesti poistettiin!", - "topic_is_deleted": "This topic is deleted!", + "topic_is_deleted": "Tämä aihe on poistettu!", "profile": "Profiili", "posted_by": "%1 kirjoitti", "posted_by_guest": "Vieras kirjoitti", @@ -13,127 +13,127 @@ "notify_me": "Ilmoita, kun tähän keskusteluun tulee uusia viestejä", "quote": "Lainaa", "reply": "Vastaa", - "replies_to_this_post": "%1 Replies", - "one_reply_to_this_post": "1 Reply", - "last_reply_time": "Last reply", - "reply-as-topic": "Reply as topic", + "replies_to_this_post": "%1 vastauksia", + "one_reply_to_this_post": "1 vastaus", + "last_reply_time": "Viimeisin vastaus", + "reply-as-topic": "Vastaa aiheeseen", "guest-login-reply": "Kirjaudu sisään voidaksesi vastata", - "login-to-view": "🔒 Log in to view", + "login-to-view": "Kirjaudu sisään", "edit": "Muokkaa", "delete": "Poista", - "purge": "Purge", + "purge": "Poista pysyvästi", "restore": "Palauta", "move": "Siirrä", - "change-owner": "Change Owner", + "change-owner": "Vaihda omistaja", "fork": "Haaroita", "link": "Linkitä", "share": "Jaa", "tools": "Työkalut", "locked": "Lukittu", - "pinned": "Pinned", - "moved": "Moved", - "copy-ip": "Copy IP", + "pinned": "Kiinnitetty", + "moved": "Siirretty", + "copy-ip": "Kopioi IP", "ban-ip": "Ban IP", - "view-history": "Edit History", - "bookmark_instructions": "Click here to return to the last read post in this thread.", + "view-history": "Muokkaa historiaa", + "bookmark_instructions": "Klikkaa tästä palataksesi viimeisimpään luettuun viestiin tässä aiheessa", "flag_title": "Ilmianna tämä viesti moderaattoreille", - "merged_message": "This topic has been merged into %2", + "merged_message": "Tämä aihe on sulautettu aiheeseen %2¤", "deleted_message": "Tämä aihe on poistettu. Vain käyttäjät, joilla on aiheen hallintaoikeudet, voivat nähdä sen.", "following_topic.message": "Saat nyt ilmoituksen, kun joku kirjoittaa tähän aiheeseen.", - "not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.", - "ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.", + "not_following_topic.message": "Et näe tätä aihetta lukemattomissa aiheissa, mutta saat ilmoituksen kun joku lähettää viestin tähän aiheeseen.", + "ignoring_topic.message": "Et enää näe tätä aihetta lukemattomat aiheet listauksessa. Saat ilmoituksen, kun joku mainitsee sinut tai viestistäsi tykätään.", "login_to_subscribe": "Ole hyvä ja rekisteröidy tai kirjaudu sisään tilataksesi tämän aiheen.", "markAsUnreadForAll.success": "Aihe merkitty lukemattomaksi kaikille.", - "mark_unread": "Mark unread", - "mark_unread.success": "Topic marked as unread.", - "watch": "Tarkkaile", + "mark_unread": "Merkitse lukemattomaksi", + "mark_unread.success": "Aihe on merkitty lukemattomaksi", + "watch": "Seuraa", "unwatch": "Älä seuraa", "watch.title": "Ilmoita, kun tähän keskusteluun tulee uusia viestejä", "unwatch.title": "Lopeta tämän aiheen seuraaminen", "share_this_post": "Jaa tämä viesti", - "watching": "Watching", - "not-watching": "Not Watching", - "ignoring": "Ignoring", - "watching.description": "Notify me of new replies.
Show topic in unread.", - "not-watching.description": "Do not notify me of new replies.
Show topic in unread if category is not ignored.", - "ignoring.description": "Do not notify me of new replies.
Do not show topic in unread.", + "watching": "Seurataan", + "not-watching": "Ei seurannassa", + "ignoring": "Sivuutettu", + "watching.description": "Ilmoita minulle uusista vastauksista.
Näytä aiheet lukemattomissa.", + "not-watching.description": "Älä ilmoita minulle uusista vastauksista.
Näytä aihe lukemattomissa jos kategoriaa ei ole sivuutettu.", + "ignoring.description": "Älä ilmoita minulle uusista vastauksista.", "thread_tools.title": "Aiheen työkalut", - "thread_tools.markAsUnreadForAll": "Mark Unread For All", + "thread_tools.markAsUnreadForAll": "Merkitse lukemattomaksi kaikille", "thread_tools.pin": "Kiinnitä aihe", "thread_tools.unpin": "Poista aiheen kiinnitys", "thread_tools.lock": "Lukitse aihe", "thread_tools.unlock": "Poista aiheen lukitus", "thread_tools.move": "Siirrä aihe", - "thread_tools.move-posts": "Move Posts", + "thread_tools.move-posts": "Siirrä viestit", "thread_tools.move_all": "Siirrä kaikki", - "thread_tools.change_owner": "Change Owner", - "thread_tools.select_category": "Select Category", + "thread_tools.change_owner": "Vaihda omistaja", + "thread_tools.select_category": "Valitse kategoria", "thread_tools.fork": "Haaroita aihe", "thread_tools.delete": "Poista aihe", - "thread_tools.delete-posts": "Delete Posts", + "thread_tools.delete-posts": "Poista viestit", "thread_tools.delete_confirm": "Haluatko varmasti poistaa tämän aiheen?", "thread_tools.restore": "Palauta aihe", "thread_tools.restore_confirm": "Haluatko varmasti palauttaa tämän aiheen?", - "thread_tools.purge": "Purge Topic", - "thread_tools.purge_confirm": "Are you sure you want to purge this topic?", - "thread_tools.merge_topics": "Merge Topics", - "thread_tools.merge": "Merge", - "topic_move_success": "This topic has been successfully moved to %1", + "thread_tools.purge": "Poista aihe pysyvästi", + "thread_tools.purge_confirm": "Oletko varma, että haluat poistaa pysyvästi tämän aiheen?", + "thread_tools.merge_topics": "Sulauta aiheet", + "thread_tools.merge": "Sulauta", + "topic_move_success": "Tämä aihe on siirretty onnistuneesti %1 alueelle", "post_delete_confirm": "Haluatko varmasti poistaa tämän viestin?", "post_restore_confirm": "Haluatko varmasti palauttaa tämän viestin?", - "post_purge_confirm": "Are you sure you want to purge this post?", + "post_purge_confirm": "Oletko varma, että haluat poistaa pysyvästi tämän viestin?", "load_categories": "Ladataan aihealueita", "confirm_move": "Siirrä", "confirm_fork": "Haaroita", - "bookmark": "Bookmark", - "bookmarks": "Bookmarks", - "bookmarks.has_no_bookmarks": "You haven't bookmarked any posts yet.", + "bookmark": "Kirjanmerkki", + "bookmarks": "Kirjanmerkit", + "bookmarks.has_no_bookmarks": "Et ole kirjanmerkinnyt yhtään viestiä vielä.", "loading_more_posts": "Ladataan lisää viestejä", "move_topic": "Siirrä aihe", - "move_topics": "Move Topics", + "move_topics": "Siirrä aiheet", "move_post": "Siirrä viesti", - "post_moved": "Post moved!", + "post_moved": "Viestit siirretty!", "fork_topic": "Haaroita keskustelu", "fork_topic_instruction": "Napsauta viestejä, jotka haluat haaroittaa", "fork_no_pids": "Ei valittuja viestejä!", - "fork_pid_count": "%1 post(s) selected", - "fork_success": "Successfully forked topic! Click here to go to the forked topic.", - "delete_posts_instruction": "Click the posts you want to delete/purge", - "merge_topics_instruction": "Click the topics you want to merge", - "move_posts_instruction": "Click the posts you want to move", - "change_owner_instruction": "Click the posts you want to assign to another user", + "fork_pid_count": "%1 viesti(ä) valittuna", + "fork_success": "Aihe eriytetty onnistuneesti! Klikkaa täältä mennäkseksi uuteen aiheeseen.", + "delete_posts_instruction": "Valitse viestit jotka haluat poistaa (pysyvästi)", + "merge_topics_instruction": "Valitse viestit jotka haluat sulauttaa", + "move_posts_instruction": "Valitse viestit jotka haluat siirtää", + "change_owner_instruction": "Valitse viestit jotka haluat siirtää toiselle henkilölle", "composer.title_placeholder": "Syötä aiheesi otsikko tähän...", - "composer.handle_placeholder": "Name", + "composer.handle_placeholder": "Nimi", "composer.discard": "Hylkää", "composer.submit": "Lähetä", - "composer.replying_to": "Replying to %1", + "composer.replying_to": "Vastaus viestiin %1", "composer.new_topic": "Uusi aihe", "composer.uploading": "ladataan palvelimelle...", - "composer.thumb_url_label": "Paste a topic thumbnail URL", - "composer.thumb_title": "Add a thumbnail to this topic", + "composer.thumb_url_label": "Liitä aiheen aiheen kuvakkeen URL", + "composer.thumb_title": "Lisää kuvake tähän aiheeseen", "composer.thumb_url_placeholder": "http://example.com/thumb.png", "composer.thumb_file_label": "Tai lataa tiedosto palvelimelle", - "composer.thumb_remove": "Clear fields", + "composer.thumb_remove": "Tyhjennä kentät", "composer.drag_and_drop_images": "Vedä ja pudota kuvat tähän", - "more_users_and_guests": "%1 more user(s) and %2 guest(s)", + "more_users_and_guests": "%1 käyttäjä(ä) ja %2 vieras(sta)", "more_users": "%1 more user(s)", "more_guests": "%1 more guest(s)", "users_and_others": "%1 and %2 others", - "sort_by": "Sort by", - "oldest_to_newest": "Oldest to Newest", - "newest_to_oldest": "Newest to Oldest", - "most_votes": "Most Votes", - "most_posts": "Most Posts", + "sort_by": "Lajittele", + "oldest_to_newest": "Vanhimmasta uusimpaan", + "newest_to_oldest": "Uusimmasta vanhimpaan", + "most_votes": "Eniten ääniä", + "most_posts": "Eniten viestejä", "stale.title": "Create new topic instead?", - "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", - "stale.create": "Create a new topic", - "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)", - "diffs.title": "Post Edit History", - "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", - "diffs.no-revisions-description": "This post has %1 revisions.", - "diffs.current-revision": "current revision", - "diffs.original-revision": "original revision", - "timeago_later": "%1 later", - "timeago_earlier": "%1 earlier" + "stale.warning": "Aihe johon olet vastaamassa on melko vanha. Haluaisitko luoda mieluummin uuden aiheen ja viitata siitä tähän viestissäsi?", + "stale.create": "Luo uusi aihe", + "stale.reply_anyway": "Vastaa kuitenkin tähän aiheeseen", + "link_back": "Vs: [%1] (%2)", + "diffs.title": "Viestin muokkaushistoria", + "diffs.description": "Tästä viestistä on %1 versiota. Klikkaa alempaa viestiä haluttua viestiä, jonka sisällön haluat nähdä.", + "diffs.no-revisions-description": "Tästä viestistä on %1 versiota", + "diffs.current-revision": "nykyinen versio", + "diffs.original-revision": "alkuperäinen versio", + "timeago_later": "%1 myöhempi", + "timeago_earlier": "%1 aiempi" } \ No newline at end of file diff --git a/public/language/fi/unread.json b/public/language/fi/unread.json index ab7ffbf7eb..63b6b4b1be 100644 --- a/public/language/fi/unread.json +++ b/public/language/fi/unread.json @@ -5,11 +5,11 @@ "mark_as_read": "Merkitse luetuksi", "selected": "Valitut", "all": "Kaikki", - "all_categories": "All categories", + "all_categories": "Kaikki kategoriat", "topics_marked_as_read.success": "Aihe merkitty luetuksi!", - "all-topics": "All Topics", - "new-topics": "New Topics", - "watched-topics": "Watched Topics", - "unreplied-topics": "Unreplied Topics", - "multiple-categories-selected": "Multiple Selected" + "all-topics": "Kaikki aiheet", + "new-topics": "Uudet aiheet", + "watched-topics": "Seuratut aiheet", + "unreplied-topics": "Vastaamattomat aiheet", + "multiple-categories-selected": "Useita valittuna" } \ No newline at end of file diff --git a/public/language/fi/uploads.json b/public/language/fi/uploads.json index 651a839876..3cbe97b030 100644 --- a/public/language/fi/uploads.json +++ b/public/language/fi/uploads.json @@ -1,9 +1,9 @@ { - "uploading-file": "Uploading the file...", - "select-file-to-upload": "Select a file to upload!", - "upload-success": "File uploaded successfully!", - "maximum-file-size": "Maximum %1 kb", - "no-uploads-found": "No uploads found", - "public-uploads-info": "Uploads are public, all visitors can see them.", - "private-uploads-info": "Uploads are private, only logged in users can see them." + "uploading-file": "Lähetetään tiedostoa..", + "select-file-to-upload": "Valitse tiedosto lähetettäväksi!", + "upload-success": "Tiedoston lähetys onnistui", + "maximum-file-size": "Maksimi koko on %1 kt", + "no-uploads-found": "Lähetyksiä ei löytynyt", + "public-uploads-info": "Lähetettyjen tiedostojen näkyvyys on julkinen, kirjautumattomat käyttäjät voivat nähdä ne.", + "private-uploads-info": "Lähetettyjen tiedostojen näkyvyys on rajoitettu, vain kirjautuneet käyttäjät voivat nähdä ne." } \ No newline at end of file diff --git a/public/language/fi/user.json b/public/language/fi/user.json index cd8ed527ca..9c9ce75f52 100644 --- a/public/language/fi/user.json +++ b/public/language/fi/user.json @@ -1,20 +1,20 @@ { "banned": "Bannattu", "offline": "Offline", - "deleted": "Deleted", + "deleted": "Poistettu", "username": "Käyttäjän nimi", "joindate": "Liittymispäivä", "postcount": "Viestien määrä", "email": "Sähköposti", "confirm_email": "Vahvista sähköpostiosoite", - "account_info": "Account Info", - "ban_account": "Ban Account", - "ban_account_confirm": "Do you really want to ban this user?", - "unban_account": "Unban Account", + "account_info": "Tilin tiedot", + "ban_account": "Bannaa käyttäjätili", + "ban_account_confirm": "Haluatko varmasti bannata käyttäjän?", + "unban_account": "Peru käyttäjätilin banni", "delete_account": "Poista käyttäjätili", "delete_account_confirm": "Are you sure you want to 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?
This action is irreversible and you will not be able to recover any data

", - "account-deleted": "Account deleted", + "account-deleted": "Tili poistettu", "fullname": "Koko nimi", "website": "Kotisivu", "location": "Sijainti", @@ -24,11 +24,11 @@ "profile": "Profiili", "profile_views": "Profiilia katsottu", "reputation": "Maine", - "bookmarks": "Bookmarks", - "watched_categories": "Watched categories", - "change_all": "Change All", + "bookmarks": "Kirjanmerkit", + "watched_categories": "Seuratut kategoriat", + "change_all": "Muuta kaikki", "watched": "Seurattu", - "ignored": "Ignored", + "ignored": "Ohitetut", "default-category-watch-state": "Default category watch state", "followers": "Seuraajat", "following": "Seuratut", @@ -36,24 +36,24 @@ "block_toggle": "Toggle Block", "block_user": "Block User", "unblock_user": "Unblock User", - "aboutme": "About me", + "aboutme": "Tietoja minusta", "signature": "Allekirjoitus", "birthday": "Syntymäpäivä", "chat": "Keskustele", - "chat_with": "Continue chat with %1", - "new_chat_with": "Start new chat with %1", + "chat_with": "Jatka keskustelua %1 kanssa", + "new_chat_with": "Aloita keskutelu %1 kanssa", "flag-profile": "Flag Profile", "follow": "Seuraa", "unfollow": "Älä seuraa", - "more": "More", + "more": "Lisää", "profile_update_success": "Profiili päivitettiin onnistuneesti!", "change_picture": "Vaihda kuva", - "change_username": "Change Username", - "change_email": "Change Email", + "change_username": "Vaihda käyttäjänimi", + "change_email": "Vaihda sähköpostiosoite", "email_same_as_password": "Please enter your current password to continue – you've entered your new email again", "edit": "Muokkaa", - "edit-profile": "Edit Profile", - "default_picture": "Default Icon", + "edit-profile": "Muokkaa profiiliasi", + "default_picture": "Oletus kuvake", "uploaded_picture": "Ladattu kuva", "upload_new_picture": "Lataa uusi kuva", "upload_new_picture_from_url": "Lataa uusi kuva URL-osoitteesta", @@ -67,21 +67,21 @@ "confirm_password": "Vahvista salasana", "password": "Salasana", "username_taken_workaround": "Pyytämäsi käyttäjänimi oli jo varattu, joten muutimme sitä hieman. Käyttäjänimesi on siis nyt %1", - "password_same_as_username": "Your password is the same as your username, please select another password.", - "password_same_as_email": "Your password is the same as your email, please select another password.", - "weak_password": "Weak password.", + "password_same_as_username": "Salasanasi on sama kuin käytttänimesi. Valitse joku toinen salasana.", + "password_same_as_email": "Salasanasi on sama kuin sähköpostiosoitteesi. Valitse joku toinen salasana.", + "weak_password": "Heikko salasana", "upload_picture": "Lataa kuva", "upload_a_picture": "Lataa kuva", - "remove_uploaded_picture": "Remove Uploaded Picture", + "remove_uploaded_picture": "Poista lisätty kuva", "upload_cover_picture": "Upload cover picture", "remove_cover_picture_confirm": "Are you sure you want to remove the cover picture?", - "crop_picture": "Crop picture", - "upload_cropped_picture": "Crop and upload", + "crop_picture": "Rajaa kuvaa", + "upload_cropped_picture": "Rajaa ja lähetä", "settings": "Asetukset", "show_email": "Näytä sähköpostiosoitteeni", "show_fullname": "Näytä koko nimeni", "restrict_chats": "Salli pikaviestit vain seuraamiltani käyttäjiltä", - "digest_label": "Subscribe to Digest", + "digest_label": "Tilaa kooste", "digest_description": "Tilaa päivitykset sähköpostilla tästä foorumista (uudet ilmoitukset ja aiheet) asetetun ajastuksen mukaan", "digest_off": "Pois päältä", "digest_daily": "Päivittäin", @@ -89,14 +89,14 @@ "digest_monthly": "Kuukausittain", "has_no_follower": "Kukaan ei seuraa tätä käyttäjää :(", "follows_no_one": "Tämä käyttäjä ei seuraa ketään :(", - "has_no_posts": "This user hasn't posted anything yet.", - "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_upvoted_posts": "This user hasn't upvoted any posts yet.", + "has_no_posts": "Käyttäjä ei ole vielä lähettänyt viestejä ", + "has_no_topics": "Käyttäjä ei ole lähettänyt viestiä yhteenkään aiheeseen vielä.", + "has_no_watched_topics": "Käyttäjä ei seuraa mitään aihetta vielä.", + "has_no_ignored_topics": "Käyttäjä ei ole merkannut sivuutettavaksi yhtään aihetta.", + "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_voted_posts": "This user has no voted posts", - "has_no_blocks": "You have blocked no users.", + "has_no_voted_posts": "Käyttäjä ei ole antanut tykkäyksiä viesteille", + "has_no_blocks": "Käyttäjä ei ole estänyt käyttäjiä", "email_hidden": "Sähköposti piilotettu", "hidden": "piilotettu", "paginate_description": "Paginate topics and posts instead of using infinite scroll", @@ -111,25 +111,25 @@ "notification-sound": "Notification sound", "no-sound": "No sound", "upvote-notif-freq": "Upvote Notification Frequency", - "upvote-notif-freq.all": "All Upvotes", + "upvote-notif-freq.all": "Kaikki tykkäykset", "upvote-notif-freq.first": "First Per Post", "upvote-notif-freq.everyTen": "Every Ten Upvotes", "upvote-notif-freq.threshold": "On 1, 5, 10, 25, 50, 100, 150, 200...", "upvote-notif-freq.logarithmic": "On 10, 100, 1000...", - "upvote-notif-freq.disabled": "Disabled", + "upvote-notif-freq.disabled": "Poistettu käytöstä", "browsing": "Selataan asetuksia", - "open_links_in_new_tab": "Open outgoing links in new tab", + "open_links_in_new_tab": "Avaa palvelunulkopuoliset linkit uuteen ikkunaan", "enable_topic_searching": "Salli aiheen sisäiset haut", "topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen", "scroll_to_my_post": "After posting a reply, show the new post", "follow_topics_you_reply_to": "Watch topics that you reply to", "follow_topics_you_create": "Watch topics you create", - "grouptitle": "Group Title", + "grouptitle": "Ryhmän nimi", "group-order-help": "Select a group and use the arrows to order titles", - "no-group-title": "No group title", + "no-group-title": "Ei ryhmän nimeä", "select-skin": "Select a Skin", - "select-homepage": "Select a Homepage", - "homepage": "Homepage", + "select-homepage": "Valitse kotisivu", + "homepage": "Kotisivu", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", "custom_route": "Custom Homepage Route", "custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")", @@ -145,13 +145,13 @@ "info.no-ban-history": "This user has never been banned", "info.banned-until": "Banned until %1", "info.banned-permanently": "Banned permanently", - "info.banned-reason-label": "Reason", - "info.banned-no-reason": "No reason given.", + "info.banned-reason-label": "Syy ", + "info.banned-no-reason": "Syytä ei ole annettu", "info.username-history": "Username History", "info.email-history": "Email History", - "info.moderation-note": "Moderation Note", + "info.moderation-note": "Ylläpidon muistiinpano", "info.moderation-note.success": "Moderation note saved", - "info.moderation-note.add": "Add note", + "info.moderation-note.add": "Lisää muistiinpano", "sessions.description": "This page allows you to view any active sessions on this forum and revoke them if necessary. You can revoke your own session by logging out of your account.", "consent.title": "Your Rights & Consent", "consent.lead": "This community forum collects and processes your personal information.", @@ -161,7 +161,7 @@ "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.give": "Anna suostumus", "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", diff --git a/public/language/fi/users.json b/public/language/fi/users.json index 554916ea76..219e91403c 100644 --- a/public/language/fi/users.json +++ b/public/language/fi/users.json @@ -2,21 +2,21 @@ "latest_users": "Viimeisimmät käyttäjät", "top_posters": "Aktiivisimmat viestittelijät", "most_reputation": "Eniten mainetta", - "most_flags": "Most Flags", + "most_flags": "Eniten ", "search": "Hae", "enter_username": "Syötä käyttäjätunnus hakeaksesi", "load_more": "Lataa lisää", "users-found-search-took": "%1 käyttäjä(ä) löytyi! Haku kesti %2 sekuntia.", "filter-by": "Suodata", "online-only": "Vain verkossa olevat", - "invite": "Invite", - "prompt-email": "Emails:", - "invitation-email-sent": "An invitation email has been sent to %1", - "user_list": "User List", - "recent_topics": "Recent Topics", - "popular_topics": "Popular Topics", - "unread_topics": "Unread Topics", - "categories": "Categories", - "tags": "Tunnisteet", - "no-users-found": "No users found!" + "invite": "Kutsu", + "prompt-email": "Sähköpostit:", + "invitation-email-sent": "Kutsusähköposti on lähetetty %1", + "user_list": "Käyttäjälista", + "recent_topics": "Viimeisimmät aiheet", + "popular_topics": "Suositut aiheet", + "unread_topics": "Lukemattomat aiheet", + "categories": "Kategoriat", + "tags": "Tagit", + "no-users-found": "Ei käyttäjiä!" } \ No newline at end of file From 366ad5cd6972b8f405e63b6da5b42b93a9247fd4 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 19 Nov 2019 12:02:14 -0500 Subject: [PATCH 17/76] fix: #8050, fix redirect after registration --- src/controllers/authentication.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index 11776c510c..aa1683305c 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -34,6 +34,9 @@ async function registerAndLoginUser(req, res, userData) { userData.register = true; req.session.registration = userData; + if (req.body.referrer) { + req.session.referrer = req.body.referrer; + } if (req.body.noscript === 'true') { res.redirect(nconf.get('relative_path') + '/register/complete'); return; @@ -53,7 +56,10 @@ async function registerAndLoginUser(req, res, userData) { } user.deleteInvitationKey(userData.email); - return await plugins.fireHook('filter:register.complete', { uid: uid, referrer: req.body.referrer || nconf.get('relative_path') + '/' }); + const referrer = req.body.referrer || req.session.referrer || nconf.get('relative_path') + '/'; + const complete = await plugins.fireHook('filter:register.complete', { uid: uid, referrer: referrer }); + req.session.returnTo = complete.referrer; + return complete; } const registerAndLoginUserCallback = util.callbackify(registerAndLoginUser); From 510737726cd3ef75a59ea92b8e52d2636c1f3702 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 20 Nov 2019 13:45:29 -0500 Subject: [PATCH 18/76] fix: unhandled promise rejection error on reset error Also, removed buildAll() on reset. --- src/cli/reset.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/cli/reset.js b/src/cli/reset.js index 9e040b3e2c..cb1eb041f3 100644 --- a/src/cli/reset.js +++ b/src/cli/reset.js @@ -84,12 +84,11 @@ exports.reset = async function (options) { /* eslint-disable no-await-in-loop */ await task(); } - winston.info('[reset] Reset complete'); - await require('../meta/build').buildAll(); + winston.info('[reset] Reset complete. Please run `./nodebb build` to rebuild assets.'); process.exit(0); } catch (err) { winston.error('[reset] Errors were encountered during reset -- ' + err.message); - throw err; + process.exit(1); } }; From beebe53a71f98f30e8da2d7216783682c5efa244 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Thu, 21 Nov 2019 09:28:42 +0000 Subject: [PATCH 19/76] Latest translations and fallbacks --- public/language/it/admin/menu.json | 2 +- public/language/it/reset_password.json | 2 +- public/language/it/user.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/language/it/admin/menu.json b/public/language/it/admin/menu.json index 3da411aca9..57dcdb9e53 100644 --- a/public/language/it/admin/menu.json +++ b/public/language/it/admin/menu.json @@ -18,7 +18,7 @@ "manage/groups": "Gruppi", "manage/ip-blacklist": "Lista degli IP bloccati", "manage/uploads": "Uploads", - "manage/digest": "Digests", + "manage/digest": "Riepilogo", "section-settings": "Impostazioni", "settings/general": "Generale", diff --git a/public/language/it/reset_password.json b/public/language/it/reset_password.json index 8605de5312..29d1925e18 100644 --- a/public/language/it/reset_password.json +++ b/public/language/it/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Conferma Password", "enter_email": "Per favore inserisci il tuo indirizzo email e ti invieremo un'email con le istruzioni per resettare il tuo account.", "enter_email_address": "Inserisci l'Indirizzo Email", - "password_reset_sent": "If the specified address corresponds to an existing user account, a password reset email was sent. Please note that only one email will be sent per minute.", + "password_reset_sent": "Se l'indirizzo specificato corrisponde ad un account utente esistente, è stata inviata un'email di reset della password. Si prega di notare che sarà inviata una sola email al minuto.", "invalid_email": "Email invalida / L'email non esiste!", "password_too_short": "La password inserita è troppo corta, per favore inserisci una password differente.", "passwords_do_not_match": "Le due password che hai inserito non corrispondono.", diff --git a/public/language/it/user.json b/public/language/it/user.json index 36744e50ab..b0238a3858 100644 --- a/public/language/it/user.json +++ b/public/language/it/user.json @@ -26,7 +26,7 @@ "reputation": "Reputazione", "bookmarks": "Preferiti", "watched_categories": "Categorie seguite", - "change_all": "Change All", + "change_all": "Cambia Tutto", "watched": "Seguiti", "ignored": "Ignorati", "default-category-watch-state": "Stato di controllo della categoria predefinita", From 488ea3949bb017e3f7438eb36baa4baa633aec9e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2019 10:14:32 -0500 Subject: [PATCH 20/76] fix(deps): update dependency validator to v12.1.0 (#8055) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 1fad4d9f04..f2f7bc422c 100644 --- a/install/package.json +++ b/install/package.json @@ -124,7 +124,7 @@ "textcomplete.contenteditable": "^0.1.1", "toobusy-js": "^0.5.1", "uglify-es": "^3.3.9", - "validator": "12.0.0", + "validator": "12.1.0", "winston": "3.2.1", "xml": "^1.0.1", "xregexp": "^4.1.1", From 6fa88823c8402692aa337391a5c43310fc76f09b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2019 10:15:05 -0500 Subject: [PATCH 21/76] fix(deps): update dependency sharp to v0.23.3 (#8044) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index f2f7bc422c..b6e5371a76 100644 --- a/install/package.json +++ b/install/package.json @@ -109,7 +109,7 @@ "sanitize-html": "^1.16.3", "semver": "^6.0.0", "serve-favicon": "^2.4.5", - "sharp": "0.23.2", + "sharp": "0.23.3", "sitemap": "^5.0.0", "socket.io": "2.3.0", "socket.io-adapter-cluster": "^1.0.1", From 8ba261048b5bce3fec86a4d17779856d6a362a4e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2019 10:15:29 -0500 Subject: [PATCH 22/76] chore(deps): update dependency coveralls to v3.0.8 (#8054) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index b6e5371a76..221ddd3b6d 100644 --- a/install/package.json +++ b/install/package.json @@ -133,7 +133,7 @@ "devDependencies": { "@commitlint/cli": "8.2.0", "@commitlint/config-angular": "8.2.0", - "coveralls": "3.0.7", + "coveralls": "3.0.8", "eslint": "6.6.0", "eslint-config-airbnb-base": "14.0.0", "eslint-plugin-import": "2.18.2", From 10a6ca6173adc0290fc808eacec51227f40e0068 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 22 Nov 2019 09:28:29 +0000 Subject: [PATCH 23/76] Latest translations and fallbacks --- public/language/nl/email.json | 6 +- public/language/nl/error.json | 2 +- public/language/nl/reset_password.json | 2 +- public/language/ru/admin/advanced/cache.json | 2 +- .../language/ru/admin/advanced/database.json | 6 +- public/language/ru/admin/advanced/errors.json | 6 +- public/language/ru/admin/advanced/events.json | 12 +- public/language/ru/admin/advanced/logs.json | 10 +- .../ru/admin/appearance/customise.json | 12 +- .../language/ru/admin/appearance/skins.json | 2 +- .../language/ru/admin/appearance/themes.json | 12 +- .../language/ru/admin/development/logger.json | 6 +- public/language/ru/admin/extend/plugins.json | 24 +-- public/language/ru/admin/extend/widgets.json | 36 ++-- .../language/ru/admin/general/dashboard.json | 84 +++++----- .../language/ru/admin/general/homepage.json | 12 +- .../language/ru/admin/general/languages.json | 4 +- .../language/ru/admin/general/navigation.json | 8 +- public/language/ru/admin/general/social.json | 6 +- public/language/ru/admin/general/sounds.json | 4 +- .../language/ru/admin/manage/admins-mods.json | 14 +- .../language/ru/admin/manage/categories.json | 42 ++--- public/language/ru/admin/manage/groups.json | 32 ++-- .../ru/admin/manage/ip-blacklist.json | 16 +- .../language/ru/admin/manage/post-queue.json | 6 +- .../language/ru/admin/manage/privileges.json | 12 +- public/language/ru/admin/manage/tags.json | 8 +- public/language/ru/admin/manage/uploads.json | 2 +- public/language/ru/admin/menu.json | 18 +- public/language/ru/admin/settings/email.json | 2 +- public/language/ru/admin/settings/user.json | 4 +- public/language/ru/category.json | 22 +-- public/language/ru/email.json | 18 +- public/language/ru/error.json | 134 +++++++-------- public/language/ru/flags.json | 60 +++---- public/language/ru/global.json | 34 ++-- public/language/ru/groups.json | 36 ++-- public/language/ru/login.json | 2 +- public/language/ru/modules.json | 14 +- public/language/ru/pages.json | 68 ++++---- public/language/ru/recent.json | 14 +- public/language/ru/register.json | 10 +- public/language/ru/reset_password.json | 2 +- public/language/ru/search.json | 42 ++--- public/language/ru/success.json | 8 +- public/language/ru/tags.json | 8 +- public/language/ru/topic.json | 158 +++++++++--------- public/language/ru/unread.json | 10 +- public/language/ru/uploads.json | 4 +- public/language/ru/user.json | 158 +++++++++--------- public/language/ru/users.json | 12 +- 51 files changed, 613 insertions(+), 613 deletions(-) diff --git a/public/language/nl/email.json b/public/language/nl/email.json index 0b515a74e7..fd7afba54e 100644 --- a/public/language/nl/email.json +++ b/public/language/nl/email.json @@ -34,7 +34,7 @@ "notif.chat.cta": "Klik hier om het gesprek te hervatten", "notif.chat.unsub.info": "Deze notificatie is verzonden vanwege de gebruikersinstellingen voor abonnementen.", "notif.post.unsub.info": "Deze notificatie is door ons verzonden vanwege gebruikersinstellingen voor abonnementen en berichten.", - "notif.post.unsub.one-click": "Alternatively, unsubscribe from future emails like this, by clicking", + "notif.post.unsub.one-click": "Of om uit te schrijven voor toekomstige e-mails zoals deze: klik", "notif.cta": "Naar het forum", "notif.cta-new-reply": "Bericht weergeven", "notif.cta-new-chat": "Chat weergeven", @@ -42,8 +42,8 @@ "notif.test.long": "Dit is een test van de notificaties e-mail. Stuur hulp!", "test.text1": "Dit is een testbericht om te verifiëren dat NodeBB de e-mailberichtservice correct heeft opgezet.", "unsub.cta": "Klik hier om deze instellingen te wijzigen", - "unsubscribe": "unsubscribe", - "unsub.success": "You will no longer receive emails from the %1 mailing list", + "unsubscribe": "uitschrijven", + "unsub.success": "U zult niet langer e-mails ontvangen van de %1 mailing lijst", "banned.subject": "U bent verbannen van %1", "banned.text1": "De gebruiker %1 is verbannen van %2.", "banned.text2": "Deze verbanning duurt tot %1.", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index d9d55101c1..de94a63916 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -33,7 +33,7 @@ "email-confirm-failed": "Helaas kon het e-mailadres niet bevestigd worden, probeer het later nog eens.", "confirm-email-already-sent": "Bevestigingsmail is zojuist al verzonden, wacht alsjeblieft %1 minuut (minuten) voordat je opnieuw een bevestigingsmail aanvraagt.", "sendmail-not-found": "De sendmail executable kon niet worden gevonden, zorg ervoor dat deze is geïnstalleerd en dat de gebruiker die NodeBB draait deze kan uitvoeren.", - "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", + "digest-not-enabled": "De gebruiker heeft samenvatting niet aangezet, of de systeem default is niet geconfigureerd om samenvattingen te versturen", "username-too-short": "Gebruikersnaam is te kort", "username-too-long": "Gebruikersnaam is te lang", "password-too-long": "Wachtwoord is te lang", diff --git a/public/language/nl/reset_password.json b/public/language/nl/reset_password.json index 6850e0312e..93229897a9 100644 --- a/public/language/nl/reset_password.json +++ b/public/language/nl/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Bevestiging wachtwoord", "enter_email": "Geef het e-mailadres op dat tijdens registratie gebruikt is, en we versturen je een bericht met vervolginstructies voor het ontgrendelen van de account.", "enter_email_address": "Geef het e-mailadres op", - "password_reset_sent": "If the specified address corresponds to an existing user account, a password reset email was sent. Please note that only one email will be sent per minute.", + "password_reset_sent": "Indien het opgegeven adres overeenkomt met een bestaande gebruikersaccount dan is er nu een wachtwoord reset mail verstuurd. Houd er rekening mee dat er slechts één e-mail per minuut zal worden verstuurd.", "invalid_email": "Onbekend e-mailadres!", "password_too_short": "Het opgegeven wachtwoord bevat te weinig tekens. Kies een veiliger wachtwoord met meer tekens.", "passwords_do_not_match": "De twee opgegeven wachtwoorden komen niet overeen", diff --git a/public/language/ru/admin/advanced/cache.json b/public/language/ru/admin/advanced/cache.json index b882409255..ddb762a243 100644 --- a/public/language/ru/admin/advanced/cache.json +++ b/public/language/ru/admin/advanced/cache.json @@ -5,7 +5,7 @@ "length-to-max": "Размер / Максимум", "percent-full": "Заполнен на%1%", "post-cache-size": "Размер кэша сообщений", - "items-in-cache": "Элементы в Кэш", + "items-in-cache": "Закешировано элементов", "control-panel": "Панель управления", "update-settings": "Обновить настройки кэша" } \ No newline at end of file diff --git a/public/language/ru/admin/advanced/database.json b/public/language/ru/admin/advanced/database.json index 3056b72870..d0e5204227 100644 --- a/public/language/ru/admin/advanced/database.json +++ b/public/language/ru/admin/advanced/database.json @@ -13,7 +13,7 @@ "mongo.avg-object-size": "Средний размер документа", "mongo.data-size": "Размер данных", "mongo.storage-size": "Размер хранилища", - "mongo.index-size": "Размер Индекса", + "mongo.index-size": "Размер индекса", "mongo.file-size": "Размер файла", "mongo.resident-memory": "Долгосрочная память", "mongo.virtual-memory": "Виртуальная память", @@ -32,11 +32,11 @@ "redis.connected-clients": "Подключенные клиенты", "redis.connected-slaves": "Подключенные устройства", "redis.blocked-clients": "Заблокированные клиенты", - "redis.used-memory": "Используемая Память", + "redis.used-memory": "Использовано памяти", "redis.memory-frag-ratio": "Коэффициент фрагментации памяти", "redis.total-connections-recieved": "Общее число подключений получено", "redis.total-commands-processed": "Команд обработано в общем", - "redis.iops": "Мгновенные операции. в секунду", + "redis.iops": "Операций в секунду", "redis.iinput": "Текущих входящих в секунду", "redis.ioutput": "Текущих исходящих в секунду", "redis.total-input": "Всего входящих", diff --git a/public/language/ru/admin/advanced/errors.json b/public/language/ru/admin/advanced/errors.json index 5134a7408a..499dd8f4f2 100644 --- a/public/language/ru/admin/advanced/errors.json +++ b/public/language/ru/admin/advanced/errors.json @@ -3,9 +3,9 @@ "error-events-per-day": "событий %1 в день", "error.404": "404 Не найдено", "error.503": "503 Сервис недоступен", - "manage-error-log": "Управление журналами ошибок", - "export-error-log": "Экспорт логи ошибок (CSV)", - "clear-error-log": "Очистить логи ошибок", + "manage-error-log": "Управление журналом ошибок", + "export-error-log": "Экспорт журнала ошибок (CSV)", + "clear-error-log": "Очистить журнал ошибок", "route": "Путь", "count": "Кол-во", "no-routes-not-found": "Ура! Ошибок 404 нет!", diff --git a/public/language/ru/admin/advanced/events.json b/public/language/ru/admin/advanced/events.json index 371a0d5fa9..210a45e60c 100644 --- a/public/language/ru/admin/advanced/events.json +++ b/public/language/ru/admin/advanced/events.json @@ -2,10 +2,10 @@ "events": "События", "no-events": "Нет событий", "control-panel": "Панель управления событиями", - "filters": "Filters", - "filters-apply": "Apply Filters", - "filter-type": "Event Type", - "filter-start": "Start Date", - "filter-end": "End Date", - "filter-perPage": "Per Page" + "filters": "Фильтр", + "filters-apply": "Применить фильтр", + "filter-type": "Тип события", + "filter-start": "Дата начала", + "filter-end": "Дата окончания", + "filter-perPage": "Записей на страницу" } \ No newline at end of file diff --git a/public/language/ru/admin/advanced/logs.json b/public/language/ru/admin/advanced/logs.json index 971dec1cf5..74485d3820 100644 --- a/public/language/ru/admin/advanced/logs.json +++ b/public/language/ru/admin/advanced/logs.json @@ -1,7 +1,7 @@ { - "logs": "Логи", - "control-panel": "Логирование контрольной панели", - "reload": "Перезагрузить Логи", - "clear": "Очистить Логи", - "clear-success": "Логи очищены!" + "logs": "Журнал событий", + "control-panel": "Управление журналом событий", + "reload": "Перезагрузить", + "clear": "Очистить", + "clear-success": "Журнал событий очищен!" } \ No newline at end of file diff --git a/public/language/ru/admin/appearance/customise.json b/public/language/ru/admin/appearance/customise.json index ef18fcf2ae..917e7ad48f 100644 --- a/public/language/ru/admin/appearance/customise.json +++ b/public/language/ru/admin/appearance/customise.json @@ -1,14 +1,14 @@ { "custom-css": "Пользовательский CSS/LESS", - "custom-css.description": "Введите собственные CSS/LESS здесь, применяемые после всех других стилей.", + "custom-css.description": "Добавьте собственные стили CSS/LESS. Они будут применяться в последнюю очередь, после всех остальных.", "custom-css.enable": "Включить пользовательский CSS/LESS", - "custom-js": "Каcтомный Javascript", - "custom-js.description": "Укажите свой javascript здесь. Он будет выполнен после полной загрузки страницы.", - "custom-js.enable": "Включить пользовательский Javascript", + "custom-js": "Пользовательский JavaScript", + "custom-js.description": "Добавьте собственный JS-код. Он будет выполнен после полной загрузки страницы.", + "custom-js.enable": "Включить пользовательский JavaScript", - "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": "Пользовательский заголовок", + "custom-header.description": "Добавьте HTML в секцию <head> шаблонов страниц форума. Тег <script> использовать можно, но не рекомендуется (для этого предусмотрен раздел Пользовательский JavaScript).", "custom-header.enable": "Включить Пользовательский заголовок", "custom-css.livereload": "Включить автоматическую перезагрузку страниц", diff --git a/public/language/ru/admin/appearance/skins.json b/public/language/ru/admin/appearance/skins.json index abffb8d58c..5058f79b94 100644 --- a/public/language/ru/admin/appearance/skins.json +++ b/public/language/ru/admin/appearance/skins.json @@ -1,5 +1,5 @@ { - "loading": "Загрузка стилей", + "loading": "Загрузка стилей...", "homepage": "Домашняя страница", "select-skin": "Выбрать стиль", "current-skin": "Текущий стиль", diff --git a/public/language/ru/admin/appearance/themes.json b/public/language/ru/admin/appearance/themes.json index c9ff6086a8..08bdac4239 100644 --- a/public/language/ru/admin/appearance/themes.json +++ b/public/language/ru/admin/appearance/themes.json @@ -1,11 +1,11 @@ { - "checking-for-installed": "Проверка установленных тем", + "checking-for-installed": "Проверка установленных тем...", "homepage": "Домашняя страница", "select-theme": "Выбрать тему", "current-theme": "Текущая тема", - "no-themes": "Не найдено установленные темы", - "revert-confirm": "Вы уверены, что хотите восстановить стандартную NodeBB тему?", - "theme-changed": "Тема сменена", - "revert-success": "Вы успешно вернули ваш NodeBB обратно к его стандартной теме.", - "restart-to-activate": "Пожалуйста, перестройте и перезагрузите NodeBB, для полной активации этой темы." + "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/ru/admin/development/logger.json b/public/language/ru/admin/development/logger.json index 5fceb15935..167cb234e9 100644 --- a/public/language/ru/admin/development/logger.json +++ b/public/language/ru/admin/development/logger.json @@ -1,10 +1,10 @@ { "logger-settings": "Настройки логгера", - "description": "Включив чек-боксы, вы получите логи на свой терминал. Если вы укажете путь, логи будут сохранены в файле. Протокол HTTP полезен для сбора статистики о том, кто, когда и где посетители получают на вашем форуме. Помимо регистрации HTTP-запросов, мы также можем регистрировать события socket.io. Регистрация Socket.io в сочетании с монитором redis-cli может быть очень полезна для исследования внутреннего состояния NodeBB.", - "explanation": "Просто установить/снять настройки логирования чтобы включить или отключить логирование на лету. Перезапуск не нужен.", + "description": "Включите, чтобы выводить в консоль отчёт о событиях. Чтобы сохранять эти данные в файл, укажите путь к файлу. Журналирование запросов HTTP полезно для сбора данных о том, что именно и когда просматривают посетители вашего форума. Кроме того, возможна запись событий Socket.io, что, в сочетании с мониторингом redis-cli, крайне полезно для отслеживания состояния NodeBB.", + "explanation": "Просто включите или выключите соответствующую опцию, чтобы настроить журналирование. Перезапуск NodeBB не потребуется.", "enable-http": "Включить HTTP логирование", "enable-socket": "Включить логирование событий socket.io", - "file-path": "Путь до файла логов", + "file-path": "Путь к файлу журнала", "file-path-placeholder": "/path/to/log/file.log ::: оставить пустым чтобы смотреть логи в командной строке", "control-panel": "Контрольная панель логгера", diff --git a/public/language/ru/admin/extend/plugins.json b/public/language/ru/admin/extend/plugins.json index ed12af6798..0648e723b3 100644 --- a/public/language/ru/admin/extend/plugins.json +++ b/public/language/ru/admin/extend/plugins.json @@ -9,13 +9,13 @@ "plugin-search": "Поиск плагинов", "plugin-search-placeholder": "Искать плагин...", - "submit-anonymous-usage": "Submit anonymous plugin usage data.", + "submit-anonymous-usage": "Отправлять анонимные сведения об используемых плагинах.", "reorder-plugins": "Изменить порядок плагинов", "order-active": "Упорядочить активные плагины", "dev-interested": "Заинтересованы в написании плагинов для NodeBB?", "docs-info": "Полную документацию, относящаяся к созданию плагина, можно найти на Портале NodeBB", - "order.description": "Некоторые плагины работают идеально только когда они инициализируются до иди после других плагинов.", + "order.description": "Некоторые плагины работают идеально только когда они инициализируются или до, или после других плагинов.", "order.explanation": "Плагины загружаются в порядке указанном здесь, сверху вниз.", "plugin-item.themes": "Темы", @@ -30,27 +30,27 @@ "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.uninstalled": "Плагин удалён", "alert.activate-success": "Пожалуйста, перезапустите NodeBB чтобы полностью активировать этот плагин", "alert.deactivate-success": "Плагин успешно отключен", "alert.upgrade-success": "Пожалуйста, пересоберите и перезапустите NodeBB чтобы полностью активировать этот плагин", - "alert.install-success": "Плагин успешно установлен, пожалуйста активируйте этот плагин.", - "alert.uninstall-success": "Плагин успешно отключен и удален.", + "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 reset plugin=\"%1\"

Продолжить установку последней версии плагина?

", - "alert.reorder": "Порядок плагинов изменен", + "alert.package-manager-unreachable": "

NodeBB не может запустить менеджер пакетов, установка обновления не рекомендуется

", + "alert.incompatible": "

Ваша версия NodeBB (v%1) совместима только с версией v%2 этого плагина. Пожалуйста, обновите NodeBB, если вы хотите пользоваться более свежей версией.

", + "alert.possibly-incompatible": "

Нет данных о совместимости

Этот плагин не содержит сведений о совместимости с вашей версией NodeBB. Полная совместимость не гарантируется, возможно форум даже не запустится.

В случае, если NodeBB не запускается:

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

Продолжить установку последней версии плагина?

", + "alert.reorder": "Порядок плагинов изменён", "alert.reorder-success": "Пожалуйста, пересоберите и перезапустите NodeBB чтобы полностью завершить процесс.", - "license.title": "Лицензионная информация плагина", + "license.title": "Сведения о лицензии плагина", "license.intro": "Плагин %1 распространяется под лицензией %2. Пожалуйста, внимательно прочтите условия лицензии перед активацией плагина.", "license.cta": "Вы хотите продолжить и активировать плагин?" } diff --git a/public/language/ru/admin/extend/widgets.json b/public/language/ru/admin/extend/widgets.json index 12ff23a91f..7e3ef9e9b9 100644 --- a/public/language/ru/admin/extend/widgets.json +++ b/public/language/ru/admin/extend/widgets.json @@ -1,30 +1,30 @@ { "available": "Доступные виджеты", - "explanation": "Выберете виджет из выпадающего меню и затем перетащите его на виджет шаблона слева.", - "none-installed": "Виджеты не найдены! Активируйте основной плагин виджетов в панели управления плагинов", - "clone-from": "Скопировать виджет из", + "explanation": "Выберите виджет из выпадающего меню и перетащите его в подходящую область слева.", + "none-installed": "Виджеты не найдены! Активируйте основной плагин виджетов в панели управления плагинами", + "clone-from": "Скопировать виджеты из", "containers.available": "Доступные контейнеры", - "containers.explanation": "Перетащите вверх любого активного виджета", - "containers.none": "Нет", - "container.well": "Хорошо", - "container.jumbotron": "Медиа-панель", + "containers.explanation": "Перетащите поверх любого активного виджета", + "containers.none": "Отсутствует", + "container.well": "Well", + "container.jumbotron": "Jumbotron", "container.panel": "Панель", - "container.panel-header": "Заголовок понели", + "container.panel-header": "Заголовок панели", "container.panel-body": "Тело панели", - "container.alert": "Предупреждение", + "container.alert": "Уведомление", - "alert.confirm-delete": "Вы уверены что хотите удалить этот виджет?", + "alert.confirm-delete": "Вы уверены, что хотите удалить этот виджет?", "alert.updated": "Виджеты обновлены", "alert.update-success": "Виджеты успешно обновлены", "alert.clone-success": "Виджеты успешно скопированы", - "error.select-clone": "Пожалуйста, выберите страницу с которой копировать виджеты", + "error.select-clone": "Пожалуйста, выберите страницу, откуда нужно скопировать виджеты", - "title": "Title", - "title.placeholder": "Title (only shown on some containers)", - "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-on-mobile": "Hide on mobile" + "title": "Заголовок", + "title.placeholder": "Заголовок (используется только в некоторых контейнерах)", + "container": "Контейнер", + "container.placeholder": "Перетащите контейнер сюда или добавьте HTML вручную.", + "show-to-groups": "Показывать группам", + "hide-from-groups": "Скрывать от групп", + "hide-on-mobile": "Скрывать на мобильных устройствах" } \ No newline at end of file diff --git a/public/language/ru/admin/general/dashboard.json b/public/language/ru/admin/general/dashboard.json index e778e1a5d0..5ef504d134 100644 --- a/public/language/ru/admin/general/dashboard.json +++ b/public/language/ru/admin/general/dashboard.json @@ -3,19 +3,19 @@ "page-views": "Просмотров", "unique-visitors": "Посетителей", "new-users": "New Users", - "posts": "Записи", - "topics": "Темы", - "page-views-seven": "Последние 7 дней", - "page-views-thirty": "Последние 30 дней", - "page-views-last-day": "Последние 24 часа", - "page-views-custom": "Свой диапазон дат", - "page-views-custom-start": "Начала диапазона", - "page-views-custom-end": "Конец диапазона", - "page-views-custom-help": "Введите диапазон дат, за который вы хотите увидеть количество просмотров. Если выбор даты не доступен, то принимает можете указать дату в формате ГГГГ-ММ-ДД ", + "posts": "Сообщений", + "topics": "Тем", + "page-views-seven": "За 7 дней", + "page-views-thirty": "За 30 дней", + "page-views-last-day": "За 24 часа", + "page-views-custom": "Другой диапазон дат", + "page-views-custom-start": "Начало", + "page-views-custom-end": "Конец", + "page-views-custom-help": "Укажите начало и конец периода, за который вы хотите получить данные о просмотрах. Если выбор даты не доступен, то вы можете указать дату в формате ГГГГ-ММ-ДД ", "page-views-custom-error": "Пожалуйста, укажите правильный диапазон дат в формате ГГГГ-ММ-ДД", - "stats.yesterday": "Yesterday", - "stats.today": "Today", + "stats.yesterday": "Вчера", + "stats.today": "Сегодня", "stats.last-week": "Last Week", "stats.this-week": "This Week", "stats.last-month": "Last Month", @@ -23,43 +23,43 @@ "stats.all": "Всё время", "updates": "Обновления", - "running-version": "У вас установлен NodeBB версии %1", - "keep-updated": "Всегда проверяйте, что ваш NodeBB обновлен и содержит последнии патчи безопасности и исправления.", - "up-to-date": "

Вы обновились

", - "upgrade-available": "

Вышла новая версия (v%1). Рассмотрите обновление вашего NodeBB

", - "prerelease-upgrade-available": "

Данная версия является предрелизной и уже устарела. Вышла новая версия (v%1). Рассмотрите обновление вашего NodeBB.

", - "prerelease-warning": "

Данная версия NodeBB является предрелизной. Возможно вы столкнетесь со случайными багами.

", - "running-in-development": "Форум работает в режиме для разработчиков. Это может привести к уязвимостям; пожалуйста, свяжитесь с вашим сисадмином.", + "running-version": "Вы используете NodeBB версии %1", + "keep-updated": "Пожалуйста, следите за тем, чтобы NodeBB своевременно обновлялся и получал все необходимые исправления ошибок и уязвимостей.", + "up-to-date": "

Вы используете актуальную версию

", + "upgrade-available": "

Вышла новая версия NodeBB (v%1). Хотите установить обновление?

", + "prerelease-upgrade-available": "

Вы используете устаревшую предрелизную версию NodeBB. Вышла новая (v%1). Хотите установить обновление?

", + "prerelease-warning": "

Вы используете предрелизную версию NodeBB. Вы можете столкнуться с разнообразными ошибками в её работе.

", + "running-in-development": "Форум работает в режиме для разработчиков. Это значит, что он может быть более уязвим для внешних угроз; пожалуйста, свяжитесь с вашим сисадмином.", "latest-lookup-failed": "

Не удалось проверить наличие обновлений NodeBB

", - "notices": "Уведомления", - "restart-not-required": "Перезапуск не необходим", - "restart-required": "Перезапуск необходим", - "search-plugin-installed": "Поисковой плагин установлен", - "search-plugin-not-installed": "Поисковой плагин не установлен", - "search-plugin-tooltip": "Установите поисковый плагин на странице плагинов чтобы включить функцию поиска", + "notices": "Примечания", + "restart-not-required": "Перезапуск не требуется", + "restart-required": "Требуется перезапуск", + "search-plugin-installed": "Плагин поиска установлен", + "search-plugin-not-installed": "Плагин поиска не установлен", + "search-plugin-tooltip": "Чтобы включить функцию поиска, установите соответствующий плагин на странице управления плагинами", - "control-panel": "Управление", + "control-panel": "Управление системой", "rebuild-and-restart": "Пересобрать и Перезапустить", "restart": "Перезапустить", - "restart-warning": "Пересборка и Перезапуск вашего NodeBB оборвет все имеющиеся соединения на несколько секунд.", - "restart-disabled": "Пересборка и Перезапуск вашего NodeBB была отключена, т.к. похоже, что вы запустили форум без использования соответствующего демона.", - "maintenance-mode": "Режим тех обслуживания", - "maintenance-mode-title": "Нажмите, чтобы включить режим тех обслуживания", + "restart-warning": "Пересборка или перезапуск вашего NodeBB на несколько секунд оборвёт все имеющиеся соединения.", + "restart-disabled": "Пересборка и перезапуск вашего NodeBB была отключена, поскольку вы запустили форум без использования соответствующего демона.", + "maintenance-mode": "Режим техобслуживания", + "maintenance-mode-title": "Нажмите, чтобы включить и настроить режим техобслуживания", "realtime-chart-updates": "Обновление графиков в реальном времени", - "active-users": "Активных пользователей", - "active-users.users": "Пользователей", + "active-users": "Активных посетителей", + "active-users.users": "Польз.", "active-users.guests": "Гостей", "active-users.total": "Всего", "active-users.connections": "Соединений", - "anonymous-registered-users": "Анонимных и Зарегистированных", - "anonymous": "Анонимных", - "registered": "Зарегистрированных", + "anonymous-registered-users": "Анонимные / Зарегистрированные", + "anonymous": "Анонимные", + "registered": "Зарегистрированные", - "user-presence": "Присутствующих пользователей", - "on-categories": "В списках тем", + "user-presence": "Присутствие", + "on-categories": "В списке категорий", "reading-posts": "Читают сообщения", "browsing-topics": "Просматривают темы", "recent": "Новые", @@ -67,13 +67,13 @@ "high-presence-topics": "Популярные темы", - "graphs.page-views": "Просмотров", - "graphs.page-views-registered": "Зарегистрировано просмотров", - "graphs.page-views-guest": "Просмотров гостей", - "graphs.page-views-bot": "Просмотров ботов", - "graphs.unique-visitors": "Уникальных пользователей", + "graphs.page-views": "Просмотры", + "graphs.page-views-registered": "Просм. зарегистрированными", + "graphs.page-views-guest": "Просмотров гостями", + "graphs.page-views-bot": "Просмотров ботами", + "graphs.unique-visitors": "Уникальных посетителей", "graphs.registered-users": "Зарегистрированных пользователей", "graphs.anonymous-users": "Анонимных пользователей", "last-restarted-by": "Последний перезапуск:", - "no-users-browsing": "Участников нет" + "no-users-browsing": "Просмотров нет" } diff --git a/public/language/ru/admin/general/homepage.json b/public/language/ru/admin/general/homepage.json index 494c564c6a..2b6c14fe4d 100644 --- a/public/language/ru/admin/general/homepage.json +++ b/public/language/ru/admin/general/homepage.json @@ -1,8 +1,8 @@ { - "home-page": "Домашняя страница", - "description": "Выюбрать какую страницу показывать когда пользователи доходят до верхнего URL форума.", - "home-page-route": "Переход на домашнюю страницу", - "custom-route": "Настраиваемый переход", - "allow-user-home-pages": "Разрешить пользовательские домашние страницы", - "home-page-title": "Название домашней страницы (по умолчанию \"Домашняя\")" + "home-page": "Главная страница", + "description": "Выберите, какую страницу показывать по корневому URL форума.", + "home-page-route": "Маршрут для главной страницы", + "custom-route": "Другой маршрут", + "allow-user-home-pages": "Разрешить пользователям выбирать персональные главные страницы", + "home-page-title": "Заголовок домашней страницы («Главная» по умолчанию)" } \ No newline at end of file diff --git a/public/language/ru/admin/general/languages.json b/public/language/ru/admin/general/languages.json index 641d366241..f7a6b365f9 100644 --- a/public/language/ru/admin/general/languages.json +++ b/public/language/ru/admin/general/languages.json @@ -1,6 +1,6 @@ { "language-settings": "Языковые настройки", - "description": "Язык по умолчанию определяет языковые настройки для все посетителей форума.
Отдельные пользователи могут переопределить язык по умолчанию на странице настроек их аккаунта.", + "description": "Язык по умолчанию определяет языковые настройки для всех посетителей форума.
Зарегистрированные пользователи могут выбрать другой язык в настройках своего профиля.", "default-language": "Язык по умолчанию", - "auto-detect": "Настройки автоопределения языка для Гостей" + "auto-detect": "Автоматически определять язык для гостей" } \ No newline at end of file diff --git a/public/language/ru/admin/general/navigation.json b/public/language/ru/admin/general/navigation.json index 2fee361bf4..4bcef87827 100644 --- a/public/language/ru/admin/general/navigation.json +++ b/public/language/ru/admin/general/navigation.json @@ -1,12 +1,12 @@ { "icon": "Иконка:", "change-icon": "изменить", - "route": "Роут:", + "route": "Маршрут:", "tooltip": "Подсказка:", "text": "Текст:", - "text-class": "Класс текста: опциоально", + "text-class": "Класс текста: опционально", "class": "Класс: опционально", - "id": "ID: опциоанально", + "id": "ID: опционально", "properties": "Свойства:", "groups": "Группы:", @@ -17,7 +17,7 @@ "btn.enable": "Включить", "available-menu-items": "Доступные пункты меню", - "custom-route": "Настроить роут", + "custom-route": "Произвольный маршрут", "core": "ядро", "plugin": "плагин" } \ No newline at end of file diff --git a/public/language/ru/admin/general/social.json b/public/language/ru/admin/general/social.json index 706bd3cf95..7a4239e955 100644 --- a/public/language/ru/admin/general/social.json +++ b/public/language/ru/admin/general/social.json @@ -1,5 +1,5 @@ { - "post-sharing": "Поделиться постом", - "info-plugins-additional": "Плагины могут добавить дополнительные сети чтобы делиться постами", - "save-success": "Успешно сохранены сети чтобы делиться постами!" + "post-sharing": "Делиться сообщениями в", + "info-plugins-additional": "Плагины могут добавить дополнительные опции для функции «поделиться сообщением»", + "save-success": "Настройки функции «поделиться сообщением» сохранены!" } \ No newline at end of file diff --git a/public/language/ru/admin/general/sounds.json b/public/language/ru/admin/general/sounds.json index aeb35e856b..f84b71d629 100644 --- a/public/language/ru/admin/general/sounds.json +++ b/public/language/ru/admin/general/sounds.json @@ -1,9 +1,9 @@ { "notifications": "Уведомления", - "chat-messages": "Сообщения", + "chat-messages": "Сообщения чата", "play-sound": "Воспроизвести", "incoming-message": "Входящие сообщения", "outgoing-message": "Исходящие сообщения", - "upload-new-sound": "Загрузить новую мелодию", + "upload-new-sound": "Загрузить новый звук", "saved": "Настройки сохранены" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/admins-mods.json b/public/language/ru/admin/manage/admins-mods.json index a51865bea9..a3fc963deb 100644 --- a/public/language/ru/admin/manage/admins-mods.json +++ b/public/language/ru/admin/manage/admins-mods.json @@ -1,10 +1,10 @@ { "administrators": "Администраторы", - "global-moderators": "Глобальные Модераторы", - "no-global-moderators": "Нет Глобальных Модераторов", - "moderators-of-category": "%1 Модераторов", - "no-moderators": "Нет Модераторов", - "add-administrator": "Добавить Администратора", - "add-global-moderator": "Добавить Глобального Администратора", - "add-moderator": "Добавить Модератора" + "global-moderators": "Глобальные модераторы", + "no-global-moderators": "Нет глобальных модераторов", + "moderators-of-category": "Модераторы категории «%1»", + "no-moderators": "Нет модераторов", + "add-administrator": "Добавить администратора", + "add-global-moderator": "Добавить глобального модератора", + "add-moderator": "Добавить модератора" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/categories.json b/public/language/ru/admin/manage/categories.json index 29541e536d..49fb5d2bf4 100644 --- a/public/language/ru/admin/manage/categories.json +++ b/public/language/ru/admin/manage/categories.json @@ -15,16 +15,16 @@ "delete-image": "Удалить", "category-image": "Изображение категории", "parent-category": "Родительская категория", - "optional-parent-category": "(не обязательно) Родительская категория\n", - "parent-category-none": "(Пусто)", - "copy-parent": "Скопировать Родительский", + "optional-parent-category": "(Не обязательно) Родительская категория\n", + "parent-category-none": "(Не указана)", + "copy-parent": "Скопировать из родительской", "copy-settings": "Копировать настройки из", - "optional-clone-settings": "(не обязательно) Копировать настройки из", - "clone-children": "Дублировать вложенные категориии настройки", + "optional-clone-settings": "(Не обязательно) Копировать настройки из", + "clone-children": "Скопировать вложенные категории и их настройки", "purge": "Очистить категорию", "enable": "Включить", - "disable": "Выключить", + "disable": "Отключить", "edit": "Редактировать", "select-category": "Указать категорию", @@ -34,18 +34,18 @@ "privileges.category-selector": "Настройка привилегий для", "privileges.warning": "Замечание: Настройки прав применяются немедленно. Нет необходимости сохранять категорию после изменения настроек.", "privileges.section-viewing": "Права на просмотр", - "privileges.section-posting": "Права на создание поста", + "privileges.section-posting": "Права на публикацию", "privileges.section-moderation": "Права модераторов", "privileges.section-other": "Другое", "privileges.section-user": "Пользователь", "privileges.search-user": "Добавить пользователя", "privileges.no-users": "В этой категории нет специально заданных прав пользователя.", "privileges.section-group": "Группа", - "privileges.group-private": "Это частная группа", + "privileges.group-private": "Это закрытая группа", "privileges.search-group": "Добавить группу", - "privileges.copy-to-children": "Скопировать в дочерний", + "privileges.copy-to-children": "Скопировать в дочерние", "privileges.copy-from-category": "Скопировать из категории", - "privileges.copy-privileges-to-all-categories": "Copy to All Categories", + "privileges.copy-privileges-to-all-categories": "Скопировать во все категории", "privileges.copy-group-privileges-to-children": "Copy this group's privileges to the children of this category.", "privileges.copy-group-privileges-to-all-categories": "Copy this group's privileges to all categories.", "privileges.copy-group-privileges-from": "Copy this group's privileges from another category.", @@ -53,29 +53,29 @@ "privileges.copy-success": "Privileges copied!", "analytics.back": "Назад к списку категорий", - "analytics.title": "Аналитика \"%1\" категории", - "analytics.pageviews-hourly": "График 1 – просмотры этой категории за час", - "analytics.pageviews-daily": "График 2 – просмотры этой категории за день", - "analytics.topics-daily": "График 3 – Созданные топики в этой категории за день", - "analytics.posts-daily": "График 4 – Посты, сделанные в этой категории за день", + "analytics.title": "Аналитика категории \"%1\"", + "analytics.pageviews-hourly": "График 1 – просмотров за час", + "analytics.pageviews-daily": "График 2 – просмотров за день", + "analytics.topics-daily": "График 3 – новых тем за день", + "analytics.posts-daily": "График 4 – новых сообщений за день", "alert.created": "Создано", "alert.create-success": "Категория успешно создана!", "alert.none-active": "У вас нет активных категорий.", "alert.create": "Создать категорию", - "alert.confirm-moderate": " Вы уверены, что предоставляете права модератора этой группе пользователей? Это открытая группа, так что любой пользователь может к ней присоединиться по желанию.", - "alert.confirm-purge": "

Вы точно хотите очистить эту категорию \"%1\"?

Предупреждение! Все топики и посты этой категории будут удалены

Очистка категории удаляет все топики и посты, а также удаляет категорию из базы данных. Если вы хотите удалить категорию временно, вместо очистки вам нужно выбрать \"отключить\" .

", + "alert.confirm-moderate": " Вы уверены, что хотите предоставить участникам этой группы права модератора? Это открытая группа, так что любой пользователь может к ней присоединиться по желанию.", + "alert.confirm-purge": "

Вы точно хотите очистить категорию \"%1\"?

Предупреждение! Все темы и сообщения в этой категории будут удалены

Очистка категории удаляет все темы и сообщения, а также саму категорию из базы данных. Если вы хотите удалить категорию временно, вместо очистки вам нужно выбрать \"отключить\" .

", "alert.purge-success": "Категория очищена!", "alert.copy-success": "Настройки скопированы!", - "alert.set-parent-category": "Установить родительскую категорию", + "alert.set-parent-category": "Выбрать родительскую категорию", "alert.updated": "Обновленные категории", - "alert.updated-success": "Категория IDs %1 успешно обновлена.", + "alert.updated-success": "Категории с ID %1 успешно обновлены.", "alert.upload-image": "Загрузить изображение категории", "alert.find-user": "Найти пользователя", "alert.user-search": "Искать пользователя...", - "alert.find-group": "Найти Группу", + "alert.find-group": "Найти группу", "alert.group-search": "Искать группу...", "collapse-all": "Свернуть всё", "expand-all": "Развернуть всё", - "disable-on-create": "Отключить при созднии" + "disable-on-create": "Отключить при создании" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/groups.json b/public/language/ru/admin/manage/groups.json index 17972116f5..ab6fc33476 100644 --- a/public/language/ru/admin/manage/groups.json +++ b/public/language/ru/admin/manage/groups.json @@ -1,12 +1,12 @@ { "name": "Название группы", - "badge": "Badge", - "properties": "Properties", + "badge": "Значок", + "properties": "Свойства", "description": "Описание группы", "member-count": "Число участников", - "system": "System", - "hidden": "Hidden", - "private": "Private", + "system": "Системная", + "hidden": "Скрытая", + "private": "Закрытая", "edit": "Редактировать", "search-placeholder": "Поиск", "create": "Создать группу", @@ -18,17 +18,17 @@ "edit.name": "Название", "edit.description": "Описание", - "edit.user-title": "Имя участников", + "edit.user-title": "Звание участников", "edit.icon": "Иконка группы", - "edit.label-color": "Цвет метки группы", - "edit.text-color": "Group Text Color", - "edit.show-badge": "Показывать бейдж", - "edit.private-details": "Если включено, то вступление в группу требует подтверждение владельца.", - "edit.private-override": "Внимание: Приватные группы отключены на системном уровне.", - "edit.disable-join": "Disable join requests", - "edit.disable-leave": "Disallow users from leaving the group", - "edit.hidden": "Скрыто", - "edit.hidden-details": "Если включено, то эта группа не будет отображаться в списке групп, и участников нужно будет приглашать вручную", + "edit.label-color": "Цвет ярлыка группы", + "edit.text-color": "Цвет текста на ярлыке", + "edit.show-badge": "Показывать значок группы", + "edit.private-details": "Если включено, то вступление в группу требует подтверждения от её владельца.", + "edit.private-override": "Внимание: Закрытые группы отключены на системном уровне.", + "edit.disable-join": "Отключить запросы на вступление", + "edit.disable-leave": "Запретить участникам покидать группу", + "edit.hidden": "Скрытая", + "edit.hidden-details": "Если включено, группа будет скрыта в списках, а участников необходимо будет приглашать вручную", "edit.add-user": "Добавить участника в группу", "edit.add-user-search": "Поиск участников", "edit.members": "Список участников", @@ -36,6 +36,6 @@ "revert": "Отменить", "edit.no-users-found": "Участников не найдено", - "edit.confirm-remove-user": "Вы уверены что хотите удалить этого участника?", + "edit.confirm-remove-user": "Вы уверены, что хотите удалить этого участника?", "edit.save-success": "Изменения сохранены!" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/ip-blacklist.json b/public/language/ru/admin/manage/ip-blacklist.json index 7db2340b08..d1813147cf 100644 --- a/public/language/ru/admin/manage/ip-blacklist.json +++ b/public/language/ru/admin/manage/ip-blacklist.json @@ -1,19 +1,19 @@ { "lead": "Настройка черного списка IP", - "description": "Иногда блокировка учетной записи является недостаточной. В в этом случае ограничение доступа к форуму по IP-адресу или списку IP-адресов — лучший способ защиты. Здесь вы можете добавить нежелательные IP-адреса или целые блоки IP-адресов в формате CIDR в этот черный список, и им будет запрещено входить в систему или регистрировать новую учетную запись.", + "description": "Иногда блокировки учётной записи не достаточно. В этом случае ограничение доступа к форуму по IP-адресу или списку IP-адресов — лучший способ защиты. Здесь вы можете добавить нежелательные IP-адреса или целые блоки IP-адресов в формате CIDR в чёрный список, и им будет запрещено входить в систему или регистрировать новую учётную запись.", "active-rules": "Активные правила", "validate": "Проверить черный список", "apply": "Применить черный список", "hints": "Подсказки по синтаксису", - "hint-1": "Указывайте один IP адрес в строке. Вы можете добавлять блокировки для подсетей в формате CIDR (например, 192.168.100.0/22)", - "hint-2": "Вы можете добавить комментарии поставив символ # в начале строки.", + "hint-1": "Указывайте по одному IP-адресу на строку. Вы можете добавлять блокировки для подсетей в формате CIDR (например, 192.168.100.0/22)", + "hint-2": "Вы можете добавить комментарий, поставив символ # в начале строки.", - "validate.x-valid": "%1 из %2 правил неверны.", - "validate.x-invalid": "Следующие правила %1 неверны:", + "validate.x-valid": "%1 из %2 правил некорректны.", + "validate.x-invalid": "Следующие правила %1 некорректны:", - "alerts.applied-success": "Черный список применен", + "alerts.applied-success": "Черный список применён", - "analytics.blacklist-hourly": "Цыфра 1 – количество блокировок в час", - "analytics.blacklist-daily": "Цыфра 2 – количество блокировок в день", + "analytics.blacklist-hourly": "График 1 – количество блокировок в час", + "analytics.blacklist-daily": "График 2 – количество блокировок в день", "ip-banned": "IP заблокирован" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/post-queue.json b/public/language/ru/admin/manage/post-queue.json index cc15956a53..48d59429e6 100644 --- a/public/language/ru/admin/manage/post-queue.json +++ b/public/language/ru/admin/manage/post-queue.json @@ -1,7 +1,7 @@ { - "post-queue": "Очередь модерации", - "description": "There are no posts in the post queue.
To enable this feature, go to Settings → Post → Post Queue and enable Post Queue.", - "user": "Участник", + "post-queue": "Очередь на публикацию", + "description": "В очереди на публикацию нет сообщений.
Чтобы включить эту функцию, перейдите в Настройки → Сообщения → Очередь на публикацию и включите Очередь на публикацию.", + "user": "Пользователь", "category": "Категория", "title": "Название", "content": "Содержимое", diff --git a/public/language/ru/admin/manage/privileges.json b/public/language/ru/admin/manage/privileges.json index 8f778e18f8..375809190c 100644 --- a/public/language/ru/admin/manage/privileges.json +++ b/public/language/ru/admin/manage/privileges.json @@ -1,13 +1,13 @@ { "global": "Глобальные", - "global.no-users": "Глобальные права не привязанные в участнику", - "group-privileges": "Group Privileges", - "user-privileges": "User Privileges", + "global.no-users": "Нет специально заданных глобальных прав пользователя.", + "group-privileges": "Права групп", + "user-privileges": "Права пользователей", "chat": "Чат", - "upload-images": "Загрузка изображений", - "upload-files": "Загрузка файлов", + "upload-images": "Загружать сообщения", + "upload-files": "Загружать файлы", "signature": "Подпись", - "ban": "Блокировка", + "ban": "Блокировать", "search-content": "Поиск по содержимому", "search-users": "Поиск участников", "search-tags": "Поиск тегов", diff --git a/public/language/ru/admin/manage/tags.json b/public/language/ru/admin/manage/tags.json index 9daae024bf..db20d901f7 100644 --- a/public/language/ru/admin/manage/tags.json +++ b/public/language/ru/admin/manage/tags.json @@ -1,15 +1,15 @@ { - "none": "Ваш форум пока не имеет тем с метками.", + "none": "На вашем форуме пока нет тем с метками.", "bg-color": "Цвет фона", "text-color": "Цвет текста", - "create-modify": "Создать и Изменить Метки", - "description": "Выберите метки кликая по ним или перетаскивая их, используйте shift для выбора нескольких.", + "create-modify": "Создать и изменить метки", + "description": "Нажмите на метку, чтобы выбрать её, или просто перетащите. Используйте клавишу Shift, чтобы выбрать несколько меток.", "create": "Создать метку", "modify": "Изменить метку", "rename": "Переименовать метку", "delete": "Удалить выбранные метки", "search": "Поиск меток...", - "settings": "Кликните сюда чтобы перейти на страницу настроек меток.", + "settings": "Нажмите сюда чтобы перейти на страницу настройки меток.", "name": "Название метки", "alerts.editing-multiple": "Редактирование нескольких меток", diff --git a/public/language/ru/admin/manage/uploads.json b/public/language/ru/admin/manage/uploads.json index 9d3b76a0c8..6741cb2c57 100644 --- a/public/language/ru/admin/manage/uploads.json +++ b/public/language/ru/admin/manage/uploads.json @@ -1,6 +1,6 @@ { "upload-file": "Загрузить Файл", - "filename": "Имя файла", + "filename": "Название", "usage": "Post Usage", "orphaned": "Отделенный", "size/filecount": "Размер / Файлов", diff --git a/public/language/ru/admin/menu.json b/public/language/ru/admin/menu.json index b8db2bbdcc..d8d770f58a 100644 --- a/public/language/ru/admin/menu.json +++ b/public/language/ru/admin/menu.json @@ -1,7 +1,7 @@ { "section-general": "Общие", "general/dashboard": "Панель управления", - "general/homepage": "Домашняя страница", + "general/homepage": "Главная страница", "general/navigation": "Навигация", "general/languages": "Языки", "general/sounds": "Звуки", @@ -10,11 +10,11 @@ "section-manage": "Управление", "manage/categories": "Категории", "manage/privileges": "Привилегии", - "manage/tags": "Теги", + "manage/tags": "Метки", "manage/users": "Пользователи", "manage/admins-mods": "Админы и Модераторы", "manage/registration": "Очередь на регистрацию", - "manage/post-queue": "Очередь публикации", + "manage/post-queue": "Очередь на публикацию", "manage/groups": "Группы", "manage/ip-blacklist": "Блокировка IP", "manage/uploads": "Загрузки", @@ -31,18 +31,18 @@ "settings/post": "Сообщения", "settings/chat": "Чат", "settings/pagination": "Пагинация", - "settings/tags": "Теги", + "settings/tags": "Метки", "settings/notifications": "Оповещения", "settings/cookies": "Куки", "settings/web-crawler": "Индексация", "settings/sockets": "Сокеты", "settings/advanced": "Продвинутые", - "settings.page-title": "%1 Настройки", + "settings.page-title": "Настройки %1", "section-appearance": "Вид", "appearance/themes": "Темы", - "appearance/skins": "Скины", + "appearance/skins": "Стили", "appearance/customise": "Настройка контента (HTML/JS/CSS)", "section-extend": "Расширения", @@ -68,7 +68,7 @@ "rebuild-and-restart-forum": "Пересобрать и перезапустить форум", "restart-forum": "Перезапустить Форум", "logout": "Выйти", - "view-forum": "Просмотреть Форум", + "view-forum": "Перейти на форум", "search.placeholder": "Поиск настроек", "search.no-results": "Нет результата...", @@ -78,6 +78,6 @@ "connection-lost": "Соединение с %1 потеряно, пытаюсь переподключиться...", - "alerts.version": "Запущена версия v%1 NodeBB", - "alerts.upgrade": "Обновление до v%1" + "alerts.version": "Вы используете NodeBB версии %1", + "alerts.upgrade": "Обновить до v%1" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/email.json b/public/language/ru/admin/settings/email.json index cfdcc04a5b..6697fb12c4 100644 --- a/public/language/ru/admin/settings/email.json +++ b/public/language/ru/admin/settings/email.json @@ -32,7 +32,7 @@ "testing": "Email Testing", "testing.select": "Select Email Template", "testing.send": "Send Test Email", - "testing.send-help": "The test email will be sent to the currently logged in user's email address.", + "testing.send-help": "Проверочное письмо будет отправлено на электронную почту пользователя, который сейчас пользуется панелью администратора.", "subscriptions": "Email Digests", "subscriptions.disable": "Disable email digests", "subscriptions.hour": "Digest Hour", diff --git a/public/language/ru/admin/settings/user.json b/public/language/ru/admin/settings/user.json index d9a6f9cb28..65fc85a2b6 100644 --- a/public/language/ru/admin/settings/user.json +++ b/public/language/ru/admin/settings/user.json @@ -21,8 +21,8 @@ "account-protection": "Защита аккаунта", "admin-relogin-duration": "Таймер повторного логина администратора (минут)", "admin-relogin-duration-help": "После установки промежутка времени доступ в консоль администратора потребует повторный логин, установка 0 отменяет это.", - "login-attempts": "Попыток логина за час", - "login-attempts-help": "Если попытки логина 's превысят это значение, то аккаунт будет заблокирован на заранее установленный промежуток времени", + "login-attempts": "Попыток входа в час", + "login-attempts-help": "Если это значение будет превышено, учётная запись пользователя будет заблокирована на указанный промежуток времени", "lockout-duration": "Длительность блокировки аккаунта (минут)", "login-days": "Дней помнить сессию залогиненного пользователя", "password-expiry-days": "Заставить сбросить пароль через дней", diff --git a/public/language/ru/category.json b/public/language/ru/category.json index c4fb0c561d..fbd551fd69 100644 --- a/public/language/ru/category.json +++ b/public/language/ru/category.json @@ -2,21 +2,21 @@ "category": "Категория", "subcategories": "Подкатегории", "new_topic_button": "Создать тему", - "guest-login-post": "Войдите под своей учётной записью, чтобы написать ответ", + "guest-login-post": "Авторизуйтесь, чтобы написать сообщение", "no_topics": "В этой категории еще нет тем.
Почему бы вам не создать первую?", "browsing": "просматривают", "no_replies": "Нет ответов", - "no_new_posts": "Нет новых записей", - "watch": "Следить", + "no_new_posts": "Нет новых сообщений", + "watch": "Отслеживать", "ignore": "Игнорировать", - "watching": "Отслеживать", - "not-watching": "Перестать отслеживать", - "ignoring": "Игнорировать", - "watching.description": "Показать непрочитанные и недавние темы", - "not-watching.description": "Не показывать непрочитанные темы, показывать последние", - "ignoring.description": " Не показывать непрочитанные и последние темы", - "watching.message": "Вы сейчас просматриваете обновления из этой категории и всех подкатегорий", + "watching": "Отслеживается", + "not-watching": "Не отслеживается", + "ignoring": "Игнорируется", + "watching.description": "Показывать темы из этой категории в списках непрочитанных и недавних", + "not-watching.description": "Не показывать темы из этой категории в непрочитанных, но оставить в списке недавних", + "ignoring.description": "Не показывать темы из этой категории ни в списке непрочитанных, ни в недавних", + "watching.message": "Вы отслеживаете обновления этой категории, включая все подкатегории", "notwatching.message": "You are not watching updates from this category and all subcategories", "ignoring.message": "You are now ignoring updates from this category and all subcategories", - "watched-categories": "Ваши сообщества" + "watched-categories": "Отслеживаемые категории" } \ No newline at end of file diff --git a/public/language/ru/email.json b/public/language/ru/email.json index e9c01f424c..3ea5dee273 100644 --- a/public/language/ru/email.json +++ b/public/language/ru/email.json @@ -1,19 +1,19 @@ { "test-email.subject": "Test Email", "password-reset-requested": "Password Reset Requested!", - "welcome-to": "Добро пожаловать на сайт %1", + "welcome-to": "Добро пожаловать на %1", "invite": "Приглашение от %1", "greeting_no_name": "Здравствуйте!", "greeting_with_name": "Здравствуйте, %1!", - "email.verify-your-email.subject": "Пожалуйста проверьте свой email", - "email.verify.text1": "Ваш email адрес был изменен!", - "welcome.text1": "Благодарим за регистрацию на сайте %1!", + "email.verify-your-email.subject": "Пожалуйста, подтвердите свой адрес электронной почты", + "email.verify.text1": "Ваш адрес электронной почты был изменён!", + "welcome.text1": "Благодарим за регистрацию на %1!", "welcome.text2": "Для активации вашей учётной записи необходимо подтвердить адрес электронной почты.", "welcome.text3": "Администратор подтвердил вашу регистрацию. Теперь вы можете авторизоваться на сайте.", "welcome.cta": "Перейдите по ссылке для подтверждения вашей электронной почты", - "invitation.text1": "%1 пригласил вас на сайт %2", - "invitation.text2": "Ваше приглашение завершится в течении %1 дней.", - "invitation.cta": "Click here to create your account.", + "invitation.text1": "%1 пригласил вас на %2", + "invitation.text2": "Срок действия вашего приглашения истечёт через %1 дней.", + "invitation.cta": "Нажмите здесь, чтобы создать учётную запись.", "reset.text1": "Кто-то отправил запрос на сброс пароля на нашем сайте. Если вы не подавали запрос, пожалуйста, проигнорируйте это сообщение.", "reset.text2": "Для продолжения процедуры изменения пароля перейдите по ссылке:", "reset.cta": "Нажмите здесь для изменения пароля", @@ -26,13 +26,13 @@ "digest.day": "день", "digest.week": "неделя", "digest.month": "месяц", - "digest.subject": "Новости для %1", + "digest.subject": "Новости за %1", "digest.title.day": "Your Daily Digest", "digest.title.week": "Your Weekly Digest", "digest.title.month": "Your Monthly Digest", "notif.chat.subject": "Новое сообщение от %1", "notif.chat.cta": "Нажмите, чтобы ответить", - "notif.chat.unsub.info": "Вы получили это уведомление в соответствии с настройками своей подписки на новости сайта.", + "notif.chat.unsub.info": "Вы получили это уведомление согласно вашим настройкам подписки.", "notif.post.unsub.info": "Вы получили это уведомление согласно вашим настройкам подписки.", "notif.post.unsub.one-click": "Alternatively, unsubscribe from future emails like this, by clicking", "notif.cta": "To the forum", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 13ada3fcc0..8f7e78541c 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -5,27 +5,27 @@ "account-locked": "Учётная запись временно заблокирована", "search-requires-login": "Поиск доступен только для зарегистрированных участников. Пожалуйста, войдите или зарегистрируйтесь.", "goback": "Нажмите \"назад\", чтобы вернуться на предыдущую страницу", - "invalid-cid": "Неверный идентификатор сообщества", - "invalid-tid": "Неверный идентификатор темы", - "invalid-pid": "Неверный идентификатор сообщения", - "invalid-uid": "Неверный идентификатор пользователя", - "invalid-username": "Неверное имя пользователя", - "invalid-email": "Неверный адрес электронной почты", - "invalid-fullname": "Invalid Fullname", + "invalid-cid": "Неправильный ID категории", + "invalid-tid": "Неправильный ID темы", + "invalid-pid": "Неправильный ID сообщения", + "invalid-uid": "Неправильный ID пользователя", + "invalid-username": "Неправильное имя пользователя", + "invalid-email": "Неправильный адрес электронной почты", + "invalid-fullname": "Некорректное полное имя", "invalid-location": "Invalid Location", - "invalid-birthday": "Invalid Birthday", + "invalid-birthday": "Некорректная дата рождения", "invalid-title": "Некорректный заголовок", - "invalid-user-data": "Неверные пользовательские данные", - "invalid-password": "Неверный пароль", - "invalid-login-credentials": "Неверные логин или пароль", + "invalid-user-data": "Некорректные пользовательские данные", + "invalid-password": "Неправильный пароль", + "invalid-login-credentials": "Неправильный логин или пароль", "invalid-username-or-password": "Пожалуйста, укажите имя пользователя и пароль", - "invalid-search-term": "Неверный поисковой запрос", + "invalid-search-term": "Некорректный поисковый запрос", "invalid-url": "Некорректный URL", "local-login-disabled": "Локальная система входа отключена для не-привилегированных учетных записей.", "csrf-invalid": "Нам не удалось вас найти из-за просроченной сессии. Попробуйте ещё раз.", - "invalid-pagination-value": "Неверно указан номер страницы. Значение должно быть в диапазоне от %1 до %2", - "username-taken": "Участник с таким именем пользователя уже зарегистрирован. Пожалуйста, выберите другое имя пользователя.", - "email-taken": "Участник с этой электронной почтой уже зарегистрирован. Если вы забыли свой пароль, отправьте запрос на восстановление пароля.", + "invalid-pagination-value": "Неправильно указан номер страницы. Значение должно быть в диапазоне от %1 до %2", + "username-taken": "Это имя пользователя уже занято", + "email-taken": "Пользователь с таким адресом электронной почты уже зарегистрирован", "email-not-confirmed": "Ваша электронная почта не подтверждена, нажмите для подтверждения.", "email-not-confirmed-chat": "Вы не можете оставлять сообщения, пока ваша электронная почта не подтверждена. Отправить письмо с кодом подтверждения повторно.", "email-not-confirmed-email-sent": "Ваш адрес электронной почты ещё не подтвержден. Вам было отправлено письмо с кодом подтверждения, пожалуйста, проверьте ваш почтовый ящик и подтвердите регистрацию.", @@ -38,42 +38,42 @@ "username-too-long": "Имя пользователя слишком длинное", "password-too-long": "Пароль слишком длинный", "reset-rate-limited": "Too many password reset requests (rate limited)", - "user-banned": "Участник заблокирован", + "user-banned": "Пользователь заблокирован", "user-banned-reason": "Учетная запись заблокирована (Причина: %1)", - "user-banned-reason-until": "Извините, этот аккаунт забанен до %1 (Причина: %2)", - "user-too-new": "Вы можете написать своё первое сообщение через %1 сек.", - "blacklisted-ip": "Извините, ваш IP адрес был забанен этим сообществом. Если вы считаете, что это ошибка, пожалуйста, свяжитесь с администратором.", + "user-banned-reason-until": "Извините, эта учётная запись заблокирована до %1 (Причина: %2)", + "user-too-new": "Вы сможете написать своё первое сообщение через %1 сек.", + "blacklisted-ip": "Извините, ваш IP адрес был заблокирован этим сообществом. Если вы считаете, что это ошибка, пожалуйста, свяжитесь с администратором.", "ban-expiry-missing": "Пожалуйста, укажите дату окончания этой блокировки", - "no-category": "Такого сообщества не существует", + "no-category": "Такой категории не существует", "no-topic": "Такой темы не существует", - "no-post": "Такой записи не существует", + "no-post": "Такого сообщения не существует", "no-group": "Такой группы не существует", - "no-user": "Такого участника не существует", + "no-user": "Такого пользователя не существует", "no-teaser": "Такого тизера не существует", "no-privileges": "У вас недостаточно прав для этого действия.", - "category-disabled": "Сообщество отключено", + "category-disabled": "Категория отключена", "topic-locked": "Тема закрыта", - "post-edit-duration-expired": "Записи можно редактировать только в течение %1 сек. после публикации", - "post-edit-duration-expired-minutes": "Вы можете редактировать запись только в течение %1 мин. после публикации.", - "post-edit-duration-expired-minutes-seconds": "Вы можете редактировать запись в течение %1 мин. %2 сек. после публикации.", - "post-edit-duration-expired-hours": "Вы можете редактировать запись в течение %1 ч. после публикации.", - "post-edit-duration-expired-hours-minutes": "Вы можете редактировать запись в течение %1 ч. %2 мин. после публикации.", - "post-edit-duration-expired-days": "Вы можете редактировать запись в течение %1 дн. после публикации.", - "post-edit-duration-expired-days-hours": "Вы можете редактировать запись в течение %1 дн. и %2 ч. после публикации.", - "post-delete-duration-expired": "Записи можно удалять только через %1 сек. после публикации", - "post-delete-duration-expired-minutes": "Запись можно удалить только через %1 мин. после публикации", - "post-delete-duration-expired-minutes-seconds": "Запись можно удалить только через %1 мин. 2% сек. после публикации", - "post-delete-duration-expired-hours": "Запись можно удалить только через %1 ч. после публикации", - "post-delete-duration-expired-hours-minutes": "Запись можно удалить только через %1 ч. 2% мин. после публикации", - "post-delete-duration-expired-days": "Запись можно удалить только через %1 дн. после публикации", - "post-delete-duration-expired-days-hours": "Запись можно удалить только через %1 дн. 2% ч. после публикации", + "post-edit-duration-expired": "Сообщения можно редактировать только в течение %1 с после публикации", + "post-edit-duration-expired-minutes": "Сообщения можно редактировать только в течение %1 мин после публикации.", + "post-edit-duration-expired-minutes-seconds": "Сообщения можно редактировать только в течение %1 мин %2 с после публикации.", + "post-edit-duration-expired-hours": "Сообщения можно редактировать в течение %1 ч после публикации.", + "post-edit-duration-expired-hours-minutes": "Сообщения можно редактировать в течение %1 ч %2 мин после публикации.", + "post-edit-duration-expired-days": "Сообщения можно редактировать в течение %1 дн. после публикации.", + "post-edit-duration-expired-days-hours": "Сообщения можно редактировать в течение %1 дн. и %2 ч после публикации.", + "post-delete-duration-expired": "Сообщение можно удалить только в течение %1 с после публикации.", + "post-delete-duration-expired-minutes": "Сообщение можно удалить только в течение %1 мин после публикации.", + "post-delete-duration-expired-minutes-seconds": "Сообщение можно удалить только в течение %1 мин %2 с после публикации.", + "post-delete-duration-expired-hours": "Сообщение можно удалить в течение %1 ч после публикации.", + "post-delete-duration-expired-hours-minutes": "Сообщение можно удалить в течение %1 ч %2 мин после публикации.", + "post-delete-duration-expired-days": "Сообщение можно удалить в течение %1 дн. после публикации.", + "post-delete-duration-expired-days-hours": "Сообщение можно удалить в течение %1 дн. %2 ч после публикации.", "cant-delete-topic-has-reply": "Нельзя удалить тему после того, как в ней появились ответы", "cant-delete-topic-has-replies": "Нельзя удалить свою тему после того, как в ней появились ответы (%1 шт.)", "content-too-short": "Слишком короткое сообщение. Пожалуйста, напишите подробнее (минимум %1 символов).", "content-too-long": "Слишком длинное сообщение. Пожалуйста, сократите ваше сообщение до %1 символов.", "title-too-short": "Слишком короткий заголовок. Пожалуйста, напишите подробнее (минимум %1 символов).", "title-too-long": "Слишком длинный заголовок. Пожалуйста, сократите заголовок до %1 символов.", - "category-not-selected": "Сообщество не выбрано", + "category-not-selected": "Категория не выбрана", "too-many-posts": "Для того, чтобы разместить новое сообщение, нужно подождать %1 сек.", "too-many-posts-newbie": "Для того, чтобы разместить новое сообщение, нужно подождать %1 сек. Это время уменьшится, как только ваша репутация вырастет до %2.", "tag-too-short": "Слишком короткая метка. Минимум %1 символов.", @@ -83,12 +83,12 @@ "still-uploading": "Пожалуйста, подождите завершения загрузки.", "file-too-big": "Слишком большой файл. Максимальный размер: %1 Кбайт.", "guest-upload-disabled": "Загрузка файлов для гостей отключена. Чтобы загрузить файл, пожалуйста, войдите или зарегистрируйтесь на сайте.", - "cors-error": "Невозможно загрузить изображение из-за неверного CORS", - "already-bookmarked": "Эта запись уже есть в закладках", - "already-unbookmarked": "Эта запись уже удалена из закладок", - "cant-ban-other-admins": "Вы не можете забанить других администраторов", - "cant-remove-last-admin": "Вы единственный администратор в этом сообществе. Чтобы отказаться от своих полномочий, пожалуйста, назначьте администратором другого участника.", - "cant-delete-admin": "Чтобы удалить эту учётную запись, сначала надо снять с неё полнмочия администратора.", + "cors-error": "Невозможно загрузить изображение из-за некорректного CORS", + "already-bookmarked": "Вы уже добавили это сообщение в закладки", + "already-unbookmarked": "Вы уже удалили это сообщение из закладок", + "cant-ban-other-admins": "Вы не можете заблокировать других администраторов!", + "cant-remove-last-admin": "Вы единственный администратор. Чтобы отказаться от своих полномочий, пожалуйста, назначьте администратором другого участника.", + "cant-delete-admin": "Чтобы удалить эту учётную запись, сначала надо снять с неё полномочия администратора.", "invalid-image": "Некорректное изображение", "invalid-image-type": "Этот формат изображения не поддерживается. Загрузите изображение в одном из следующих форматов: %1", "invalid-image-extension": "Недопустимое расширение файла", @@ -103,43 +103,43 @@ "group-needs-owner": "У группы должен быть как минимум один владелец", "group-already-invited": "Этот участник уже был приглашён в группу", "group-already-requested": "Запрос на вступление в группу уже отправлен", - "group-join-disabled": "You are not able to join this group at this time", - "group-leave-disabled": "You are not able to leave this group at this time", + "group-join-disabled": "Сейчас вы не можете присоединиться к этой группе", + "group-leave-disabled": "Сейчас вы не можете покинуть эту группу", "post-already-deleted": "Это сообщение уже удалено", "post-already-restored": "Это сообщение уже восстановлено", "topic-already-deleted": "Тема уже удалена", "topic-already-restored": "Тема уже восстановлена", - "cant-purge-main-post": "Для удаления этой записи необходимо удалить тему", - "topic-thumbnails-are-disabled": "Иконки для темы отключены", - "invalid-file": "Неверный файл", + "cant-purge-main-post": "Вы не можете стереть первое сообщение в теме. Пожалуйста, удалите саму тему.", + "topic-thumbnails-are-disabled": "Иконки тем отключены.", + "invalid-file": "Некорректный файл", "uploads-are-disabled": "Загрузка отключена", - "signature-too-long": "Ваша подпись может быть в пределах %1 символов.", + "signature-too-long": "Ваша подпись не может быть длиннее %1 символов.", "about-me-too-long": "Пожалуйста, постарайтесь уложиться в поле \"О себе\" в %1 символов.", - "cant-chat-with-yourself": "Вы не можете отправить сообщение себе", + "cant-chat-with-yourself": "Вы не можете создать чат с самим собой!", "chat-restricted": "Пользователь ограничил приём сообщений. Чтобы написать ему личное сообщение, необходимо, чтобы он был подписан на вас.", "chat-disabled": "Чат выключен", - "too-many-messages": "Для отправки нового сообщения необходимо подождать, т.к. вы отправили слишком много сообщений подряд.", - "invalid-chat-message": "Ошибка в сообщении", - "chat-message-too-long": "Сообщения чата не могут быть больше чем %1 символов", - "cant-edit-chat-message": "К сожалению, у вас нет доступа для редактирования этого сообщения", + "too-many-messages": "Вы отправили слишком много сообщений, подождите немного.", + "invalid-chat-message": "Некорректное сообщение чата", + "chat-message-too-long": "Сообщения чата не могут быть длиннее %1 символов", + "cant-edit-chat-message": "У вас нет прав доступа, чтобы отредактировать это сообщение", "cant-remove-last-user": "Удалить последнего участника невозможно.", - "cant-delete-chat-message": "К сожалению, у вас нет доступа для удаления этого сообщения", + "cant-delete-chat-message": "У вас нет прав доступа, чтобы удалить это сообщение", "chat-edit-duration-expired": "Вам разрешено редактировать сообщения чата за %1 секунд после публикации", "chat-delete-duration-expired": "Вам разрешено удалять сообщения чата за% 1 секунду после публикации", "chat-deleted-already": "Это сообщение чата уже удалено.", - "chat-restored-already": "This chat message has already been restored.", - "already-voting-for-this-post": "Спасибо, вы уже проголосовали за это сообщение.", + "chat-restored-already": "Это сообщение чата уже было восстановлено.", + "already-voting-for-this-post": "Вы уже проголосовали за это сообщение.", "reputation-system-disabled": "Система репутации отключена.", - "downvoting-disabled": "Понижение оценки отключено", - "not-enough-reputation-to-downvote": "У вас недостаточно репутации для понижения оценки сообщения", - "not-enough-reputation-to-flag": "У Вас недостаточно репутации, чтобы пометить это сообщение.", + "downvoting-disabled": "Понижение рейтинга отключено", + "not-enough-reputation-to-downvote": "У вас недостаточно репутации для понижения рейтинга сообщения", + "not-enough-reputation-to-flag": "У Вас недостаточно репутации, чтобы пожаловаться на это сообщение.", "not-enough-reputation-min-rep-website": "У вас недостаточно репутации, чтобы добавить сайт", "not-enough-reputation-min-rep-aboutme": "У вас недостаточно репутации, чтобы добавить \"обо мне\"", "not-enough-reputation-min-rep-signature": "У вас недостаточно репутации, чтобы добавить подпись", "not-enough-reputation-min-rep-profile-picture": "У вас недостаточно репутации, чтобы добавить аватарку профиля", "not-enough-reputation-min-rep-cover-picture": "У вас недостаточно репутации, чтобы добавить обложку профиля", - "already-flagged": "Вы уже отметили это сообщение", - "self-vote": "Вы не можете голосовать за свои посты", + "already-flagged": "Вы уже пожаловались на это сообщение", + "self-vote": "Вы не можете голосовать за свои собственные сообщения", "reload-failed": "NodeBB обнаружил проблему при перезагрузке: \"%1\". NodeBB продолжит работать с существующими ресурсами клиента, но вы должны отменить то, что сделали перед перезагрузкой.", "registration-error": "Ошибка при регистрации", "parse-error": "Похоже, что-то пошло не так в процессе обработки ответа сервера.", @@ -159,8 +159,8 @@ "cant-move-to-same-topic": "Невозможно переместить посты в эту же тему!", "cannot-block-self": "Вы не можете заблокировать себя!", "cannot-block-privileged": "Вы не можете заблокировать администраторов или глобальных модераторов", - "cannot-block-guest": "Guest are not able to block other users", - "already-blocked": "This user is already blocked", - "already-unblocked": "This user is already unblocked", - "no-connection": "Кажется, что проблема с вашим подключением к Интернету" + "cannot-block-guest": "Гости не могут блокировать пользователей", + "already-blocked": "Этот пользователь уже заблокирован", + "already-unblocked": "Этот пользователь уже разблокирован", + "no-connection": "Похоже, есть проблема с вашим подключением к Интернету" } \ No newline at end of file diff --git a/public/language/ru/flags.json b/public/language/ru/flags.json index 5daf1aa285..ea17520ade 100644 --- a/public/language/ru/flags.json +++ b/public/language/ru/flags.json @@ -1,27 +1,27 @@ { "state": "Состояние", - "reporter": "Осведомитель", - "reported-at": "Оповещено", + "reporter": "Кто сообщил", + "reported-at": "Когда сообщили", "description": "Описание", - "no-flags": "Упс! Меток не найдено", - "assignee": "Представитель", + "no-flags": "Ура! Жалоб нет.", + "assignee": "Исполнитель", "update": "Обновить", "updated": "Обновлено", - "target-purged": "Содержимое указанной метки было очищено и больше не доступно.", + "target-purged": "Сообщение, на которое поступила жалоба, было удалено и больше не доступно.", - "graph-label": "Daily Flags", + "graph-label": "Жалоб в день", "quick-filters": "Быстрые фильтры", - "filter-active": "В этом списке меток есть один или несколько фильтров", + "filter-active": "К списку жалоб применяется один или несколько фильтров", "filter-reset": "Убрать фильтры", "filters": "Опции фильтра", - "filter-reporterId": "UID осведомителя", - "filter-targetUid": "Отмечено UID", - "filter-type": "Тип метки", + "filter-reporterId": "UID сообщившего", + "filter-targetUid": "UID нарушителя", + "filter-type": "Тип жалобы", "filter-type-all": "Весь контент", "filter-type-post": "Сообщение", "filter-type-user": "Пользователь", "filter-state": "Состояние", - "filter-assignee": "UID представителя", + "filter-assignee": "UID исполнителя", "filter-cid": "Категория", "filter-quick-mine": "Назначено мне", "filter-cid-all": "Все категории", @@ -31,36 +31,36 @@ "flagged-user": "Отмеченный пользователь", "view-profile": "Просмотреть профиль", "start-new-chat": "Начать новый чат", - "go-to-target": "Посмотреть метку цели", + "go-to-target": "Показать предмет жалобы", - "user-view": "Просмотреть профиль", + "user-view": "Открыть профиль", "user-edit": "Изменить профиль", - "notes": "Тип заметки", + "notes": "Примечания к жалобе", "add-note": "Добавить примечание", - "no-notes": "Нет общих заметок.", + "no-notes": "Нет примечаний.", - "history": "История меток", - "back": "Вернуться к списку меток", - "no-history": "Нет истории меток.", + "history": "История жалобы", + "back": "Вернуться к списку жалоб", + "no-history": "Нет истории жалобы.", "state-all": "Все состояния", - "state-open": "Новый/Открытый", - "state-wip": "Работа в процессе", - "state-resolved": "Решен", - "state-rejected": "Отклонен", - "no-assignee": "Не назначенный ", - "note-added": "Заметка добавлена", + "state-open": "Новая/Открытая", + "state-wip": "В процессе", + "state-resolved": "Решена", + "state-rejected": "Отклонена", + "no-assignee": "Не назначена", + "note-added": "Примечание добавлено", "modal-title": "Сообщить о недопустимом контенте", - "modal-body": "Просьба указать причину для пометки %1 %2 для проверки. Кроме того, используйте одну из кнопок быстрого отчета, если это применимо.", + "modal-body": "Укажите причину для жалобы на %1 %2. Вы можете использовать одну из подходящих стандартных причин.", "modal-reason-spam": "Спам", - "modal-reason-offensive": "Оскорбительный", + "modal-reason-offensive": "Оскорбительное содержимое", "modal-reason-other": "Другое (укажите ниже)", "modal-reason-custom": "Причина жалобы на содержимое...", - "modal-submit": "Представить отчет", - "modal-submit-success": "Содержимое было отмечено для модерации.", + "modal-submit": "Отправить отчёт", + "modal-submit-success": "Содержимое было помечено для модераторов.", "modal-submit-confirm": "Подтвердить отправку", - "modal-submit-confirm-text": "Вы уже выбрали причину. Вы уверены, что хотите отправить через быстрый отчет?", - "modal-submit-confirm-text-help": "Отправка быстрого отчета приведет к перезаписи любых предустановленных примеров причин." + "modal-submit-confirm-text": "Вы уже выбрали причину. Вы уверены, что хотите отправить жалобу через быстрый отчёт?", + "modal-submit-confirm-text-help": "Отправка быстрого отчёта перезапишет указанную ранее причину." } \ No newline at end of file diff --git a/public/language/ru/global.json b/public/language/ru/global.json index e665c32ef6..a4c47af46c 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -3,14 +3,14 @@ "search": "Поиск", "buttons.close": "Закрыть", "403.title": "Доступ запрещен", - "403.message": "Вы пытаетесь перейти на страницу, к которой у вас нет прав доступа.", + "403.message": "Вы пытаетесь перейти на страницу, к которой у вас нет доступа.", "403.login": "Возможно вам следует войти под своей учётной записью?", "404.title": "Страница не найдена", "404.message": "Вы пытаетесь перейти на страницу, которой не существует. Начните с главной страницы.", "500.title": "Внутренняя ошибка.", "500.message": "Упс! Похоже, что-то пошло не так!", "400.title": "Неверный запрос.", - "400.message": "Похоже, эта ссылка имеет неправильный формат, пожалуйста, проверьте и повторите попытку. Либо вернитесь на <а href='%1/'>главную страницу.", + "400.message": "Похоже, эта ссылка имеет неправильный формат. Пожалуйста, проверьте её и повторите попытку или вернитесь на главную страницу.", "register": "Зарегистрироваться", "login": "Войти", "please_log_in": "Пожалуйста, войдите под своей учётной записью", @@ -23,11 +23,11 @@ "close": "Закрыть", "pagination": "Разбивка на страницы", "pagination.out_of": "%1 из %2", - "pagination.enter_index": "Перейти на главную", + "pagination.enter_index": "Перейти на...", "header.admin": "Админка", - "header.categories": "Сообщества", + "header.categories": "Категории", "header.recent": "Последние", - "header.unread": "Непрочитанное", + "header.unread": "Непрочитанные", "header.tags": "Метки", "header.popular": "Популярные", "header.users": "Участники", @@ -45,12 +45,12 @@ "alert.success": "Успешно", "alert.error": "Ошибка", "alert.banned": "Заблокирован", - "alert.banned.message": "Вас только что забанили, ваша сессия завершена.", - "alert.unfollow": "Вы отказались от подписки на %1!", - "alert.follow": "Вы теперь подписаны на %1!", - "users": "Участники", + "alert.banned.message": "Вас только что заблокировали, ваша сессия будет завершена.", + "alert.unfollow": "Вы больше не подписаны на %1!", + "alert.follow": "Вы подписались на %1!", + "users": "Пользователи", "topics": "Темы", - "posts": "Записи", + "posts": "Сообщения", "best": "Лучшие", "votes": "Голоса", "upvoters": "Кому понравилось", @@ -59,8 +59,8 @@ "downvoted": "Не понравилось", "views": "Просмотры", "reputation": "Репутация", - "lastpost": "Last post", - "firstpost": "First post", + "lastpost": "Последнее сообщение", + "firstpost": "Первое сообщение", "read_more": "Читать далее", "more": "Подробнее", "posted_ago_by_guest": "создано %1 гостем", @@ -75,13 +75,13 @@ "last_edited_by": "отредактировано %1", "norecentposts": "Нет новых сообщений", "norecenttopics": "Нет новых тем", - "recentposts": "Свежие записи", + "recentposts": "Последние сообщения", "recentips": "Последние IP-адреса, с которых был осуществлен вход", "moderator_tools": "Инструменты модератора", "online": "В сети", - "away": "Отсутствую", + "away": "Не активен", "dnd": "Не беспокоить", - "invisible": "Невидимый режим", + "invisible": "Невидимка", "offline": "Не в сети", "email": "Электронная почта", "language": "Язык", @@ -101,12 +101,12 @@ "upload_file": "Загрузить файл", "upload": "Загрузить", "uploads": "Загрузки", - "allowed-file-types": "Разрешённые форматы файлов %1", + "allowed-file-types": "Разрешённые форматы файлов: %1", "unsaved-changes": "У вас есть несохранённые изменения. Вы уверены, что хотите уйти?", "reconnecting-message": "Похоже, подключение к %1 было разорвано, подождите, пока мы пытаемся восстановить соединение.", "play": "Воспроизвести", "cookies.message": "Этот сайт использует cookies для более удобного взаимодействия.", - "cookies.accept": "Понял", + "cookies.accept": "Понятно!", "cookies.learn_more": "Подробнее", "edited": "Отредактированный", "disabled": "Отключено", diff --git a/public/language/ru/groups.json b/public/language/ru/groups.json index 58c13025a5..e136d830c1 100644 --- a/public/language/ru/groups.json +++ b/public/language/ru/groups.json @@ -13,47 +13,47 @@ "invited.uninvite": "Аннулировать приглашение", "invited.search": "Найти пользователя для приглашения в эту группу", "invited.notification_title": "Вы были приглашены в группу %1", - "request.notification_title": "Запрос на участие в группе от участника %1", - "request.notification_text": "Участник %1 пожелал войти в группу %2", + "request.notification_title": "Запрос на участие в группе от пользователя %1", + "request.notification_text": "Пользователь %1 хочет присоединиться к группе %2", "cover-save": "Сохранить", "cover-saving": "Сохраняем", "details.title": "Информация о группе", "details.members": "Список участников", "details.pending": "Заявки в группу", "details.invited": "Приглашенные участники", - "details.has_no_posts": "Участники этой группы ещё не публиковали записи", - "details.latest_posts": "Последние записи", + "details.has_no_posts": "Участники этой группы ещё ничего не написали.", + "details.latest_posts": "Последние сообщения", "details.private": "Закрытая", "details.disableJoinRequests": "Отключить запросы на приглашение", - "details.disableLeave": "Disallow users from leaving the group", + "details.disableLeave": "Запретить участникам покидать группу", "details.grant": "Выдать/забрать привилегии администратора", "details.kick": "Исключить", "details.kick_confirm": "Вы уверены, что хотите удалить этого участника из группы?", - "details.add-member": "Добавить пользователя", - "details.owner_options": "Настройки группы", - "details.group_name": "Имя группы", + "details.add-member": "Добавить участника", + "details.owner_options": "Управление группой", + "details.group_name": "Название группы", "details.member_count": "Количество участников", "details.creation_date": "Дата создания", "details.description": "Описание", - "details.badge_preview": "Предпросмотр бейджа", + "details.badge_preview": "Предпросмотр значка", "details.change_icon": "Сменить иконку", - "details.change_label_colour": "Change Label Colour", - "details.change_text_colour": "Change Text Colour", - "details.badge_text": "Текст на бейдже", - "details.userTitleEnabled": "Показать бейдж", - "details.private_help": "Если включено, вступление в группы будет подтверждаться владельцем группы", - "details.hidden": "Скрыто", + "details.change_label_colour": "Изменить цвет ярлыка", + "details.change_text_colour": "Изменить цвет текста", + "details.badge_text": "Текст на значке", + "details.userTitleEnabled": "Показывать значок", + "details.private_help": "Если включено, заявку на вступление в группу должен будет подтвердить её владелец", + "details.hidden": "Скрытая", "details.hidden_help": "Если включено, группа будет скрыта в списках, а участников необходимо будет приглашать вручную", "details.delete_group": "Удалить группу", - "details.private_system_help": "Частные группы отключены на уровне системы, эта опция ничего не даст", + "details.private_system_help": "Закрытые группы отключены на уровне системы, эта опция ничего не даст", "event.updated": "Настройки группы обновлены", "event.deleted": "Группа \"%1\" удалена", "membership.accept-invitation": "Принять приглашение", - "membership.accept.notification_title": "You are now a member of %1", + "membership.accept.notification_title": "Вы присоединились к группе %1", "membership.invitation-pending": "Заявка на рассмотрении", "membership.join-group": "Вступить", "membership.leave-group": "Покинуть", - "membership.leave.notification_title": "%1 has left group %2", + "membership.leave.notification_title": "Участник %1 покинул группу %2", "membership.reject": "Отклонить", "new-group.group_name": "Название группы:", "upload-group-cover": "Загрузить обложку группы", diff --git a/public/language/ru/login.json b/public/language/ru/login.json index a0ab9e619b..e971ef18da 100644 --- a/public/language/ru/login.json +++ b/public/language/ru/login.json @@ -7,6 +7,6 @@ "alternative_logins": "Войти через", "failed_login_attempt": "Неправильно указано имя пользователя или электронная почта", "login_successful": "Вы успешно вошли!", - "dont_have_account": "Нет аккаунта?", + "dont_have_account": "Нет учётной записи?", "logged-out-due-to-inactivity": "Вы вышли из панели управления администратора из-за бездействия" } \ No newline at end of file diff --git a/public/language/ru/modules.json b/public/language/ru/modules.json index b8a17b757f..c3b09ce9fc 100644 --- a/public/language/ru/modules.json +++ b/public/language/ru/modules.json @@ -4,7 +4,7 @@ "chat.send": "Отправить", "chat.no_active": "У вас нет активных чатов.", "chat.user_typing": "%1 пишет...", - "chat.user_has_messaged_you": "Участник %1 отправил вам сообщение.", + "chat.user_has_messaged_you": "Пользователь %1 отправил вам сообщение.", "chat.see_all": "Посмотреть все чаты", "chat.mark_all_read": "Отметить все чаты как прочитанные", "chat.no-messages": "Пожалуйста, выберите собеседника для просмотра истории сообщений", @@ -27,7 +27,7 @@ "chat.rename-room": "Переименовать комнату", "chat.rename-placeholder": "Введите название комнаты здесь", "chat.rename-help": "Название комнаты, установленное здесь, будет доступно для просмотра всеми участниками комнаты.", - "chat.leave": "Покинуть Чат", + "chat.leave": "Покинуть чат", "chat.leave-prompt": "Вы действительно хотите покинуть чат?", "chat.leave-help": "Оставив этот чат, вы удалите себя из будущей переписки в этом чате. Если вы будете повторно добавлены в будущем, вы не увидите истории чата до вашего повторного присоединения.", "chat.in-room": "В этой комнате", @@ -40,9 +40,9 @@ "composer.compose": "Редактор сообщений", "composer.show_preview": "Показать предпросмотр сообщения", "composer.hide_preview": "Скрыть предпросмотр", - "composer.user_said_in": "Участник %1 написал в %2:", - "composer.user_said": "Участник %1 написал:", - "composer.discard": "Вы уверены, что хотите отменить все изменения?", + "composer.user_said_in": "Пользователь %1 написал в %2:", + "composer.user_said": "Пользователь %1 написал:", + "composer.discard": "Вы уверены, что передумали писать это сообщение?", "composer.submit_and_lock": "Отправить и закрыть", "composer.toggle_dropdown": "Показать выпадающий список", "composer.uploading": "Загрузка %1", @@ -56,11 +56,11 @@ "composer.upload-picture": "Загрузить изображение", "composer.upload-file": "Загрузить файл", "composer.zen_mode": "Полноэкранный режим", - "composer.select_category": "Выберите сообщество", + "composer.select_category": "Выберите категорию", "bootbox.ok": "ОК", "bootbox.cancel": "Отмена", "bootbox.confirm": "Подтвердить", "cover.dragging_title": "Позиционирование обложки", "cover.dragging_message": "Перетащите обложку на желаемое место и нажмите \"Сохранить\"", - "cover.saved": "Обложка и расположение сохранены" + "cover.saved": "Обложка и её расположение сохранены" } \ No newline at end of file diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json index a0baf16dd1..08f06dfdfd 100644 --- a/public/language/ru/pages.json +++ b/public/language/ru/pages.json @@ -6,59 +6,59 @@ "popular-month": "Популярные темы этого месяца", "popular-alltime": "Популярные темы за всё время", "recent": "Последние темы", - "top-day": "Самые популярные темы за сегодня", - "top-week": "Самые популярные темы за неделю", - "top-month": "Самые популярные темы за месяц", - "top-alltime": "Самые популярные темы", + "top-day": "Лучшие темы за сегодня", + "top-week": "Лучшие темы за неделю", + "top-month": "Лучшие темы за месяц", + "top-alltime": "Лучшие темы", "moderator-tools": "Инструменты модератора", - "flagged-content": "Выбранное содержимое", + "flagged-content": "Список жалоб", "ip-blacklist": "Чёрный список IP", - "post-queue": "Очередь публикации", + "post-queue": "Очередь на публикацию", "users/online": "В сети", - "users/latest": "Новые участники", - "users/sort-posts": "Участники по количеству сообщений", - "users/sort-reputation": "Участники по уровню репутации", - "users/banned": "Заблокированные участники", - "users/most-flags": "Участники, на которых больше всего жалуются", - "users/search": "Поиск участников", + "users/latest": "Новые пользователи", + "users/sort-posts": "Пользователи по кол-ву сообщений", + "users/sort-reputation": "Пользователи по уровню репутации", + "users/banned": "Заблокированные пользователи", + "users/most-flags": "Пользователи, на которых больше всего жалуются", + "users/search": "Поиск пользователей", "notifications": "Уведомления", "tags": "Метки", - "tag": "Темы помеченные как "%1"", + "tag": "Темы с меткой "%1"", "register": "Зарегистрироваться", "registration-complete": "Регистрация завершена", "login": "Войти", - "reset": "Забыл пароль?", - "categories": "Сообщества", + "reset": "Сбросить пароль", + "categories": "Категории", "groups": "Группы", "group": "Группа %1", "chats": "Чаты", - "chat": "Чат с участником %1", - "flags": "Отметки", - "flag-details": "Отметка %1 детали", + "chat": "Чат с %1", + "flags": "Жалобы", + "flag-details": "Подробности жалобы %1", "account/edit": "Редактирование \"%1\"", "account/edit/password": "Сменить пароль \"%1\"", "account/edit/username": "Изменить имя пользователя \"%1\"", "account/edit/email": "Изменить электронную почту \"%1\"", "account/info": "Информация об учётной записи", - "account/following": "Подписан %1", + "account/following": "Подписки %1", "account/followers": "Подписчики %1", - "account/posts": "Сообщение от участника %1", - "account/latest-posts": "Latest posts made by %1", - "account/topics": "Тема создана участником %1", - "account/groups": "%1 групп", - "account/watched_categories": "%1 просмотренных категорий", - "account/bookmarks": "%1 сообщений в закладках", + "account/posts": "Сообщения %1", + "account/latest-posts": "Недавние сообщения %1", + "account/topics": "Темы, созданные %1", + "account/groups": "Группы %1", + "account/watched_categories": "Категории, которые %1 отслеживает", + "account/bookmarks": "Закладки %1", "account/settings": "Настройки учётной записи", - "account/watched": "Тему просмотрели %1", - "account/ignored": "Игнорируемые темы %1", - "account/upvoted": "Рейтинг записей поднят %1", - "account/downvoted": "Рейтинг записей снижен %1", - "account/best": "Лучшие записи участника %1", + "account/watched": "Темы, которые %1 отслеживает", + "account/ignored": "Темы, которые %1 игнорирует", + "account/upvoted": "Рейтинг сообщений поднят %1", + "account/downvoted": "Рейтинг сообщений снижен %1", + "account/best": "Лучшие сообщения %1", "account/blocks": "Пользователи, заблокированные %1", - "account/uploads": "Загрузки от %1", + "account/uploads": "Загрузки %1", "account/sessions": "Сессии", "confirm": "Электронная почта подтверждена", - "maintenance.text": "Приносим наши извинения, %1 в настоящее время на обслуживании. Пожалуйста, приходите позже.", - "maintenance.messageIntro": "Администратор оставил сообщение:", - "throttled.text": "Приносим наши извинения, %1 в настоящее время недоступен из-за высокой нагрузки. Пожалуйста, приходите позже." + "maintenance.text": "%1 в настоящее время на обслуживании. Пожалуйста, возвращайтесь позже.", + "maintenance.messageIntro": "Кроме того, администратор оставил это сообщение:", + "throttled.text": "%1 в настоящее время недоступен из-за высокой нагрузки. Пожалуйста, приходите в другой раз." } \ No newline at end of file diff --git a/public/language/ru/recent.json b/public/language/ru/recent.json index 187cb4dd98..9d5c25bc34 100644 --- a/public/language/ru/recent.json +++ b/public/language/ru/recent.json @@ -8,12 +8,12 @@ "no_recent_topics": "Нет свежих тем.", "no_popular_topics": "Популярные темы отсутствуют.", "there-is-a-new-topic": "Опубликована новая тема.", - "there-is-a-new-topic-and-a-new-post": "Опубликована новая тема и новая запись.", - "there-is-a-new-topic-and-new-posts": "Опубликована новая тема и %1 новых записей.", + "there-is-a-new-topic-and-a-new-post": "Опубликована новая тема и новое сообщение.", + "there-is-a-new-topic-and-new-posts": "Опубликована новая тема и %1 новых сообщений.", "there-are-new-topics": "Опубликовано %1 новых тем.", - "there-are-new-topics-and-a-new-post": "Опубликовано %1 новых тем и новая запись.", - "there-are-new-topics-and-new-posts": "Опубликовано %1 новых тем и %2 новых записей.", - "there-is-a-new-post": "Опубликована новая запись.", - "there-are-new-posts": "Опубликовано %1 новых записей.", - "click-here-to-reload": "Нажмите здесь, чтобы перезагрузить список." + "there-are-new-topics-and-a-new-post": "Опубликовано %1 новых тем и новое сообщение.", + "there-are-new-topics-and-new-posts": "Опубликовано %1 новых тем и %2 новых сообщений.", + "there-is-a-new-post": "Опубликовано новое сообщение.", + "there-are-new-posts": "Опубликовано %1 новых сообщений.", + "click-here-to-reload": "Нажмите здесь, чтобы обновить список." } \ No newline at end of file diff --git a/public/language/ru/register.json b/public/language/ru/register.json index 1d92f454f8..8e8d3c0ea7 100644 --- a/public/language/ru/register.json +++ b/public/language/ru/register.json @@ -1,9 +1,9 @@ { "register": "Регистрация", "cancel_registration": "Отменить регистрацию", - "help.email": "Ваша электронная почта не будет видна другим участникам", - "help.username_restrictions": "Другие участники смогут упоминать вас в своих сообщениях таким образом: @никнейм. Длина имени пользователя: %1-%2 символов.", - "help.minimum_password_length": "Длина пароля: минимум %1 символов.", + "help.email": "Ваш адрес электронной почты будет скрыт от других пользователей.", + "help.username_restrictions": "Другие пользователи смогут упоминать вас в своих сообщениях таким образом: @никнейм. Длина имени пользователя: %1-%2 символов.", + "help.minimum_password_length": "Ваш пароль должен содержать как минимум %1 символов.", "email_address": "Электронная почта", "email_address_placeholder": "Введите свой адрес электронной почты", "username": "Имя пользователя", @@ -21,6 +21,6 @@ "interstitial.intro": "Нам потребуется дополнительная информация, прежде чем мы сможем создать вашу учётную запись.", "interstitial.errors-found": "Мы не смогли завершить регистрацию:", "gdpr_agree_data": "Я соглашаюсь на сбор и обработку моей личной информации на этом веб-сайте.", - "gdpr_agree_email": "Я соглашаюсь получать дайджесты и уведомления на свой email с этого сайта.", - "gdpr_consent_denied": "Вы должны дать согласие на сбор, обработку вашей информации и отправку вам электронных сообщений на email." + "gdpr_agree_email": "Я соглашаюсь получать дайджесты и уведомления с этого сайта на свой адрес электронной почты.", + "gdpr_consent_denied": "Вы должны дать согласие на сбор, обработку вашей информации и отправку вам сообщений по электронной почте." } \ No newline at end of file diff --git a/public/language/ru/reset_password.json b/public/language/ru/reset_password.json index e67cea0673..4900c703fa 100644 --- a/public/language/ru/reset_password.json +++ b/public/language/ru/reset_password.json @@ -2,7 +2,7 @@ "reset_password": "Восстановить пароль", "update_password": "Изменить пароль", "password_changed.title": "Пароль изменён", - "password_changed.message": "

Пароль успешно восстановлен, пожалуйста войдите еще раз.", + "password_changed.message": "

Пароль успешно сброшен. Пожалуйста, войдите снова.", "wrong_reset_code.title": "Неверный код восстановления", "wrong_reset_code.message": "Неправильный код восстановления пароля. Попробуйте ещё раз, или запросите новый код восстановления.", "new_password": "Новый пароль", diff --git a/public/language/ru/search.json b/public/language/ru/search.json index 2dfc26029f..43ac70987b 100644 --- a/public/language/ru/search.json +++ b/public/language/ru/search.json @@ -1,25 +1,25 @@ { - "results_matching": "Найдено %1 результатов по запросу: \"%2\". Время поиска: %3 сек.", + "results_matching": "Найдено %1 результатов по запросу: \"%2\". Время поиска: %3 с.", "no-matches": "Совпадений не найдено", "advanced-search": "Расширенный поиск", "in": "В", - "titles": "Названия", - "titles-posts": "Названия и записи", + "titles": "Названиях", + "titles-posts": "Названиях и сообщениях", "match-words": "Совпадающие слова", "all": "Все", "any": "Любые", - "posted-by": "В именах авторов записей", - "in-categories": "В сообществах", - "search-child-categories": "Искать в рубриках", - "has-tags": "Имеет теги", - "reply-count": "Количество ответов", + "posted-by": "По авторам сообщений", + "in-categories": "В категориях", + "search-child-categories": "Искать во вложенных категориях", + "has-tags": "С метками", + "reply-count": "С количеством ответов", "at-least": "Минимум", "at-most": "Максимум", - "relevance": "Релевантность", - "post-time": "Время публикации", - "votes": "Голосов", - "newer-than": "Ранее чем", - "older-than": "Позже чем", + "relevance": "Релевантности", + "post-time": "Времени публикации", + "votes": "Кол-ву голосов", + "newer-than": "Не позже чем", + "older-than": "Не раньше чем", "any-date": "Любая дата", "yesterday": "Вчера", "one-week": "Одна неделя", @@ -29,14 +29,14 @@ "six-months": "Шесть месяцев", "one-year": "Год", "sort-by": "Сортировать по", - "last-reply-time": "Время последнего ответа", - "topic-title": "Название темы", - "topic-votes": "Голосов темы", - "number-of-replies": "Количество ответов", - "number-of-views": "Количество просмотров", - "topic-start-date": "Время создания темы", - "username": "Автор записи", - "category": "Сообщество", + "last-reply-time": "Времени последнего ответа", + "topic-title": "Названию темы", + "topic-votes": "Кол-ву голосов за тему", + "number-of-replies": "Количеству ответов", + "number-of-views": "Количеству просмотров", + "topic-start-date": "Времени создания темы", + "username": "Имени пользователя", + "category": "Категориям", "descending": "По возрастанию", "ascending": "По убыванию", "save-preferences": "Сохранить настройки", diff --git a/public/language/ru/success.json b/public/language/ru/success.json index cda8e662fd..b25041f8c5 100644 --- a/public/language/ru/success.json +++ b/public/language/ru/success.json @@ -1,7 +1,7 @@ { - "success": "Успешно выполнено", - "topic-post": "Запись была успешно создана", - "post-queued": "Ваше сообщение помещено в очередь для одобрения.", + "success": "Готово", + "topic-post": "Вы успешно отправили сообщение.", + "post-queued": "Ваше сообщение помещено в очередь на одобрение.", "authentication-successful": "Авторизация выполнена успешно", - "settings-saved": "Настройки сохранены" + "settings-saved": "Настройки сохранены!" } \ No newline at end of file diff --git a/public/language/ru/tags.json b/public/language/ru/tags.json index 5dcfa8d3f0..f40e1cc745 100644 --- a/public/language/ru/tags.json +++ b/public/language/ru/tags.json @@ -1,7 +1,7 @@ { - "no_tag_topics": "Темы с такой меткой отсутствуют.", + "no_tag_topics": "Тем с такой меткой сейчас нет.", "tags": "Метки", - "enter_tags_here": "Для каждой новой темы необходимо указать несколько меток, чтобы ваше сообщение было проще найти другим участникам сообщества. Длина каждой метки %1-%2 символов, включая пробелы. После написания каждой метки нажимайте клавишу Enter.", - "enter_tags_here_short": "Введите метки.", - "no_tags": "У темы пока нет меток." + "enter_tags_here": "Добавьте метки здесь, от %1 до %2 символов каждая.", + "enter_tags_here_short": "Введите метки...", + "no_tags": "Меток пока нет." } \ No newline at end of file diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json index 5709a3a0b3..d26318613d 100644 --- a/public/language/ru/topic.json +++ b/public/language/ru/topic.json @@ -1,112 +1,112 @@ { "topic": "Тема", - "topic_id": "Идентификатор темы", - "topic_id_placeholder": "Введите идентификатор темы", - "no_topics_found": "Тем не найдено!", - "no_posts_found": "Записи не найдены!", - "post_is_deleted": "Эта запись удалена!", + "topic_id": "ID темы", + "topic_id_placeholder": "Введите ID темы", + "no_topics_found": "Темы не найдены!", + "no_posts_found": "Сообщения не найдены!", + "post_is_deleted": "Это сообщение удалено!", "topic_is_deleted": "Эта тема удалена!", "profile": "Профиль", "posted_by": "Опубликовано %1", "posted_by_guest": "Опубликовано гостем", "chat": "Чат", - "notify_me": "Подписаться на новые ответы", + "notify_me": "Получать уведомления о новых сообщениях в этой теме", "quote": "Цитировать", "reply": "Ответить", - "replies_to_this_post": "%1 Ответов", - "one_reply_to_this_post": "1 Ответ", + "replies_to_this_post": "%1 ответов", + "one_reply_to_this_post": "1 ответ", "last_reply_time": "Последний ответ", "reply-as-topic": "Ответить, создав новую тему", - "guest-login-reply": "Необходимо авторизоваться на сайте, чтобы оставить сообщение. Пожалуйста, зарегистрируйтесь или войдите на сайт.", - "login-to-view": "🔒 Log in to view", - "edit": "Редактировать", + "guest-login-reply": "Авторизуйтесь, чтобы ответить", + "login-to-view": "Авторизуйтесь, чтобы просмотреть", + "edit": "Изменить", "delete": "Удалить", "purge": "Стереть", "restore": "Восстановить", "move": "Перенести", - "change-owner": "Change Owner", - "fork": "Ответвление", + "change-owner": "Сменить автора", + "fork": "Разделить", "link": "Ссылка", "share": "Поделиться", - "tools": "Настройки записи", - "locked": "Закрыт", + "tools": "Действия", + "locked": "Закрыта", "pinned": "Прикреплена", - "moved": "Перемещена", + "moved": "Перенесена", "copy-ip": "Копировать IP", "ban-ip": "Забанить IP", - "view-history": "Редактировать историю", + "view-history": "История правок", "bookmark_instructions": "Нажмите здесь, чтобы вернуться к последнему прочитанному сообщению в этой теме.", - "flag_title": "Отметить сообщение для модерирования", + "flag_title": "Отметить это сообщение для модераторов", "merged_message": "Эта тема была объединена с %2", - "deleted_message": "Эта тема была удалена. Только пользователи с правами управления темами могут ее видеть.", - "following_topic.message": "Теперь вы будете получать уведомления при обновлении этой темы.", - "not_following_topic.message": "Вы увидите эту тему в списке непрочитанных тем, но Вы не будете получать уведомления, когда кто-то напишет сообщение в эту тему.", - "ignoring_topic.message": "Вы больше не будете видеть эту тему в списке непрочитанных тем. Вас уведомят, когда Вас упомянут или проголосуют за Ваш пост.", - "login_to_subscribe": "Пожалуйста зарегистрируйтесь, или войдите под своим аккаунтом, чтобы подписаться на эту тему.", + "deleted_message": "Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.", + "following_topic.message": "Теперь вы будете получать уведомления каждый раз, когда кто-нибудь напишет сообщение в эту тему.", + "not_following_topic.message": "Вы увидите эту тему в списке непрочитанных, но не будете получать уведомлений о новых сообщениях в ней.", + "ignoring_topic.message": "Вы больше не будете видеть эту тему в списке непрочитанных, но если кто-то упомянет вас в ней или проголосует за ваше сообщение, вы получите уведомление.", + "login_to_subscribe": "Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы подписаться на эту тему.", "markAsUnreadForAll.success": "Тема помечена как непрочитанная для всех.", - "mark_unread": "Отметить как непрочитанное", + "mark_unread": "Отметить как непрочитанную", "mark_unread.success": "Тема помечена как непрочитанная.", - "watch": "Следить", - "unwatch": "Не следить", - "watch.title": "Сообщать мне об ответах в этой теме", - "unwatch.title": "Не сообщать мне об ответах в этой теме", - "share_this_post": "Поделиться этим Сообщением", - "watching": "Подписка", - "not-watching": "Не наблюдать", - "ignoring": "Игнорирование", - "watching.description": "Сообщить мне о новых ответах.
Показать тему в непрочитанных.", - "not-watching.description": "Не уведомлять меня о новых ответах.
Показать тему в непрочитанных, если категория мной не игнорируется.", - "ignoring.description": "Не уведомлять меня о новых ответах.
Не отображать тему в непрочитанных.", - "thread_tools.title": "Настройки темы", - "thread_tools.markAsUnreadForAll": "Выделить непрочитанные для всех", + "watch": "Отслеживать", + "unwatch": "Не отслеживать", + "watch.title": "Получать уведомления о новых сообщениях в этой теме", + "unwatch.title": "Перестать отслеживать эту тему", + "share_this_post": "Поделиться сообщением", + "watching": "Отслеживается", + "not-watching": "Не отслеживается", + "ignoring": "Игнорируется", + "watching.description": "Уведомлять о новых сообщениях.
Показывать тему в непрочитанных.", + "not-watching.description": "Не уведомлять о новых сообщениях.
Показывать тему в непрочитанных, если эта категория не игнорируется.", + "ignoring.description": "Не уведомлять о новых сообщениях.
Не показывать эту тему в непрочитанных.", + "thread_tools.title": "Управление темой", + "thread_tools.markAsUnreadForAll": "Пометить непрочитанной для всех", "thread_tools.pin": "Прикрепить тему", "thread_tools.unpin": "Открепить тему", "thread_tools.lock": "Закрыть тему", "thread_tools.unlock": "Открыть тему", - "thread_tools.move": "Переместить тему", - "thread_tools.move-posts": "Переместить пост", - "thread_tools.move_all": "Переместить всё", - "thread_tools.change_owner": "Change Owner", + "thread_tools.move": "Перенести тему", + "thread_tools.move-posts": "Перенести сообщения", + "thread_tools.move_all": "Перенести всё", + "thread_tools.change_owner": "Сменить автора", "thread_tools.select_category": "Выберите категорию", - "thread_tools.fork": "Создать дополнительную ветвь дискуссии", + "thread_tools.fork": "Разделить тему", "thread_tools.delete": "Удалить тему", - "thread_tools.delete-posts": "Удалить записи", - "thread_tools.delete_confirm": "Вы уверены, что хотите удалить тему?", + "thread_tools.delete-posts": "Удалить сообщения", + "thread_tools.delete_confirm": "Вы уверены, что хотите удалить эту тему?", "thread_tools.restore": "Восстановить тему", - "thread_tools.restore_confirm": "Вы уверены, что хотите восстановить тему?", + "thread_tools.restore_confirm": "Вы уверены, что хотите восстановить эту тему?", "thread_tools.purge": "Стереть тему", "thread_tools.purge_confirm": "Вы уверены, что хотите стереть эту тему?", "thread_tools.merge_topics": "Объединить темы", "thread_tools.merge": "Объединить", "topic_move_success": "Эта тема успешно перемещена в %1", - "post_delete_confirm": "Вы уверены, что хотите удалить эту запись?", - "post_restore_confirm": "Вы уверены, что хотите восстановить эту запись?", - "post_purge_confirm": "Вы уверены, что хотите стереть эту запись?", - "load_categories": "Загружаем сообщества", + "post_delete_confirm": "Вы уверены, что хотите удалить это сообщение?", + "post_restore_confirm": "Вы уверены, что хотите восстановить это сообщение?", + "post_purge_confirm": "Вы уверены, что хотите стереть это сообщение?", + "load_categories": "Загружаем категории", "confirm_move": "Перенести", - "confirm_fork": "Создать дополнительную ветвь", + "confirm_fork": "Разделить", "bookmark": "Добавить в закладки", "bookmarks": "Закладки", - "bookmarks.has_no_bookmarks": "Сохраните к себе в закладки важные вам записи, и этот список будет всегда находиться на этой странице.", - "loading_more_posts": "Загружается больше записей", + "bookmarks.has_no_bookmarks": "Вы ещё не добавили в закладки ни одного сообщения.", + "loading_more_posts": "Загружаем больше сообщений", "move_topic": "Перенести тему", "move_topics": "Перенести темы", - "move_post": "Перенести запись", - "post_moved": "Запись перенесена", + "move_post": "Перенести сообщение", + "post_moved": "Сообщение перенесено!", "fork_topic": "Создать дополнительную ветвь дискуссии", - "fork_topic_instruction": "Отметьте одну или несколько записей для создания дополнительной ветви дискуссии", - "fork_no_pids": "Записи не отмечены", - "fork_pid_count": "Отмечено %1 сообщений", - "fork_success": "Готово! Просмотр отделённой темы.", - "delete_posts_instruction": "Отметьте записи, которые вы хотите удалить", - "merge_topics_instruction": "Выберите темы которые вы хотите объединить", - "move_posts_instruction": "Нажмите на сообщения, которые вы хотите переместить", - "change_owner_instruction": "Click the posts you want to assign to another user", + "fork_topic_instruction": "Отметьте сообщения, которые вы хотите перенести в отдельную тему", + "fork_no_pids": "Не выбрано ни одного сообщения!", + "fork_pid_count": "Выбрано сообщений: %1", + "fork_success": "Готово! Нажмите здесь, чтобы перейти к новой теме.", + "delete_posts_instruction": "Отметьте сообщения, которые вы хотите удалить или стереть", + "merge_topics_instruction": "Выберите темы, которые вы хотите объединить", + "move_posts_instruction": "Нажмите на сообщения, которые вы хотите перенести", + "change_owner_instruction": "Нажмите на сообщения, которые вы хотите присвоить другому пользователю", "composer.title_placeholder": "Введите название темы...", "composer.handle_placeholder": "Название", "composer.discard": "Отменить", "composer.submit": "Отправить", - "composer.replying_to": "Ответ участнику %1", + "composer.replying_to": "Ответ %1", "composer.new_topic": "Создать тему", "composer.uploading": "загрузка...", "composer.thumb_url_label": "Вставьте ссылку на картинку с иконкой темы.", @@ -115,25 +115,25 @@ "composer.thumb_file_label": "Загрузить новое изображение", "composer.thumb_remove": "Очистить поля", "composer.drag_and_drop_images": "Перетащите изображения сюда", - "more_users_and_guests": "ещё %1 участников и %2 гостей", - "more_users": "ещё %1 участников", + "more_users_and_guests": "ещё %1 пользователей и %2 гостей", + "more_users": "ещё %1 пользователей", "more_guests": "ещё %1 гостей", - "users_and_others": "%1 участников и %2 других", + "users_and_others": "%1 пользователей и %2 других", "sort_by": "Сортировка", - "oldest_to_newest": "Начиная со старых записей", - "newest_to_oldest": "Начиная с новых записей", - "most_votes": "Количество голосов", - "most_posts": "Количество сообщений", + "oldest_to_newest": "Сначала старые", + "newest_to_oldest": "Сначала новые", + "most_votes": "По количеству голосов", + "most_posts": "По количеству сообщений", "stale.title": "Создать новую тему вместо этой?", - "stale.warning": "Тема, в которую вы пишите, очень старая. Вы хотите создать новую тему?", + "stale.warning": "Тема, в которую вы собираетесь написать, очень старая. Может, стоит создать новую, а про эту просто напомнить к случаю?", "stale.create": "Создать новую тему", - "stale.reply_anyway": "Всё равно ответить в этой теме", + "stale.reply_anyway": "Всё равно ответить здесь", "link_back": "Ответ: [%1](%2)", - "diffs.title": "История Редактирования Сообщения", - "diffs.description": "У этого поста есть %1 изменений. Нажмите один из приведенных ниже изменений, чтобы просмотреть содержимое сообщения в тот момент.", - "diffs.no-revisions-description": "У этого поста %1изменений", - "diffs.current-revision": "текущая ревизия", - "diffs.original-revision": "оригинальная ревизия", - "timeago_later": "%1 later", - "timeago_earlier": "%1 earlier" + "diffs.title": "История правок сообщения", + "diffs.description": "У этого сообщения есть %1 версий. Нажмите на любую из них, чтобы увидеть, каким оно было раньше.", + "diffs.no-revisions-description": "У этого сообщения есть %1версий", + "diffs.current-revision": "текущая версия", + "diffs.original-revision": "исходная версия", + "timeago_later": "через %1", + "timeago_earlier": "на %1 раньше" } \ No newline at end of file diff --git a/public/language/ru/unread.json b/public/language/ru/unread.json index bdead98f5d..1450d47aff 100644 --- a/public/language/ru/unread.json +++ b/public/language/ru/unread.json @@ -2,14 +2,14 @@ "title": "Непрочитанные темы", "no_unread_topics": "Нет непрочитанных тем.", "load_more": "Загрузить еще", - "mark_as_read": "Пометить прочитанным", + "mark_as_read": "Пометить как прочитанное", "selected": "Выбрано", "all": "Все", - "all_categories": "Все сообщества", - "topics_marked_as_read.success": "Все темы помечены как прочитанные", + "all_categories": "Все категории", + "topics_marked_as_read.success": "Все темы помечены как прочитанные!", "all-topics": "Все темы", "new-topics": "Новые темы", - "watched-topics": "Подписанные темы", + "watched-topics": "Отслеживаемые темы", "unreplied-topics": "Неотвеченные темы", - "multiple-categories-selected": "Выбрано несколько" + "multiple-categories-selected": "Выбрано несколько категорий" } \ No newline at end of file diff --git a/public/language/ru/uploads.json b/public/language/ru/uploads.json index fbc28a6775..1943ccb3c5 100644 --- a/public/language/ru/uploads.json +++ b/public/language/ru/uploads.json @@ -2,8 +2,8 @@ "uploading-file": "Загрузка файла...", "select-file-to-upload": "Укажите файл для загрузки!", "upload-success": "Файл успешно загружен!", - "maximum-file-size": "Максимум %1 kb", + "maximum-file-size": "Максимум %1 Кб", "no-uploads-found": "Загрузки не найдены", "public-uploads-info": "Загрузки общедоступны, все посетители могут их видеть.", - "private-uploads-info": "Загрузки являются частными, только зарегистрированные пользователи могут их видеть." + "private-uploads-info": "Загрузки скрыты, только зарегистрированные пользователи могут их видеть." } \ No newline at end of file diff --git a/public/language/ru/user.json b/public/language/ru/user.json index e704d98556..eed2648a88 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -2,18 +2,18 @@ "banned": "Заблокирован", "offline": "Не в сети", "deleted": "Удалён", - "username": "Имя участника", + "username": "Имя пользователя", "joindate": "Дата регистрации", "postcount": "Сообщений", "email": "Электронная почта", "confirm_email": "Подтвердить электронную почту", - "account_info": "Личная информация", + "account_info": "Информация об учётной записи", "ban_account": "Заблокировать учётную запись", - "ban_account_confirm": "Вы действительно хотите заблокировать этого участника?", + "ban_account_confirm": "Вы действительно хотите заблокировать этого пользователя?", "unban_account": "Разблокировать учётную запись", "delete_account": "Удалить учётную запись", "delete_account_confirm": "Вы уверены, что хотите удалить свою учётную запись?
Это действие необратимо, вы не сможете восстановить свои данные

Введите свой пароль для подтверждения уничтожения учётной записи.", - "delete_this_account_confirm": "Вы уверены, что хотите удалить этот аккаунт?
Это действие является необратимым, вы не сможете восстановить любые данные

", + "delete_this_account_confirm": "Вы уверены, что хотите удалить эту учётную запись?
Это действие необратимо, вы не сможете восстановить данные

", "account-deleted": "Учётная запись удалена", "fullname": "Полное имя", "website": "Сайт", @@ -22,14 +22,14 @@ "joined": "Зарегистрирован", "lastonline": "Последнее посещение", "profile": "Профиль", - "profile_views": "Просмотров профиля", + "profile_views": "Просмотры профиля", "reputation": "Репутация", "bookmarks": "Закладки", - "watched_categories": "Просмотренные категории", - "change_all": "Change All", - "watched": "Подписка", - "ignored": "Игнорировать", - "default-category-watch-state": "Default category watch state", + "watched_categories": "Отслеживаемые категории", + "change_all": "Изменить для всех", + "watched": "Отслеживаемые темы", + "ignored": "Игнорируемые темы", + "default-category-watch-state": "Стандартная настройка отслеживания категорий", "followers": "Подписчиков", "following": "Подписок", "blocks": "Блокировки", @@ -42,106 +42,106 @@ "chat": "Чат", "chat_with": "Продолжить чат с %1", "new_chat_with": "Начать новый чат с %1", - "flag-profile": "Идентификатор профиля", + "flag-profile": "Пожаловаться на профиль", "follow": "Подписаться", "unfollow": "Отписаться", "more": "Больше", "profile_update_success": "Профиль обновлён!", - "change_picture": "Изменить фото", - "change_username": "Изменить имя участника", + "change_picture": "Изменить аватар", + "change_username": "Изменить имя пользователя", "change_email": "Изменить электронную почту", - "email_same_as_password": "Please enter your current password to continue – you've entered your new email again", + "email_same_as_password": "Пожалуйста, введите пароль, чтобы продолжить – вы снова указали свой новый адрес электронной почты", "edit": "Редактировать", "edit-profile": "Редактировать профиль", - "default_picture": "Иконка по умолчанию", - "uploaded_picture": "Загруженное фото", - "upload_new_picture": "Загрузить новое фото", - "upload_new_picture_from_url": "Указать ссылку", + "default_picture": "Стандартная иконка", + "uploaded_picture": "Загруженный аватар", + "upload_new_picture": "Загрузить новый аватар", + "upload_new_picture_from_url": "Загрузить изображение по ссылке", "current_password": "Текущий пароль", "change_password": "Изменить пароль", - "change_password_error": "Неверный пароль!", + "change_password_error": "Неправильный пароль!", "change_password_error_wrong_current": "Текущий пароль указан неверно!", "change_password_error_match": "Пароли должны совпадать!", "change_password_error_privileges": "Вы не можете изменить пароль.", "change_password_success": "Ваш пароль изменён!", "confirm_password": "Подтвердите пароль", "password": "Пароль", - "username_taken_workaround": "Логин, который вы запросили, уже занят. Мы его немного изменили. Теперь ваш логин %1", - "password_same_as_username": "Ваш пароль совпадает с именем пользователя, это очень небезопасно. Пожалуйста укажите другой пароль.", - "password_same_as_email": "Ваш пароль совпадает с элетронной почтой, это очень небезопасно. Пожалуйста, укажите другой пароль.", + "username_taken_workaround": "Это имя пользователя уже занято, поэтому пришлось его немного изменить. Теперь вы %1", + "password_same_as_username": "Ваш пароль совпадает с вашим именем пользователя. Пожалуйста, укажите другой пароль.", + "password_same_as_email": "Ваш пароль совпадает с вашей электронной почтой. Пожалуйста, укажите другой пароль.", "weak_password": "Слабый пароль.", - "upload_picture": "Загрузить фото", - "upload_a_picture": "Загрузить фото", - "remove_uploaded_picture": "Удалить фото", + "upload_picture": "Загрузить изображение", + "upload_a_picture": "Загрузить изображение", + "remove_uploaded_picture": "Удалить аватар", "upload_cover_picture": "Загрузить обложку профиля", - "remove_cover_picture_confirm": "Вы уверены, что хотите удалить изображение обложки?", - "crop_picture": "Вырезать картинку", + "remove_cover_picture_confirm": "Вы уверены, что хотите удалить обложку профиля?", + "crop_picture": "Обрезать картинку", "upload_cropped_picture": "Вырезать и загрузить", "settings": "Настройки", - "show_email": "Показывать мою элетронную почту", - "show_fullname": "Показывать полное имя", - "restrict_chats": "Разрешить чат только с подписчиками", + "show_email": "Показывать мою электронную почту", + "show_fullname": "Показывать моё полное имя", + "restrict_chats": "Разрешить чат только с теми, на кого я подписан", "digest_label": "Подписка на дайджест", - "digest_description": "Подписаться на все новые записи", - "digest_off": "Отключить подписку", - "digest_daily": "За день", - "digest_weekly": "За неделю", - "digest_monthly": "За месяц", - "has_no_follower": "На этого участника никто не подписан", - "follows_no_one": "Этот участник ни на кого не подписан", - "has_no_posts": "Участник пока не создал ни одной записи", - "has_no_topics": "Участник пока не создал ни одной темы", - "has_no_watched_topics": "Участник пока не посмотрел ни одной темы", - "has_no_ignored_topics": "Этот пользователь еще не игнорировал ни одной темы.", - "has_no_upvoted_posts": "Участник пока не голосовал положительно ни за одну запись", - "has_no_downvoted_posts": "Участник пока не голосовал против ни одной записи", - "has_no_voted_posts": "Участник пока не голосовал ни за одну запись", - "has_no_blocks": "Вы никого не блокировали", + "digest_description": "Подписаться на рассылку уведомлений о событиях и новых темах на форуме с указанной периодичностью", + "digest_off": "Отключена", + "digest_daily": "Ежедневная", + "digest_weekly": "Еженедельная", + "digest_monthly": "Ежемесячная", + "has_no_follower": "На этого пользователя никто не подписан :(", + "follows_no_one": "Этот пользователь ни на кого не подписан :(", + "has_no_posts": "Этот пользователь ещё ничего не написал.", + "has_no_topics": "Этот пользователь ещё не создал ни одной темы.", + "has_no_watched_topics": "Этот пользователь не отслеживает ни одной темы.", + "has_no_ignored_topics": "Этот пользователь не игнорирует ни одну тему.", + "has_no_upvoted_posts": "Этот пользователь ещё ни одному сообщению не поднимал рейтинг.", + "has_no_downvoted_posts": "Этот пользователь ещё ни одному сообщению не понижал рейтинг.", + "has_no_voted_posts": "За сообщения этого пользователя ещё не голосовали", + "has_no_blocks": "Вы никого не заблокировали.", "email_hidden": "Электронная почта скрыта", "hidden": "скрыто", - "paginate_description": "Разбить на страницы, а не выводить бесконечным списком", + "paginate_description": "Разбивать темы и сообщения на страницы, а не выводить бесконечным списком", "topics_per_page": "Тем на странице", - "posts_per_page": "Записей на странице", - "max_items_per_page": "Максимум %1", - "acp_language": "Язык админ. панели", - "notification_sounds": "Воспроизводить звук во время получения уведомления", + "posts_per_page": "Сообщений на странице", + "max_items_per_page": "максимум %1", + "acp_language": "Язык панели администратора", + "notification_sounds": "Воспроизводить звук при получении уведомления", "notifications_and_sounds": "Уведомления и звуки", "incoming-message-sound": "Звук входящего сообщения", "outgoing-message-sound": "Звук исходящего сообщения", "notification-sound": "Звук уведомления", "no-sound": "Без звука", - "upvote-notif-freq": "Частота уведомлений о понравившемся отзыве", - "upvote-notif-freq.all": "Все положительные отзывы", - "upvote-notif-freq.first": "Первый по записи", - "upvote-notif-freq.everyTen": "Каждые десять понравившихся отзывов", + "upvote-notif-freq": "Частота уведомлений об изменении рейтинга сообщения", + "upvote-notif-freq.all": "Все уведомления", + "upvote-notif-freq.first": "Только первое", + "upvote-notif-freq.everyTen": "Каждые десять голосов", "upvote-notif-freq.threshold": "На 1, 5, 10, 25, 50, 100, 150, 200...", "upvote-notif-freq.logarithmic": "На 10, 100, 1000...", "upvote-notif-freq.disabled": "Выключено", "browsing": "Настройки просмотра", "open_links_in_new_tab": "Открывать внешние ссылки в новом окне", - "enable_topic_searching": "Поиск во всех записях темы", - "topic_search_help": "Если опция включена, поиск будет осуществляться по всем записям темы, а не только в видимых.", - "scroll_to_my_post": "Просмотр своего комментария сразу после его отправки.", - "follow_topics_you_reply_to": "Подписаться на темы, на которые вы отвечали", - "follow_topics_you_create": "Подписаться на созданные вами темы", - "grouptitle": "Ваши группы (выберите группу, чтобы добавить её бейдж на своё фото)", - "group-order-help": "Select a group and use the arrows to order titles", - "no-group-title": "Не показывать бейдж с названием группы на своём фото", - "select-skin": "Выбрать стиль сайта", - "select-homepage": "Установка первой страницы сайта", - "homepage": "Выберите страницу, с которой вам удобно начинать просмотр сайта", - "homepage_description": "При входе на сайт вы будете сначала видеть выбранную вами страницу. Установите 'None', чтобы видеть главную страницу по умолчанию.", - "custom_route": "Ввести название первой страницы вручную", - "custom_route_help": "Введите название страницы, например: users или tags, чтобы видеть страницу с участниками или метками самой первой.", - "sso.title": "Для вашего удобства вы можете связать ваши учётные записи на других социальных сервисах с учётной записью на нашем сайте", + "enable_topic_searching": "Включить поиск по сообщениям внутри тем", + "topic_search_help": "Когда эта опция включена, вместо стандартного поиска по странице ваш браузер будет использовать соответствующую функцию форума, которая позволит искать и среди сообщений, которые ещё не загружены.", + "scroll_to_my_post": "Пролистывать страницы к вашим новым сообщениям сразу после их отправки", + "follow_topics_you_reply_to": "Включать отслеживание во всех темах, в которых вы отвечаете", + "follow_topics_you_create": "Включать отслеживание всех тем, которые вы создаёте", + "grouptitle": "Значки групп", + "group-order-help": "Выберите группу и укажите порядок значков с помощью стрелок", + "no-group-title": "Не показывать значок группы", + "select-skin": "Стиль", + "select-homepage": "Настройка главной страницы", + "homepage": "Главная страница", + "homepage_description": "Выберите, на какую страницу вы будете попадать после авторизации и использовать как главную, или оставьте стандартную настройку.", + "custom_route": "Ваш маршрут для главной страницы", + "custom_route_help": "Введите адрес страницы, например, recent или popular — без слешей.", + "sso.title": "Сервисы единого входа", "sso.associated": "Связан с", "sso.not-associated": "Нажмите здесь, что бы связать учётную запись с", "sso.dissociate": "Открепить", "sso.dissociate-confirm-title": "Подтверждение открепления", - "sso.dissociate-confirm": "Вы уверены, что хотите открепить свой аккаунт от %1?", - "info.latest-flags": "Новые отмеченные сообщения", - "info.no-flags": "Отмеченных сообщений не найдено", - "info.ban-history": "Недавно заблокированы", + "sso.dissociate-confirm": "Вы уверены, что хотите открепить свою учётную запись от %1?", + "info.latest-flags": "Последние жалобы", + "info.no-flags": "Жалоб не найдено", + "info.ban-history": "История блокировок", "info.no-ban-history": "Этот пользователь никогда не был заблокирован", "info.banned-until": "Заблокирован до %1", "info.banned-permanently": "Заблокирован навсегда", @@ -162,12 +162,12 @@ "consent.received": "Вы дали согласие на этот сайт для сбора и обработки вашей информации. Никаких дополнительных действий не требуется.", "consent.not_received": "Вы не дали согласия на сбор и обработку данных. В любое время администрация этого веб-сайта может удалить вашу учетную запись, чтобы она соответствовала Общему правилу защиты данных (GDPR).", "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_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": "Экспорт профиля (.csv)", diff --git a/public/language/ru/users.json b/public/language/ru/users.json index cd418ae032..09670a5481 100644 --- a/public/language/ru/users.json +++ b/public/language/ru/users.json @@ -2,21 +2,21 @@ "latest_users": "Новые пользователи", "top_posters": "Самые активные", "most_reputation": "Лучшая репутация", - "most_flags": "Больше всего отмеченных", + "most_flags": "Больше всего жалоб", "search": "Поиск", "enter_username": "Введите имя пользователя для поиска", "load_more": "Загрузить еще", - "users-found-search-took": "Найдено участников: %1. Поиск занял %2 сек.", + "users-found-search-took": "Найдено пользователей: %1! Поиск занял %2 с.", "filter-by": "Сортировать по", "online-only": "Только онлайн", "invite": "Пригласить", "prompt-email": "Адреса электронной почты:", - "invitation-email-sent": "Приглашение для участника %1 было отправлено по электронной почте", - "user_list": "Список участников", + "invitation-email-sent": "Письмо с приглашением для %1 отправлено", + "user_list": "Список пользователей", "recent_topics": "Последние темы", "popular_topics": "Популярные темы", "unread_topics": "Непрочитанные темы", - "categories": "Сообщества", + "categories": "Категории", "tags": "Метки", - "no-users-found": "Участники не найдены!" + "no-users-found": "Пользователи не найдены!" } \ No newline at end of file From 32cfe96f4863d9a1d3a0956eb30be88421667aed Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 22 Nov 2019 18:46:47 +0000 Subject: [PATCH 24/76] chore(deps): update dependency eslint to v6.7.0 --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 221ddd3b6d..a158dcaeea 100644 --- a/install/package.json +++ b/install/package.json @@ -134,7 +134,7 @@ "@commitlint/cli": "8.2.0", "@commitlint/config-angular": "8.2.0", "coveralls": "3.0.8", - "eslint": "6.6.0", + "eslint": "6.7.0", "eslint-config-airbnb-base": "14.0.0", "eslint-plugin-import": "2.18.2", "grunt": "1.0.4", From 349330917dfafe4ea25712013024a915b585b5c4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2019 19:36:12 -0500 Subject: [PATCH 25/76] fix(deps): update dependency nodebb-theme-persona to v10.1.29 (#8057) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index a158dcaeea..4810c06291 100644 --- a/install/package.json +++ b/install/package.json @@ -89,7 +89,7 @@ "nodebb-plugin-spam-be-gone": "0.6.7", "nodebb-rewards-essentials": "0.1.2", "nodebb-theme-lavender": "5.0.11", - "nodebb-theme-persona": "10.1.28", + "nodebb-theme-persona": "10.1.29", "nodebb-theme-slick": "1.2.28", "nodebb-theme-vanilla": "11.1.11", "nodebb-widget-essentials": "4.0.17", From 3811e0a3dfeaf720dc15989588cffd88b7aa62ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Fri, 22 Nov 2019 20:12:03 -0500 Subject: [PATCH 26/76] fix: #8042, dont show errors after clearing form --- public/src/client/account/edit/password.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/src/client/account/edit/password.js b/public/src/client/account/edit/password.js index 4f4353d6f8..964af3053e 100644 --- a/public/src/client/account/edit/password.js +++ b/public/src/client/account/edit/password.js @@ -76,12 +76,12 @@ define('forum/account/edit/password', ['forum/account/header', 'translator', 'zx currentPassword.val(''); password.val(''); password_confirm.val(''); + password_notify.parent().removeClass('show-success show-danger'); + password_confirm_notify.parent().removeClass('show-success show-danger'); passwordsmatch = false; passwordvalid = false; if (err) { - onPasswordChanged(); - onPasswordConfirmChanged(); return app.alertError(err.message); } if (parseInt(app.user.uid, 10) === parseInt(ajaxify.data.uid, 10)) { From 4fea12c83ee26dc0d739741fa4fd983383358acf Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Sat, 23 Nov 2019 09:27:39 +0000 Subject: [PATCH 27/76] Latest translations and fallbacks --- .../language/ru/admin/advanced/database.json | 4 +- public/language/ru/admin/advanced/errors.json | 2 +- .../ru/admin/appearance/customise.json | 2 +- public/language/ru/admin/extend/plugins.json | 12 +- public/language/ru/admin/extend/rewards.json | 12 +- .../language/ru/admin/general/dashboard.json | 24 ++-- .../language/ru/admin/manage/categories.json | 22 ++-- public/language/ru/admin/manage/digest.json | 34 +++--- .../language/ru/admin/manage/privileges.json | 52 ++++---- public/language/ru/admin/manage/uploads.json | 2 +- public/language/ru/admin/manage/users.json | 114 +++++++++--------- public/language/ru/admin/menu.json | 10 +- .../language/ru/admin/settings/advanced.json | 30 ++--- public/language/ru/admin/settings/chat.json | 14 +-- .../language/ru/admin/settings/cookies.json | 12 +- public/language/ru/admin/settings/email.json | 66 +++++----- public/language/ru/admin/settings/group.json | 16 +-- public/language/ru/admin/settings/guest.json | 4 +- .../ru/admin/settings/notifications.json | 6 +- .../ru/admin/settings/pagination.json | 8 +- public/language/ru/admin/settings/post.json | 94 +++++++-------- .../ru/admin/settings/reputation.json | 18 +-- public/language/ru/email.json | 64 +++++----- public/language/ru/error.json | 2 +- public/language/ru/global.json | 2 +- public/language/ru/notifications.json | 78 ++++++------ 26 files changed, 352 insertions(+), 352 deletions(-) diff --git a/public/language/ru/admin/advanced/database.json b/public/language/ru/admin/advanced/database.json index d0e5204227..b570dab82f 100644 --- a/public/language/ru/admin/advanced/database.json +++ b/public/language/ru/admin/advanced/database.json @@ -22,7 +22,7 @@ "mongo.bytes-out": "Байт исходящих", "mongo.num-requests": "Количество запросов", "mongo.raw-info": "Сырые данные о MongoDB", - "mongo.unauthorized": "NodeBB не смог создать запрос к базе данных MongoDB соответствующей статистики. Пожалуйста убедитесь, что пользователь, используемый NodeBB имеет "clusterMonitor" привилегию для "admin" базы данных. ", + "mongo.unauthorized": "NodeBB не смог получить статистические данные от MongoDB. Пожалуйста, проверьте, что пользователь, от имени которого NodeBB соединяется с БД имеет привилегию «clusterMonitor» в БД «admin». ", "redis": "Redis", "redis.version": "Версия Redis", @@ -44,7 +44,7 @@ "redis.keyspace-hits": "Количество ключевых просмотров", "redis.keyspace-misses": "Количество не ключевых просмотров", - "redis.raw-info": "Redis необработанная информация", + "redis.raw-info": "Сырые данные о Redis", "postgres": "Postgres", "postgres.version": "Версия PostgreSQL", diff --git a/public/language/ru/admin/advanced/errors.json b/public/language/ru/admin/advanced/errors.json index 499dd8f4f2..bc225a7ac4 100644 --- a/public/language/ru/admin/advanced/errors.json +++ b/public/language/ru/admin/advanced/errors.json @@ -1,5 +1,5 @@ { - "figure-x": "Рисунок %1", + "figure-x": "График %1", "error-events-per-day": "событий %1 в день", "error.404": "404 Не найдено", "error.503": "503 Сервис недоступен", diff --git a/public/language/ru/admin/appearance/customise.json b/public/language/ru/admin/appearance/customise.json index 917e7ad48f..dfb96c7a8d 100644 --- a/public/language/ru/admin/appearance/customise.json +++ b/public/language/ru/admin/appearance/customise.json @@ -9,7 +9,7 @@ "custom-header": "Пользовательский заголовок", "custom-header.description": "Добавьте HTML в секцию <head> шаблонов страниц форума. Тег <script> использовать можно, но не рекомендуется (для этого предусмотрен раздел Пользовательский JavaScript).", - "custom-header.enable": "Включить Пользовательский заголовок", + "custom-header.enable": "Включить пользовательский заголовок", "custom-css.livereload": "Включить автоматическую перезагрузку страниц", "custom-css.livereload.description": "Включите эту опцию, чтобы принудительно обновлять все сеансы на каждом устройстве под этой учетной записью при каждом нажатии кнопки Сохранить" diff --git a/public/language/ru/admin/extend/plugins.json b/public/language/ru/admin/extend/plugins.json index 0648e723b3..54ef99f34c 100644 --- a/public/language/ru/admin/extend/plugins.json +++ b/public/language/ru/admin/extend/plugins.json @@ -10,13 +10,13 @@ "plugin-search": "Поиск плагинов", "plugin-search-placeholder": "Искать плагин...", "submit-anonymous-usage": "Отправлять анонимные сведения об используемых плагинах.", - "reorder-plugins": "Изменить порядок плагинов", - "order-active": "Упорядочить активные плагины", - "dev-interested": "Заинтересованы в написании плагинов для NodeBB?", - "docs-info": "Полную документацию, относящаяся к созданию плагина, можно найти на Портале NodeBB", + "reorder-plugins": "Порядок загрузки плагинов", + "order-active": "Изменить", + "dev-interested": "Хотите создать свой плагин для NodeBB?", + "docs-info": "Полная документация по разработке для NodeBB опубликована на Портале NodeBB", - "order.description": "Некоторые плагины работают идеально только когда они инициализируются или до, или после других плагинов.", - "order.explanation": "Плагины загружаются в порядке указанном здесь, сверху вниз.", + "order.description": "Некоторые плагины работают идеально только когда они инициализируются в определённом порядке, или до, или после других плагинов.", + "order.explanation": "Плагины загружаются в указанном порядке, сверху вниз.", "plugin-item.themes": "Темы", "plugin-item.deactivate": "Деактивировать", diff --git a/public/language/ru/admin/extend/rewards.json b/public/language/ru/admin/extend/rewards.json index fcacebde2e..616afc7178 100644 --- a/public/language/ru/admin/extend/rewards.json +++ b/public/language/ru/admin/extend/rewards.json @@ -1,17 +1,17 @@ { "rewards": "Награды", - "condition-if-users": "Если участник", - "condition-is": "Есть", + "condition-if-users": "Если у пользователя", + "condition-is": "Соответствует", "condition-then": "Тогда", - "max-claims": "Количество наград для участников", - "zero-infinite": "Введите 0 для бесконечного количества", + "max-claims": "Сколько раз можно наградить", + "zero-infinite": "Введите 0, если не ограничено", "delete": "Удалить", "enable": "Включить", "disable": "Выключить", "control-panel": "Управление наградами", "new-reward": "Новая награда", - "alert.delete-success": "Награды успешно удалены", - "alert.no-inputs-found": "Не правильная награда", + "alert.delete-success": "Награда успешно удалена", + "alert.no-inputs-found": "Некорректная награда!", "alert.save-success": "Награды успешно сохранены" } \ No newline at end of file diff --git a/public/language/ru/admin/general/dashboard.json b/public/language/ru/admin/general/dashboard.json index 5ef504d134..77ccd68c98 100644 --- a/public/language/ru/admin/general/dashboard.json +++ b/public/language/ru/admin/general/dashboard.json @@ -2,7 +2,7 @@ "forum-traffic": "Трафик ", "page-views": "Просмотров", "unique-visitors": "Посетителей", - "new-users": "New Users", + "new-users": "Новых пользователей", "posts": "Сообщений", "topics": "Тем", "page-views-seven": "За 7 дней", @@ -16,11 +16,11 @@ "stats.yesterday": "Вчера", "stats.today": "Сегодня", - "stats.last-week": "Last Week", - "stats.this-week": "This Week", - "stats.last-month": "Last Month", - "stats.this-month": "This Month", - "stats.all": "Всё время", + "stats.last-week": "За прошл. неделю", + "stats.this-week": "За эту неделю", + "stats.last-month": "За прошл. месяц", + "stats.this-month": "За этот месяц", + "stats.all": "За всё время", "updates": "Обновления", "running-version": "Вы используете NodeBB версии %1", @@ -54,25 +54,25 @@ "active-users.total": "Всего", "active-users.connections": "Соединений", - "anonymous-registered-users": "Анонимные / Зарегистрированные", + "anonymous-registered-users": "Анонимные / Авторизованные", "anonymous": "Анонимные", - "registered": "Зарегистрированные", + "registered": "Авторизованные", "user-presence": "Присутствие", "on-categories": "В списке категорий", "reading-posts": "Читают сообщения", "browsing-topics": "Просматривают темы", - "recent": "Новые", - "unread": "Непрочитанные", + "recent": "Просм. последние темы", + "unread": "Просм. непрочитанные", "high-presence-topics": "Популярные темы", "graphs.page-views": "Просмотры", - "graphs.page-views-registered": "Просм. зарегистрированными", + "graphs.page-views-registered": "Просм. авторизованными", "graphs.page-views-guest": "Просмотров гостями", "graphs.page-views-bot": "Просмотров ботами", "graphs.unique-visitors": "Уникальных посетителей", - "graphs.registered-users": "Зарегистрированных пользователей", + "graphs.registered-users": "Авторизованных пользователей", "graphs.anonymous-users": "Анонимных пользователей", "last-restarted-by": "Последний перезапуск:", "no-users-browsing": "Просмотров нет" diff --git a/public/language/ru/admin/manage/categories.json b/public/language/ru/admin/manage/categories.json index 49fb5d2bf4..6715885107 100644 --- a/public/language/ru/admin/manage/categories.json +++ b/public/language/ru/admin/manage/categories.json @@ -1,6 +1,6 @@ { "settings": "Настройки категории", - "privileges": "Привилегии", + "privileges": "Права доступа", "name": "Название категории", "description": "Описание категории", @@ -30,9 +30,9 @@ "select-category": "Указать категорию", "set-parent-category": "Указать родительскую категорию", - "privileges.description": "В этой секции вы можете настроить права на управление доступом. Права могут быть предоставлены как на пользователя, так и на группу. Выберите применяемый домен с помощью формы поиска ниже.", - "privileges.category-selector": "Настройка привилегий для", - "privileges.warning": "Замечание: Настройки прав применяются немедленно. Нет необходимости сохранять категорию после изменения настроек.", + "privileges.description": "Здесь вы можете настроить права доступа к разделам форума. Права могут предоставляться как отдельному пользователю, так и группе. Выберите область действия прав доступа в списке ниже.", + "privileges.category-selector": "Настройка прав доступа для", + "privileges.warning": "Примечание: Настройки прав доступа применяются сразу же, как вы их выбираете. Сохранять настройки категории для этого не нужно.", "privileges.section-viewing": "Права на просмотр", "privileges.section-posting": "Права на публикацию", "privileges.section-moderation": "Права модераторов", @@ -46,14 +46,14 @@ "privileges.copy-to-children": "Скопировать в дочерние", "privileges.copy-from-category": "Скопировать из категории", "privileges.copy-privileges-to-all-categories": "Скопировать во все категории", - "privileges.copy-group-privileges-to-children": "Copy this group's privileges to the children of this category.", - "privileges.copy-group-privileges-to-all-categories": "Copy this group's privileges to all categories.", - "privileges.copy-group-privileges-from": "Copy this group's privileges from another category.", - "privileges.inherit": "Если группа зарегистрированных пользователей получает дополнительные права, то все другие группы (¿какие другие группы? подгруппы?¿) получают эти права неявным образом, даже если они специально не заданы. Эти неявным образом заданные права показаны вам потому что все пользователи (¿и даже незарегистрированные?¿) являются частью группы зарегистрированных пользователей, так что права для дополнительных групп не обязаны задаваться явным образом.", - "privileges.copy-success": "Privileges copied!", + "privileges.copy-group-privileges-to-children": "Скопировать настройки доступа группы и применить ко всем дочерним подкатегориям.", + "privileges.copy-group-privileges-to-all-categories": "Скопировать настройки доступа группы и применить ко всем категориям.", + "privileges.copy-group-privileges-from": "Скопировать настройки доступа группы из другой категории.", + "privileges.inherit": "Если стандартная группа зарегистрированные пользователи получает определённые права, то все остальные группы также получают аналогичные права неявным образом, то есть, даже если они специально не заданы. Это происходит потому, что статус зарегистрированного пользователя распространяется на всех участников.", + "privileges.copy-success": "Настройки прав доступа скопированы!", "analytics.back": "Назад к списку категорий", - "analytics.title": "Аналитика категории \"%1\"", + "analytics.title": "Статистика категории «%1»", "analytics.pageviews-hourly": "График 1 – просмотров за час", "analytics.pageviews-daily": "График 2 – просмотров за день", "analytics.topics-daily": "График 3 – новых тем за день", @@ -64,7 +64,7 @@ "alert.none-active": "У вас нет активных категорий.", "alert.create": "Создать категорию", "alert.confirm-moderate": " Вы уверены, что хотите предоставить участникам этой группы права модератора? Это открытая группа, так что любой пользователь может к ней присоединиться по желанию.", - "alert.confirm-purge": "

Вы точно хотите очистить категорию \"%1\"?

Предупреждение! Все темы и сообщения в этой категории будут удалены

Очистка категории удаляет все темы и сообщения, а также саму категорию из базы данных. Если вы хотите удалить категорию временно, вместо очистки вам нужно выбрать \"отключить\" .

", + "alert.confirm-purge": "

Вы точно хотите очистить категорию «%1»?

Предупреждение! Все темы и сообщения в этой категории будут удалены

Очистка категории удаляет все темы и сообщения, а также саму категорию из базы данных. Если вы хотите удалить категорию временно, вместо очистки вам нужно выбрать \"отключить\" .

", "alert.purge-success": "Категория очищена!", "alert.copy-success": "Настройки скопированы!", "alert.set-parent-category": "Выбрать родительскую категорию", diff --git a/public/language/ru/admin/manage/digest.json b/public/language/ru/admin/manage/digest.json index 075b8e1aff..4249fb11d1 100644 --- a/public/language/ru/admin/manage/digest.json +++ b/public/language/ru/admin/manage/digest.json @@ -1,21 +1,21 @@ { - "lead": "A listing of digest delivery stats and times is displayed below.", - "disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.", - "disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as SendGrid.", + "lead": "Здесь представлен отчёт об отправке регулярных рассылок-дайджестов.", + "disclaimer": "Пожалуйста, имейте в в виду, что в силу специфики работы электронной почты доставку писем гарантировать невозможно. Получит пользователь рассылку или нет, зависит от множества факторов: репутации сервера, наличие или отсутствие вашего IP-адреса в чёрных списках, наличие или отсутствие настроек DKIM/SPF/DMARC и т.п.", + "disclaimer-continued": "Успешная доставка означает, что NodeBB отправил письмо, и оно прибыло на почтовый сервер получателя. Это ещё не значит, что пользователь увидел его во «Входящих». Для более надёжной доставки мы рекомендуем использовать специальные сторонние сервисы, например SendGrid.", - "user": "User", - "subscription": "Subscription Type", - "last-delivery": "Last successful delivery", - "default": "System default", - "default-help": "System default means the user has not explicitly overridden the global forum setting for digests, which is currently: "%1"", - "resend": "Resend Digest", - "resend-all-confirm": "Are you sure you wish to mnually execute this digest run?", - "resent-single": "Manual digest resend completed", - "resent-day": "Daily digest resent", - "resent-week": "Weekly digest resent", - "resent-month": "Monthly digest resent", - "null": "Never", - "manual-run": "Manual digest run:", + "user": "Пользователь", + "subscription": "Тип подписки", + "last-delivery": "Последняя доставка", + "default": "Стандартная системная", + "default-help": "Стандартная системная означает, что пользователь не выбирал своих собственных параметров рассылки и пользуется настройками по умолчанию. В данный момент это «%1».", + "resend": "Отправить заново", + "resend-all-confirm": "Вы уверены, что хотите повторить рассылку вручную?", + "resent-single": "Повтор рассылки вручную завершён", + "resent-day": "Ежедневная рассылка отправлена повторно", + "resent-week": "Еженедельная рассылка отправлена повторно", + "resent-month": "Ежемесячная рассылка отправлена повторно", + "null": "Никогда", + "manual-run": "Повтор вручную:", - "no-delivery-data": "No delivery data found" + "no-delivery-data": "Нет данных о доставке" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/privileges.json b/public/language/ru/admin/manage/privileges.json index 375809190c..2d14695ae6 100644 --- a/public/language/ru/admin/manage/privileges.json +++ b/public/language/ru/admin/manage/privileges.json @@ -4,32 +4,32 @@ "group-privileges": "Права групп", "user-privileges": "Права пользователей", "chat": "Чат", - "upload-images": "Загружать сообщения", - "upload-files": "Загружать файлы", + "upload-images": "Загрузка изображений", + "upload-files": "Загрузка файлов", "signature": "Подпись", - "ban": "Блокировать", + "ban": "Блокировка пользователей", "search-content": "Поиск по содержимому", - "search-users": "Поиск участников", - "search-tags": "Поиск тегов", - "view-users": "View Users", - "view-tags": "View Tags", - "view-groups": "View Groups", - "allow-local-login": "Локальная авторизация", - "allow-group-creation": "Group Create", - "view-users-info": "View Users Info", - "find-category": "Поиск категории", - "access-category": "Доступ к категории", - "access-topics": "Доступ к темам", - "create-topics": "Создание тем", - "reply-to-topics": "Ответы в темах", - "tag-topics": "Пометка тем", - "edit-posts": "Редактирование записей", - "view-edit-history": "Просмотр истории редактирования", - "delete-posts": "Удаление записей", - "view_deleted": "Просмотр удаленных записей", - "upvote-posts": "Голосование за запись", - "downvote-posts": "Голосование против записи", - "delete-topics": "Удаление тем", - "purge": "Очистка всего", - "moderate": "Модерирование" + "search-users": "Поиск пользователей", + "search-tags": "Поиск меток", + "view-users": "Просмотр пользователей", + "view-tags": "Просмотр меток", + "view-groups": "Просмотр групп", + "allow-local-login": "Локальный вход", + "allow-group-creation": "Создание групп", + "view-users-info": "Просмотр польз. данных", + "find-category": "Найти категорию", + "access-category": "Читать категорию", + "access-topics": "Читать темы", + "create-topics": "Создавать темы", + "reply-to-topics": "Отвечать в темах", + "tag-topics": "Присваивать метки", + "edit-posts": "Редактировать сообщения", + "view-edit-history": "Просм. историю версий", + "delete-posts": "Удалять сообщения", + "view_deleted": "Просм. удалённые сообщения", + "upvote-posts": "Повышать рейтинг", + "downvote-posts": "Понижать рейтинг", + "delete-topics": "Удалять темы", + "purge": "Стирать удалённое", + "moderate": "Модерировать" } \ No newline at end of file diff --git a/public/language/ru/admin/manage/uploads.json b/public/language/ru/admin/manage/uploads.json index 6741cb2c57..0b0dd240ac 100644 --- a/public/language/ru/admin/manage/uploads.json +++ b/public/language/ru/admin/manage/uploads.json @@ -1,7 +1,7 @@ { "upload-file": "Загрузить Файл", "filename": "Название", - "usage": "Post Usage", + "usage": "Использ. в сообщениях", "orphaned": "Отделенный", "size/filecount": "Размер / Файлов", "confirm-delete": "Вы действительно хотите удалить этот файл?", diff --git a/public/language/ru/admin/manage/users.json b/public/language/ru/admin/manage/users.json index b21f3d222b..6b474296ef 100644 --- a/public/language/ru/admin/manage/users.json +++ b/public/language/ru/admin/manage/users.json @@ -1,99 +1,99 @@ { - "users": "Пользователей", + "users": "Пользователи", "edit": "Редактировать", "make-admin": "Сделать администратором", "remove-admin": "Удалить администратора", "validate-email": "Подтвердить адрес электронной почты", - "send-validation-email": "Подтвердить адрес электронной почты", - "password-reset-email": "Выслать письмо для сброса пароля", - "force-password-reset": "Force Password Reset & Log User Out", - "ban": "Забанить пользователя (-ей)", - "temp-ban": "Временно забанить пользователя (-ей)", - "unban": "Снять бан с пользователя (-ей)", - "reset-lockout": "Снять блокировку", - "reset-flags": "Сбросить флаги", - "delete": "Удалить пользователя (-ей)", - "purge": "Удалить пользователя (-ей) и данные", + "send-validation-email": "Отправить письмо с кодом подтверждения", + "password-reset-email": "Отправить письмо для сброса пароля", + "force-password-reset": "Сбросить пароль и завершить сессию пользователя", + "ban": "Заблокировать пользователя(-ей)", + "temp-ban": "Временно заблокировать пользователя(-ей)", + "unban": "Разблокировать пользователя(-ей)", + "reset-lockout": "Снять локаут", + "reset-flags": "Сбросить счётчик жалоб", + "delete": "Удалить пользователя(-ей)", + "purge": "Удалить пользователя(-ей) и его данные", "download-csv": "Скачать CSV", "invite": "Пригласить", "new": "Новый пользователь", - "pills.latest": "Последние пользователи", - "pills.unvalidated": "Не проверено", - "pills.no-posts": "Нет постов", + "pills.latest": "Последние", + "pills.unvalidated": "Не подтверждены", + "pills.no-posts": "Без сообщений", "pills.top-posters": "Самые активные", - "pills.top-rep": "С самой большой репутацией", - "pills.inactive": "Неактивно", - "pills.flagged": "Самый отмеченный", - "pills.banned": "Заблокированные участники", + "pills.top-rep": "Лучшая репутация", + "pills.inactive": "Неактивные", + "pills.flagged": "Больше всего жалоб", + "pills.banned": "Заблокированные", "pills.search": "Поиск пользователей", - "50-per-page": "50 per page", - "100-per-page": "100 per page", - "250-per-page": "250 per page", - "500-per-page": "500 per page", + "50-per-page": "50 на страницу", + "100-per-page": "100 на страницу", + "250-per-page": "250 на страницу", + "500-per-page": "500 на страницу", "search.uid": "По ID пользователя", "search.uid-placeholder": "Введите ID пользователя для поиска", "search.username": "По имени пользователя", "search.username-placeholder": "Введите имя пользователя для поиска", - "search.email": "по Email", - "search.email-placeholder": "Введите Email для поиска", - "search.ip": "По IP адресу", - "search.ip-placeholder": "Введите IP адрес для поиска", + "search.email": "По адресу электронной почты", + "search.email-placeholder": "Введите адрес электронной почты для поиска", + "search.ip": "По IP-адресу", + "search.ip-placeholder": "Введите IP-адрес для поиска", "search.not-found": "Пользователь не найден!", "inactive.3-months": "3 месяца", "inactive.6-months": "6 месяцев", "inactive.12-months": "12 месяцев", - "users.uid": "ID пользователя", - "users.username": "Имя пользователя", - "users.email": "email", - "users.postcount": "Счетчик постов", + "users.uid": "ID", + "users.username": "Логин", + "users.email": "E-mail", + "users.postcount": "Сообщения", "users.reputation": "Репутация", - "users.flags": "Отметки", - "users.joined": "Присоединился", - "users.last-online": "Последний раз был в сети", - "users.banned": "забанен", + "users.flags": "Жалобы", + "users.joined": "Регистрация", + "users.last-online": "В сети", + "users.banned": "Блокировка", "create.username": "Имя пользователя", - "create.email": "Email", - "create.email-placeholder": "Email этого пользователя", + "create.email": "E-mail", + "create.email-placeholder": "Адрес электронной почты пользователя", "create.password": "Пароль", "create.password-confirm": "Подтвердите пароль", - "temp-ban.length": "Период бана", + "temp-ban.length": "Период блокировки", "temp-ban.reason": "Причина (Необязательно)", "temp-ban.hours": "Часов", "temp-ban.days": "Дней", - "temp-ban.explanation": "Введите продолжительность бана. Имейте ввиду, что время \"0\" будет означать вечный бан.", + "temp-ban.explanation": "Укажите продолжительность блокировки. Имейте в виду, что «0» означает заблокировать навсегда.", - "alerts.confirm-ban": "Вы действительно хотите забанить этого участника навсегда?", - "alerts.confirm-ban-multi": "Вы действительно хотите забанить этих участников навсегда?", - "alerts.ban-success": "Пользователь(и) забанен(ы)!", - "alerts.button-ban-x": "Забанить %1 пользователя(-ей)", - "alerts.unban-success": "Пользователь(и) разбанен(ы)!", - "alerts.lockout-reset-success": "Блокировка(и) сброшена(ы)!", - "alerts.flag-reset-success": "Отметка(и) сброшена(ы)!", - "alerts.no-remove-yourself-admin": "Вы не можете удалить себя как Администратора!", + "alerts.confirm-ban": "Вы действительно хотите заблокировать пользователя навсегда?", + "alerts.confirm-ban-multi": "Вы действительно хотите заблокировать этих пользователей навсегда?", + "alerts.ban-success": "Пользователь(и) заблокирован(ы)!", + "alerts.button-ban-x": "Заблокировать %1 пользователя(-ей)", + "alerts.unban-success": "Пользователь(и) разблокирован(ы)!", + "alerts.lockout-reset-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.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": "Вы хотите утвердить email(s) этого пользователя(-ей)?", - "alerts.confirm-force-password-reset": "Are you sure you want to force the password reset and log out these user(s)?", - "alerts.validate-email-success": "Email утверждены.", - "alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.", - "alerts.password-reset-confirm": "Вы хотите послать письмо(а) со сбросом пароля этому пользователю(ям)?", - "alerts.confirm-delete": "Внимание!
Вы действительно хотите удалить этого пользователя(ей)?
Это действие необратимо! Удалится только аккаунт пользователя, его посты и топики останутся.", - "alerts.delete-success": "Пользователь(и) Удален(ы)!", - "alerts.confirm-purge": "Внимание!
Вы действительно хотите удалить этого пользователя(ей) и их данные?
Это действие необратимо! Удалится вообще всё!", + "alerts.confirm-validate-email": "Вы хотите подтвердить e-mail этого пользователя(-ей)?", + "alerts.confirm-force-password-reset": "Вы уверены, что хотите сбросить пароль и завершить сессию этого пользователя(-ей)?", + "alerts.validate-email-success": "Адреса электронной почты подтверждены", + "alerts.validate-force-password-reset-success": "Пароли были сброшены, а сессии — завершены.", + "alerts.password-reset-confirm": "Вы хотите отправить этому пользователю ссылку для сброса пароля?", + "alerts.confirm-delete": "Внимание!
Вы действительно хотите удалить этого пользователя(ей)?
Это действие необратимо! Будет удалена только учётная запись, темы и сообщения пользователя останутся.", + "alerts.delete-success": "Пользователь(и) удален(ы)!", + "alerts.confirm-purge": "Внимание!
Вы действительно хотите удалить этого пользователя(ей) и его данные?
Это действие необратимо! Будут удалены как учётная запись, так и весь контент пользователя!", "alerts.create": "Создать пользователя", "alerts.button-create": "Создать", "alerts.button-cancel": "Отмена", @@ -102,6 +102,6 @@ "alerts.create-success": "Пользователь создан!", "alerts.prompt-email": "Адреса электронной почты:", - "alerts.email-sent-to": "Приглашение для участника %1 было отправлено по электронной почте", - "alerts.x-users-found": "Нашел %1 пользователя(ей)! Поиск занял %2 мс." + "alerts.email-sent-to": "Письмо с приглашением для %1 отправлено", + "alerts.x-users-found": "Найдено пользователей: %1! Поиск занял %2 мс." } \ No newline at end of file diff --git a/public/language/ru/admin/menu.json b/public/language/ru/admin/menu.json index d8d770f58a..0109848e9b 100644 --- a/public/language/ru/admin/menu.json +++ b/public/language/ru/admin/menu.json @@ -12,16 +12,16 @@ "manage/privileges": "Привилегии", "manage/tags": "Метки", "manage/users": "Пользователи", - "manage/admins-mods": "Админы и Модераторы", + "manage/admins-mods": "Администраторы и модераторы", "manage/registration": "Очередь на регистрацию", "manage/post-queue": "Очередь на публикацию", "manage/groups": "Группы", - "manage/ip-blacklist": "Блокировка IP", + "manage/ip-blacklist": "Чёрный список IP", "manage/uploads": "Загрузки", - "manage/digest": "Digests", + "manage/digest": "Рассылки", "section-settings": "Настройки", - "settings/general": "Главные", + "settings/general": "Основные", "settings/reputation": "Репутация", "settings/email": "Электронная почта", "settings/user": "Пользователь", @@ -32,7 +32,7 @@ "settings/chat": "Чат", "settings/pagination": "Пагинация", "settings/tags": "Метки", - "settings/notifications": "Оповещения", + "settings/notifications": "Уведомления", "settings/cookies": "Куки", "settings/web-crawler": "Индексация", "settings/sockets": "Сокеты", diff --git a/public/language/ru/admin/settings/advanced.json b/public/language/ru/admin/settings/advanced.json index bbb21f82e4..6f9e590477 100644 --- a/public/language/ru/admin/settings/advanced.json +++ b/public/language/ru/admin/settings/advanced.json @@ -1,26 +1,26 @@ { - "maintenance-mode": "Режим обслуживания", - "maintenance-mode.help": "Когда форум находится в режиме обслуживания, все запросы будут перенаправляться на статичную страницу. Администраторы освобождены от этого ограничения, и имеют обычный доступ к сайту.", - "maintenance-mode.status": "Maintenance Mode Status Code", - "maintenance-mode.message": "Сообщение форума в режиме обслуживания", + "maintenance-mode": "Режим техобслуживания", + "maintenance-mode.help": "Когда включен режим техобслуживания, все запросы перенаправляются на специальную страницу-заглушку. Только администраторы сохраняют обычный доступ к форуму.", + "maintenance-mode.status": "Код состояния HTTP для страницы-заглушки", + "maintenance-mode.message": "Сообщение для пользователей", "headers": "Заголовки", - "headers.allow-from": "Установить ALLOW-FROM для размещения NodeBB в iFrame", - "headers.powered-by": "Изменить заголовок \"Powered By\"", + "headers.allow-from": "Опция ALLOW-FROM для использования NodeBB через iFrame", + "headers.powered-by": "Настройка заголовка «Powered By», отправляемого NodeBB", "headers.acao": "Access-Control-Allow-Origin", - "headers.acao-regex": "Access-Control-Allow-Origin Регулярное выражение", - "headers.acao-help": "Чтобы запретить доступ всем сайтам, значение оставьте пустым", - "headers.acao-regex-help": "Введите регулярное выражение, которым будет проверяться доступ сайта. Чтобы запретить доступ всем сайтам, значение оставьте пустым", + "headers.acao-regex": "Регулярное выражение для Access-Control-Allow-Origin", + "headers.acao-help": "Оставьте пустым, чтобы запретить доступ всем сайтам", + "headers.acao-regex-help": "Введите регулярное выражение для проверки прав доступа. Оставьте поле пустым, чтобы запретить доступ всем сайтам", "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "hsts": "Строгая политика безопасности транспортного уровня", - "hsts.enabled": "Включить HSTS (рекоммендуется)", - "hsts.subdomains": "Включить поддомены в HSTS заголовке", + "hsts.enabled": "Включить HSTS (рекомендуется)", + "hsts.subdomains": "Включать в заголовок HSTS поддомены", "hsts.preload": "Разрешить предзагрузку заголовка HSTS", - "hsts.help": "Если включено, то заголовок HSTS будет отправляться в запросах к этому сайту. Вы можете выбрать поддомены и флаги предзагрузки в заголовке. Если сомневаетесь, то можете оставить как есть. Дополнительная информация ", - "traffic-management": "Управление траффиком", - "traffic.help": "NodeBB имеет модуль, который автоматически блокирует соединения в случаях высокой нагрузки. Вы можете настроить его здесь, но настройки по умолчанию и так довольно хороши для начала.", - "traffic.enable": "Включить управление траффиком", + "hsts.help": "Включите, чтобы установить заголовок HSTS для этого сайта, а также настроить его предзагрузку или использование поддоменов. Если вы не уверены, какими должны быть эти параметры, оставьте всё как есть. Дополнительная информация ", + "traffic-management": "Управление трафиком", + "traffic.help": "NodeBB может автоматически блокировать соединения при высокой нагрузке. Настройте параметры блокировки как считаете нужным, хотя настройки по умолчанию и так вполне хороши.", + "traffic.enable": "Включить управление трафиком", "traffic.event-lag": "Порог лага Event Loop (в миллисекундах)", "traffic.event-lag-help": "Уменьшение этого значение ускорит загрузку страниц, но также может привести к показу сообщения \"высокая нагрузка\" большому количеству участников. (Необходим перезапуск)", "traffic.lag-check-interval": "Интервал проверки (в миллисекундах)", diff --git a/public/language/ru/admin/settings/chat.json b/public/language/ru/admin/settings/chat.json index f102735ab6..6cf024d098 100644 --- a/public/language/ru/admin/settings/chat.json +++ b/public/language/ru/admin/settings/chat.json @@ -1,11 +1,11 @@ { - "chat-settings": "Настройки Чата", + "chat-settings": "Настройки чата", "disable": "Отключить чат", - "disable-editing": "Отключить редактирование/удаление сообщения чата", + "disable-editing": "Отключить редактирование и удаление сообщений чата", "disable-editing-help": "Администраторы и общие модераторы освобождены от этого ограничения.", - "max-length": "Максимальная длина сообщения чата", - "max-room-size": "Максимальное число пользователей в чат комнатах", - "delay": "Время между сообщениями чата в милисекундах", - "restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable. (0 disabled)", - "restrictions.seconds-delete-after": "Number of seconds a chat message will remain deletable. (0 disabled)" + "max-length": "Максимальная длина сообщений в чате", + "max-room-size": "Максимальное кол-во пользователей в чат-комнатах", + "delay": "Пауза между сообщениями (в миллисекундах)", + "restrictions.seconds-edit-after": "Через сколько секунд после отправки сообщение будет нельзя отредактировать (0 — время не ограничено)", + "restrictions.seconds-delete-after": "Через сколько секунд после отправки сообщение будет нельзя удалить (0 — время не ограничено)" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/cookies.json b/public/language/ru/admin/settings/cookies.json index 7f28057c49..8e41dd65b6 100644 --- a/public/language/ru/admin/settings/cookies.json +++ b/public/language/ru/admin/settings/cookies.json @@ -1,11 +1,11 @@ { - "eu-consent": "Соглашение", + "eu-consent": "Согласие на использование cookie", "consent.enabled": "Включено", - "consent.message": "Уведомление", - "consent.acceptance": "Сообщение о принятии", - "consent.link-text": "Ссылка на правила", - "consent.link-url": "Policy Link URL", - "consent.blank-localised-default": "Оставьте пустым чтобы использовать настройки NodeBB по умолчанию", + "consent.message": "Текст уведомления", + "consent.acceptance": "Текст сообщения о согласии", + "consent.link-text": "Текст ссылки на правила", + "consent.link-url": "URL ссылки на правила", + "consent.blank-localised-default": "Оставьте пустым, чтобы использовать стандартные настройки NodeBB", "settings": "Настройки", "cookie-domain": "Домен для cookie сессии", "blank-default": "Оставьте пустым для настроек по умолчанию" diff --git a/public/language/ru/admin/settings/email.json b/public/language/ru/admin/settings/email.json index 6697fb12c4..2bc928d5c8 100644 --- a/public/language/ru/admin/settings/email.json +++ b/public/language/ru/admin/settings/email.json @@ -1,40 +1,40 @@ { - "email-settings": "Email Settings", - "address": "Email Address", - "address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.", - "from": "From Name", - "from-help": "The from name to display in the email.", - "sendmail-rate-limit": "Send X emails...", - "sendmail-rate-delta": "... every X milliseconds", - "sendmail-rate-help": "Instructs the NodeBB mailer to limit the number of messages sent at once in order to not overwhelm email receiving services. These options do not apply if SMTP Transport is enabled (below).", + "email-settings": "Настройки электронной почты", + "address": "Адрес электронной почты", + "address-help": "Этот адрес получатели писем увидят в полях «От кого» и «Ответить».", + "from": "От кого", + "from-help": "Имя отправителя письма (или название форума).", + "sendmail-rate-limit": "Отправлять Х писем...", + "sendmail-rate-delta": "…каждые X миллисекунд", + "sendmail-rate-help": "Ограничивает кол-во писем, отправляемых за единицу времени, чтобы не перегружать службы доставки. Эта настройка не применяется, если вы используете сторонний почтовый сервис (см. ниже).", - "smtp-transport": "SMTP Transport", - "smtp-transport.enabled": "Use an external email server to send emails", - "smtp-transport-help": "You can select from a list of well-known services or enter a custom one.", - "smtp-transport.service": "Select a service", - "smtp-transport.service-custom": "Custom Service", - "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.gmail-warning1": "There have been reports of the Gmail service not working on accounts with heightened security. In those scenarios, you will have to configure your GMail account to allow less secure apps.", + "smtp-transport": "Сервис SMTP", + "smtp-transport.enabled": "Использовать сторонний сервис для рассылки писем", + "smtp-transport-help": "Выберите один из популярных сервисов или укажите свой почтовый сервер.", + "smtp-transport.service": "Выберите сервис", + "smtp-transport.service-custom": "Другой сервис", + "smtp-transport.service-help": "Выберите какой-нибудь сервис из списка, чтобы увидеть его параметры — или укажите настройки вручную, выбрав пункт «Другой сервис»", + "smtp-transport.gmail-warning1": "Отправка писем через Gmail может не сработать, если ваша учётная запись использует усиленные настройки безопасности. В этом случае вам понадобится позволить использовать менее безопасные приложения с вашей учётной записью Gmail.", "smtp-transport.gmail-warning2": "For more information about this workaround, please consult this NodeMailer article on the issue. An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. Browse available plugins here.", - "smtp-transport.host": "SMTP Host", - "smtp-transport.port": "SMTP Port", - "smtp-transport.security": "Connection security", - "smtp-transport.security-encrypted": "Encrypted", + "smtp-transport.host": "Сервер SMTP", + "smtp-transport.port": "Порт SMTP", + "smtp-transport.security": "Безопасность соединения", + "smtp-transport.security-encrypted": "Зашифрованное", "smtp-transport.security-starttls": "StartTLS", - "smtp-transport.security-none": "None", - "smtp-transport.username": "Username", - "smtp-transport.username-help": "For the Gmail service, enter the full email address here, especially if you are using a Google Apps managed domain.", - "smtp-transport.password": "Password", + "smtp-transport.security-none": "Отсутствует", + "smtp-transport.username": "Имя пользователя", + "smtp-transport.username-help": "Для Gmail нужно указать полный адрес электронной почты, особенно если вы используете Google Apps.", + "smtp-transport.password": "Пароль", - "template": "Edit Email Template", - "template.select": "Select Email Template", - "template.revert": "Revert to Original", - "testing": "Email Testing", - "testing.select": "Select Email Template", - "testing.send": "Send Test Email", + "template": "Шаблоны писем", + "template.select": "Выберите шаблон письма", + "template.revert": "Вернуть стандартный", + "testing": "Проверка отправки", + "testing.select": "Выберите шаблон письма", + "testing.send": "Отправить проверочное письмо", "testing.send-help": "Проверочное письмо будет отправлено на электронную почту пользователя, который сейчас пользуется панелью администратора.", - "subscriptions": "Email Digests", - "subscriptions.disable": "Disable email digests", - "subscriptions.hour": "Digest Hour", - "subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. 0 for midnight, 17 for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.
The approximate server time is:
The next daily digest is scheduled to be sent " + "subscriptions": "Новостные рассылки", + "subscriptions.disable": "Отключить новостные рассылки", + "subscriptions.hour": "Час отправки", + "subscriptions.hour-help": "Введите число, соответствующее номеру часа (например, 0 для полуночи, 17 для 17:00). Имейте в виду, что время определяется по часовому поясу сервера.
Текущее время сервера:
Следующая рассылка запланирована на " } \ No newline at end of file diff --git a/public/language/ru/admin/settings/group.json b/public/language/ru/admin/settings/group.json index 4f9d84de9a..e09b9d025f 100644 --- a/public/language/ru/admin/settings/group.json +++ b/public/language/ru/admin/settings/group.json @@ -1,12 +1,12 @@ { "general": "Основные", - "private-groups": "Приватные группы", - "private-groups.help": "Если включено, то вступление в группы требует подтверждение хозяина группы (Включено по умолчанию)", - "private-groups.warning": "Внимание! если эта настройка выключена и у вас есть приватные группы, то они автоматически станут публичными.", - "allow-multiple-badges-help": "Этот флаг может быть использован чтобы позволить участникам выбрать несколько бейджей групп, функция требует поддержки темы.", + "private-groups": "Закрытые группы", + "private-groups.help": "Когда эта настройка включена, присоединиться к группе можно только с разрешения её владельца (Включено по умолчанию)", + "private-groups.warning": "Внимание! Если вы отключите эту опцию, все закрытые группы автоматически станут открытыми.", + "allow-multiple-badges-help": "Разрешить пользователям выбирать несколько значков групп (для полноценной работы этой функции требуется её поддержка в теме оформления форума).", "max-name-length": "Максимальная длина названия группы", - "max-title-length": "Maximum Group Title Length", - "cover-image": "Картинка группы", - "default-cover": "Картинки по умолчанию", - "default-cover-help": "Добавьте через запятую картинки для групп, которые не имеют своих" + "max-title-length": "Максимальная длина звания участника группы", + "cover-image": "Обложка группы", + "default-cover": "Стандартные обложки", + "default-cover-help": "Добавьте через запятую пути к изображениям, которые будут использованы, если у группы нет собственной обложки" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/guest.json b/public/language/ru/admin/settings/guest.json index 158c5b971f..06c29f55e2 100644 --- a/public/language/ru/admin/settings/guest.json +++ b/public/language/ru/admin/settings/guest.json @@ -1,5 +1,5 @@ { "handles": "Имена гостей", - "handles.enabled": "Разрешить имена гостей", - "handles.enabled-help": "Эта настройка включает новое поле, которое позволяет гостям указать имя, которое будет видно в каждом сообщении, которое они оставят. Если выключено, то имя будет просто \"Гость\"" + "handles.enabled": "Разрешить гостям выбирать имена", + "handles.enabled-help": "Эта настройка добавляет поле, в котором гость сможет указать имя, под которым он хочет оставить сообщение. Когда она выключена, вместо имени будет написано просто «Гость»." } \ No newline at end of file diff --git a/public/language/ru/admin/settings/notifications.json b/public/language/ru/admin/settings/notifications.json index e5ec7d53cd..c5ef26aa24 100644 --- a/public/language/ru/admin/settings/notifications.json +++ b/public/language/ru/admin/settings/notifications.json @@ -1,7 +1,7 @@ { "notifications": "Уведомления", "welcome-notification": "Приветственное уведомление", - "welcome-notification-link": "Ссылка на приветственное уведомление", - "welcome-notification-uid": "Приветственное уведомление пользователю (UID)", - "notification-alert-timeout": "Таймаут уведомления" + "welcome-notification-link": "Ссылка в уведомлении", + "welcome-notification-uid": "UID отправителя", + "notification-alert-timeout": "Таймаут оповещения" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/pagination.json b/public/language/ru/admin/settings/pagination.json index de099bdd1a..92f6d53c7a 100644 --- a/public/language/ru/admin/settings/pagination.json +++ b/public/language/ru/admin/settings/pagination.json @@ -1,9 +1,9 @@ { - "pagination": "Настройки разбивки на страницы", - "enable": "Разбивать темы и записи на страницы вместо бесконечной прокрутки.", + "pagination": "Настройка разбивки на страницы", + "enable": "Разбивать темы и сообщения на страницы вместо бесконечной прокрутки.", "topics": "Разбивка темы на страницы", - "posts-per-page": "Записей на страницу", - "max-posts-per-page": "Максимальное количество записей на странице", + "posts-per-page": "Сообщений на страницу", + "max-posts-per-page": "Максимальное кол-во сообщений на странице", "categories": "Разбивка категорий на страницы", "topics-per-page": "Тем на странице", "max-topics-per-page": "Максимально количество тем на странице" diff --git a/public/language/ru/admin/settings/post.json b/public/language/ru/admin/settings/post.json index 4ad1ac1e4d..e996411fc9 100644 --- a/public/language/ru/admin/settings/post.json +++ b/public/language/ru/admin/settings/post.json @@ -1,57 +1,57 @@ { - "sorting": "Сортировка постов", - "sorting.post-default": "Сортировка постов по умолчанию", - "sorting.oldest-to-newest": "Начиная со старых записей", - "sorting.newest-to-oldest": "Начиная с новых записей", - "sorting.most-votes": "По голосам", - "sorting.most-posts": "По количеству ответов", - "sorting.topic-default": "Сортировка записей по умолчанию", - "length": "Длина записи", - "post-queue": "Post Queue", - "restrictions": "Ограничения на запись", - "restrictions-new": "Ограничения для новых участников", - "restrictions.post-queue": "Включить очередь записей", - "restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue", - "restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue", - "restrictions-new.post-queue": "Включить ограничения для новых участников", - "restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval", + "sorting": "Сортировка сообщений", + "sorting.post-default": "Стандартная сортировка сообщений", + "sorting.oldest-to-newest": "Сначала старые", + "sorting.newest-to-oldest": "Сначала новые", + "sorting.most-votes": "По количеству голосов", + "sorting.most-posts": "По количеству сообщений", + "sorting.topic-default": "Стандартная сортировка тем", + "length": "Длина сообщения", + "post-queue": "Очередь на публикацию", + "restrictions": "Ограничения на публикацию", + "restrictions-new": "Ограничения для новых пользователей", + "restrictions.post-queue": "Включить очередь на публикацию", + "restrictions.post-queue-rep-threshold": "Минимум репутации для публикации без проверки", + "restrictions.groups-exempt-from-post-queue": "Выберите группы, участники которых смогут публиковать сообщения без предварительной проверки", + "restrictions-new.post-queue": "Включить ограничения для новых пользователей", + "restrictions.post-queue-help": "Сообщения от новых пользователей будут опубликованы только после проверки модератором", "restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users", - "restrictions.seconds-between": "Number of seconds between posts", - "restrictions.seconds-between-new": "Секунд между записями от новых участников", - "restrictions.rep-threshold": "Порог репутации перед тем как эти ограничения будут включены", - "restrictions.seconds-before-new": "Seconds before a new user can make their first post", - "restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)", - "restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)", - "restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)", + "restrictions.seconds-between": "Пауза между сообщениями (в секундах)", + "restrictions.seconds-between-new": "Пауза между сообщениями новых пользователей (в секундах)", + "restrictions.rep-threshold": "Минимум репутации, чтобы снять это ограничение", + "restrictions.seconds-before-new": "Пауза перед тем, как новый пользователь сможет написать первое сообщение (в секундах)", + "restrictions.seconds-edit-after": "Через сколько секунд после отправки сообщение нельзя будет отредактировать (0 — время не ограничено)", + "restrictions.seconds-delete-after": "Через сколько секунд после отправки сообщение нельзя будет удалить (0 — время не ограничено)", + "restrictions.replies-no-delete": "Кол-во ответов, после которого пользователям будет запрещено удалять тему (0 — ограничения нет)", "restrictions.min-title-length": "Минимальная длина названия", "restrictions.max-title-length": "Максимальная длина названия", - "restrictions.min-post-length": "Минимальная длина записи", - "restrictions.max-post-length": "Максимальная длина записи", - "restrictions.days-until-stale": "Количество дней после которого тема будет считаться устаревшей", - "restrictions.stale-help": "Когда тема считается \"устаревшей\", то участнику будет показано соответсвующее уведомление при попытке написать в такой теме.", - "timestamp": "Время", - "timestamp.cut-off": "Время отсечения (в днях)", - "timestamp.cut-off-help": "Дата и время будут показываться в формате \"3 часа назад\" / \"5 дней назад\" с локализацией в соответсвии с настройками языка форума. Спустя какое-то время, формат поменяется на простую дату (например: 5 Ноября 2016 15:30).
(По умолчанию: 30, или один месяц). Укажите 0 чтобы всегда отображать простую дату, оставьте пустым что всегда отображать относительное время", - "teaser": "Резюме записи", - "teaser.last-post": "Последний – Показывать последнюю запись, включая оригинальную, если нет ответов.", - "teaser.last-reply": "Последний – Показывать последнюю запись, либо \"Нет ответов\", если нет ответов. ", - "teaser.first": "Первый", - "unread": "Настройки непрочтенного", - "unread.cutoff": "Число дней в которые непрочтенное считается непрочтенным", - "unread.min-track-last": "Минимально количество сообщений в теме перед отслеживанием последнего прочтенного", - "recent": "Настройки последних сообщений", - "recent.categoryFilter.disable": "Отключить фильтрацию тем в заигнорированных категориях на странице /recent (последние сообщения)", - "signature": "Настройки подписи", + "restrictions.min-post-length": "Минимальная длина сообщения", + "restrictions.max-post-length": "Максимальная длина сообщения", + "restrictions.days-until-stale": "Через сколько дней тема будет считаться устаревшей", + "restrictions.stale-help": "Если тема считается устаревшей, пользователь увидит соответствующее предупреждение при попытке ответить в ней.", + "timestamp": "Дата и время", + "timestamp.cut-off": "Порог отсечки (в днях)", + "timestamp.cut-off-help": "Сначала дата и время сообщения будут отображаться в относительном виде: «3 часа назад» / «5 дней назад», локализованным в соответствии с языковыми настройками форума. Затем формат изменится на обычный: 5 Ноября 2016 15:30.
(Стандартная отсечка: 30, или один месяц). Введите 0, чтобы всегда отображать обычные дату и время, или оставьте поле пустым, чтобы всегда использовать относительный вид", + "teaser": "Сообщение-анонс", + "teaser.last-post": "Последнее – показать последнее сообщение в теме (первое, если ответов нет).", + "teaser.last-reply": "Последнее – показать последнее сообщение или пометку «Ответов нет»", + "teaser.first": "Первое сообщение", + "unread": "Настройка списка непрочитанных тем", + "unread.cutoff": "Порог отсечки (в днях)", + "unread.min-track-last": "Минимальное кол-во сообщений в теме, чтобы начать отслеживать непрочитанные ответы", + "recent": "Настройка списка последних тем", + "recent.categoryFilter.disable": "Отключить фильтрацию тем из игнорируемых категорий для списка последних тем", + "signature": "Настройка подписей", "signature.disable": "Отключить подписи", "signature.no-links": "Отключить ссылки в подписях", "signature.no-images": "Отключить картинки в подписях", "signature.max-length": "Максимальная длина подписи", "composer": "Настройки редактора", - "composer-help": "Эти настройки определяют функциональность и/или внешний вид редактора для участников, когда они создают новые темы или пишут сообщения.", - "composer.show-help": "Включить раздел подсказок", - "composer.enable-plugin-help": "Разрешить плагинам добавлять контент в раздел подсказок", - "composer.custom-help": "Настройка текста подсказки", - "ip-tracking": "Трекинг IP", - "ip-tracking.each-post": "Трекать IP для каждого сообщения", - "enable-post-history": "Включить историю сообщений" + "composer-help": "Эти настройки определяют функциональность и/или внешний вид редактора сообщений", + "composer.show-help": "Показывать вкладку с подсказками", + "composer.enable-plugin-help": "Разрешить плагинам добавлять подсказки на вкладку", + "composer.custom-help": "Пользовательский текст для вкладки с подсказками", + "ip-tracking": "Отслеживание IP", + "ip-tracking.each-post": "Отслеживать IP для каждого сообщения", + "enable-post-history": "Включить историю правок" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/reputation.json b/public/language/ru/admin/settings/reputation.json index c4bdd274ab..ff73fc58cf 100644 --- a/public/language/ru/admin/settings/reputation.json +++ b/public/language/ru/admin/settings/reputation.json @@ -1,14 +1,14 @@ { - "reputation": "Настройки репутации", - "disable": "Отключить Репутационную Систему", - "disable-down-voting": "Отключить Понижение Репутации", - "votes-are-public": "Все Голоса Общедоступны", + "reputation": "Настройка системы репутации", + "disable": "Выключить отслеживание репутации", + "disable-down-voting": "Отключить понижение рейтинга", + "votes-are-public": "Все голоса общедоступны", "thresholds": "Пороговые значения", "min-rep-downvote": "Минимальная репутация для понижения рейтинга сообщения", - "min-rep-flag": "Минимальная репутация для простановки отметки сообщению", - "min-rep-website": "Минимальная репутация для добавления «Веб-сайта» в профиль пользователя", + "min-rep-flag": "Минимальная репутация для отправки жалобы на сообщение", + "min-rep-website": "Минимальная репутация, чтобы заполнить поле «Веб-сайт» в профиле пользователя", "min-rep-aboutme": "Минимальная репутация, чтобы добавить «Обо мне» в профиль пользователя", - "min-rep-signature": "Минимальная репутация для добавления «Подписи» в профиль пользователя", - "min-rep-profile-picture": "Минимальная репутация для добавления \"Картинка профиля\" к профилю участника", - "min-rep-cover-picture": "Минимальная репутация для добавления \"Обложка профиля\" к профилю участника" + "min-rep-signature": "Минимальная репутация, чтобы заполнить поле «Подпись» в профиле пользователя", + "min-rep-profile-picture": "Минимальная репутация для загрузки аватара пользователя", + "min-rep-cover-picture": "Минимальная репутация для загрузки обложки профиля пользователя" } \ No newline at end of file diff --git a/public/language/ru/email.json b/public/language/ru/email.json index 3ea5dee273..9f333c4064 100644 --- a/public/language/ru/email.json +++ b/public/language/ru/email.json @@ -1,52 +1,52 @@ { - "test-email.subject": "Test Email", - "password-reset-requested": "Password Reset Requested!", - "welcome-to": "Добро пожаловать на %1", + "test-email.subject": "Проверочное письмо", + "password-reset-requested": "Получен запрос на сброс пароля!", + "welcome-to": "Добро пожаловать на форум %1", "invite": "Приглашение от %1", "greeting_no_name": "Здравствуйте!", "greeting_with_name": "Здравствуйте, %1!", "email.verify-your-email.subject": "Пожалуйста, подтвердите свой адрес электронной почты", "email.verify.text1": "Ваш адрес электронной почты был изменён!", - "welcome.text1": "Благодарим за регистрацию на %1!", - "welcome.text2": "Для активации вашей учётной записи необходимо подтвердить адрес электронной почты.", - "welcome.text3": "Администратор подтвердил вашу регистрацию. Теперь вы можете авторизоваться на сайте.", - "welcome.cta": "Перейдите по ссылке для подтверждения вашей электронной почты", - "invitation.text1": "%1 пригласил вас на %2", + "welcome.text1": "Благодарим за регистрацию на форуме %1!", + "welcome.text2": "Чтобы активировать учётную запись, необходимо подтвердить ваш адрес электронной почты.", + "welcome.text3": "Администратор подтвердил вашу регистрацию. Теперь вы можете использовать вашу учётную запись.", + "welcome.cta": "Нажмите здесь, чтобы подтвердить e-mail", + "invitation.text1": "%1 приглашает вас на форум %2", "invitation.text2": "Срок действия вашего приглашения истечёт через %1 дней.", "invitation.cta": "Нажмите здесь, чтобы создать учётную запись.", - "reset.text1": "Кто-то отправил запрос на сброс пароля на нашем сайте. Если вы не подавали запрос, пожалуйста, проигнорируйте это сообщение.", - "reset.text2": "Для продолжения процедуры изменения пароля перейдите по ссылке:", - "reset.cta": "Нажмите здесь для изменения пароля", + "reset.text1": "Мы получили запрос на сброс вашего пароля. Если вы его на самом деле не отправляли, то просто не обращайте внимания на это письмо.", + "reset.text2": "Чтобы сбросить пароль, перейдите по этой ссылке:", + "reset.cta": "Нажмите здесь, чтобы сбросить пароль", "reset.notify.subject": "Пароль был успешно изменён", "reset.notify.text1": "Мы уведомляем вас о том, что %1 ваш пароль был успешно изменён.", "reset.notify.text2": "Если вы не совершали этого действия, пожалуйста, незамедлительно свяжитесь с администратором сайта.", - "digest.latest_topics": "Последние темы %1", - "digest.cta": "Нажмите здесь для просмотра %1", - "digest.unsub.info": "Вам были отправлены новости сайта в соответствии с вашими настройками.", + "digest.latest_topics": "Последние темы на форуме %1", + "digest.cta": "Нажмите здесь, чтобы перейти на форум %1", + "digest.unsub.info": "Вы получили эту рассылку согласно вашим настройкам подписки.", "digest.day": "день", "digest.week": "неделя", "digest.month": "месяц", - "digest.subject": "Новости за %1", - "digest.title.day": "Your Daily Digest", - "digest.title.week": "Your Weekly Digest", - "digest.title.month": "Your Monthly Digest", + "digest.subject": "Новостная рассылка за %1", + "digest.title.day": "Ваша ежедневная рассылка", + "digest.title.week": "Ваша еженедельная рассылка", + "digest.title.month": "Ваша ежемесячная рассылка", "notif.chat.subject": "Новое сообщение от %1", "notif.chat.cta": "Нажмите, чтобы ответить", "notif.chat.unsub.info": "Вы получили это уведомление согласно вашим настройкам подписки.", "notif.post.unsub.info": "Вы получили это уведомление согласно вашим настройкам подписки.", - "notif.post.unsub.one-click": "Alternatively, unsubscribe from future emails like this, by clicking", - "notif.cta": "To the forum", - "notif.cta-new-reply": "View Post", - "notif.cta-new-chat": "View Chat", - "notif.test.short": "Testing Notifications", - "notif.test.long": "This is a test of the notifications email. Send help!", - "test.text1": "Это тестовое сообщение для проверки почтового сервиса.", - "unsub.cta": "Изменить настройки", - "unsubscribe": "unsubscribe", - "unsub.success": "You will no longer receive emails from the %1 mailing list", - "banned.subject": "Вы были заблокированы в %1.", - "banned.text1": "Участник %1 заблокирован в %2.", - "banned.text2": "Эта блокировка продлится до %1.", - "banned.text3": "Это причина, почему вы были заблокированны.", + "notif.post.unsub.one-click": "Вы можете отписаться от подобных уведомлений по этой ссылке:", + "notif.cta": "Перейти на форум", + "notif.cta-new-reply": "Открыть сообщение", + "notif.cta-new-chat": "Открыть чат", + "notif.test.short": "Проверка рассылки уведомлений", + "notif.test.long": "Это проверка уведомлений по электронной почте. Высылайте подмогу!", + "test.text1": "Это проверочное сообщение: отправка электронной почты в NodeBB настроена правильно.", + "unsub.cta": "Нажмите, чтобы изменить настройки", + "unsubscribe": "отписаться", + "unsub.success": "Вы больше не будете получать рассылку от %1", + "banned.subject": "Вы были заблокированы на форуме %1.", + "banned.text1": "Пользователь %1 был заблокирован на форуме %2.", + "banned.text2": "Блокировка продлится до %1.", + "banned.text3": "Причина вашей блокировки:", "closing": "Спасибо!" } \ No newline at end of file diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 8f7e78541c..eb9405383d 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -132,7 +132,7 @@ "reputation-system-disabled": "Система репутации отключена.", "downvoting-disabled": "Понижение рейтинга отключено", "not-enough-reputation-to-downvote": "У вас недостаточно репутации для понижения рейтинга сообщения", - "not-enough-reputation-to-flag": "У Вас недостаточно репутации, чтобы пожаловаться на это сообщение.", + "not-enough-reputation-to-flag": "У вас недостаточно репутации, чтобы пожаловаться на это сообщение.", "not-enough-reputation-min-rep-website": "У вас недостаточно репутации, чтобы добавить сайт", "not-enough-reputation-min-rep-aboutme": "У вас недостаточно репутации, чтобы добавить \"обо мне\"", "not-enough-reputation-min-rep-signature": "У вас недостаточно репутации, чтобы добавить подпись", diff --git a/public/language/ru/global.json b/public/language/ru/global.json index a4c47af46c..21dadd6b70 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -30,7 +30,7 @@ "header.unread": "Непрочитанные", "header.tags": "Метки", "header.popular": "Популярные", - "header.users": "Участники", + "header.users": "Пользователи", "header.groups": "Группы", "header.chats": "Чаты", "header.notifications": "Уведомления", diff --git a/public/language/ru/notifications.json b/public/language/ru/notifications.json index b9ae7b8e87..66aebf4d63 100644 --- a/public/language/ru/notifications.json +++ b/public/language/ru/notifications.json @@ -14,51 +14,51 @@ "topics": "Темы", "replies": "Ответы", "chat": "Чаты", - "follows": "Следят", - "upvote": "Понравилось", - "new-flags": "Новые закладки", - "my-flags": "Закладки для меня", + "follows": "Подписки", + "upvote": "Голоса", + "new-flags": "Новые жалобы", + "my-flags": "Назначенные мне жалобы", "bans": "Блокировки", - "new_message_from": "Новое сообщение от участника %1", - "upvoted_your_post_in": "Участник %1 проголосовал за ваше сообщение в %2.", - "upvoted_your_post_in_dual": "Участники %1 и %2 проголосовали за ваше сообщение в %3.", - "upvoted_your_post_in_multiple": "Участник %1 и %2 других проголосовали за ваше сообщение в %3", + "new_message_from": "Новое сообщение от %1", + "upvoted_your_post_in": "Пользователь %1 проголосовал за ваше сообщение в %2.", + "upvoted_your_post_in_dual": "Пользователи %1 и %2 проголосовали за ваше сообщение в %3.", + "upvoted_your_post_in_multiple": "%1 и %2 других пользователя проголосовали за ваше сообщение в %3", "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_multiple": "Участник %1 и %2 других пометили ваше сообщение %3", - "user_flagged_user": "Участник %1 отметили профиль пользователя (%3)", - "user_flagged_user_dual": "Участник %1 и %2отметили профиль пользователя (%3)", - "user_flagged_user_multiple": "%1 и %2 других отметили профиль пользователя (%3)", - "user_posted_to": "Участник %1 ответил на запись: %2", - "user_posted_to_dual": "Участники %1 и %2 ответили на вашу запись: %3", - "user_posted_to_multiple": "Участник %1 и %2 других ответили на вашу запись: %3", - "user_posted_topic": "Участник %1 открыл новую тему: %2", - "user_started_following_you": "Участник %1 подписался на вас.", - "user_started_following_you_dual": "Участники %1 и %2 подписались на вас.", - "user_started_following_you_multiple": "Участник %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_multiple": "%1 и %2 других пользователя пожаловались на сообщение в %3", + "user_flagged_user": "Пользователь %1 пожаловался на профиль пользователя (%3)", + "user_flagged_user_dual": "Пользователи %1 и %2 пожаловались на профиль пользователя (%3)", + "user_flagged_user_multiple": "%1 и %2 других пользователя пожаловались на профиль пользователя (%3)", + "user_posted_to": "Пользователь %1 ответил на сообщение в %2", + "user_posted_to_dual": "Пользователи %1 и %2 ответили на сообщение в %3", + "user_posted_to_multiple": "%1 и %2 других пользователя ответили на сообщение в %3", + "user_posted_topic": "Пользователь %1 создал новую тему: %2", + "user_started_following_you": "Пользователь %1 подписался на вас.", + "user_started_following_you_dual": "Пользователи %1 и %2 подписались на вас.", + "user_started_following_you_multiple": "%1 и %2 других пользователя подписались на вас.", "new_register": "Посетитель %1 отправил запрос на регистрацию.", "new_register_multiple": "В очереди %1 заявок на регистрацию.", - "flag_assigned_to_you": "Метка%1 была вам назначена", - "post_awaiting_review": "Сообщение ожидающее рассмотрения", + "flag_assigned_to_you": "Жалоба %1 была назначена вам", + "post_awaiting_review": "Сообщение ожидает проверки", "email-confirmed": "Электронная почта подтверждена", - "email-confirmed-message": "Спасибо за подтверждение адреса электронной почты. Ваша учётная запись активирована. Добро пожаловать на наш сайт!", - "email-confirm-error-message": "Ошибка проверки адреса электронной почты. Возможно, введён неправильно код подтверждения, либо у него истёк срок действия.", + "email-confirmed-message": "Спасибо за подтверждение адреса электронной почты. Ваша учётная запись активирована.", + "email-confirm-error-message": "Ошибка проверки адреса электронной почты. Возможно, код подтверждения введён неправильно или у него истёк срок действия.", "email-confirm-sent": "Письмо с проверочным кодом отправлено на ваш электронный адрес", - "none": "Пусто", + "none": "Ничего", "notification_only": "Только уведомление", - "email_only": "Только электронная почта", - "notification_and_email": "Уведомление & Электронная почта", + "email_only": "Только письмо", + "notification_and_email": "Уведомление и письмо", "notificationType_upvote": "Когда кто-то проголосовал за ваше сообщение", - "notificationType_new-topic": "Отслеживать сообщения в вашей теме", - "notificationType_new-reply": "Когда новый ответ отправляется в теме, которую вы смотрите", - "notificationType_follow": "Когда кто-то подписался на ваши обновления", - "notificationType_new-chat": "Когда вы получили сообщение", - "notificationType_group-invite": "Когда вы получили приглашение в группу", - "notificationType_group-request-membership": "When someone requests to join a group you own", - "notificationType_new-register": "Когда кто-то добавляется в очередь регистрации", - "notificationType_post-queue": "Когда новое сообщение помещается в очередь", - "notificationType_new-post-flag": "Когда сообщение помечено", - "notificationType_new-user-flag": "Когда пользователь отмечен" + "notificationType_new-topic": "Когда кто-то, на кого вы подписаны, создаёт новую тему", + "notificationType_new-reply": "Когда в теме, за которой вы следите, появляется новое сообщение", + "notificationType_follow": "Когда кто-то подписался на вас", + "notificationType_new-chat": "Когда вы получаете сообщение в чат", + "notificationType_group-invite": "Когда вы получаете приглашение в группу", + "notificationType_group-request-membership": "Когда кто-то хочет присоединиться к группе, которой вы управляете", + "notificationType_new-register": "Когда в очереди на регистрацию появляется новый пользователь", + "notificationType_post-queue": "Когда в очереди на проверку появляется новое сообщение", + "notificationType_new-post-flag": "Когда поступает жалоба на сообщение", + "notificationType_new-user-flag": "Когда поступает жалоба на пользователя" } \ No newline at end of file From a688aaae516354f5f96576c47283de1f0e5fc476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 23 Nov 2019 08:52:18 -0500 Subject: [PATCH 28/76] fix: #8059, properly mark topic unread when using mark unread for all --- src/socket.io/topics/unread.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/socket.io/topics/unread.js b/src/socket.io/topics/unread.js index e997e1608d..0d8021a398 100644 --- a/src/socket.io/topics/unread.js +++ b/src/socket.io/topics/unread.js @@ -67,6 +67,7 @@ module.exports = function (SocketTopics) { await topics.markAsUnreadForAll(tid); await topics.updateRecent(tid, now); await db.sortedSetAdd('cid:' + topicData.cid + ':tids:lastposttime', now, tid); + await topics.setTopicField(tid, 'lastposttime', now); })); topics.pushUnreadCount(socket.uid); }; From 86cc80348d843f40f481e2e834be1055e2ac9c7c Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Sun, 24 Nov 2019 09:27:37 +0000 Subject: [PATCH 29/76] Latest translations and fallbacks --- public/language/ru/admin/advanced/errors.json | 4 +- .../language/ru/admin/development/logger.json | 12 +- public/language/ru/admin/extend/plugins.json | 12 +- public/language/ru/admin/menu.json | 10 +- .../language/ru/admin/settings/general.json | 38 +++--- .../ru/admin/settings/pagination.json | 2 +- .../language/ru/admin/settings/sockets.json | 4 +- .../language/ru/admin/settings/uploads.json | 64 ++++----- public/language/ru/admin/settings/user.json | 128 +++++++++--------- .../ru/admin/settings/web-crawler.json | 12 +- public/language/ru/global.json | 2 +- public/language/ru/recent.json | 8 +- public/language/ru/search.json | 16 +-- public/language/ru/user.json | 8 +- 14 files changed, 160 insertions(+), 160 deletions(-) diff --git a/public/language/ru/admin/advanced/errors.json b/public/language/ru/admin/advanced/errors.json index bc225a7ac4..f4d5688223 100644 --- a/public/language/ru/admin/advanced/errors.json +++ b/public/language/ru/admin/advanced/errors.json @@ -4,8 +4,8 @@ "error.404": "404 Не найдено", "error.503": "503 Сервис недоступен", "manage-error-log": "Управление журналом ошибок", - "export-error-log": "Экспорт журнала ошибок (CSV)", - "clear-error-log": "Очистить журнал ошибок", + "export-error-log": "Экспорт журнала (CSV)", + "clear-error-log": "Очистить журнал", "route": "Путь", "count": "Кол-во", "no-routes-not-found": "Ура! Ошибок 404 нет!", diff --git a/public/language/ru/admin/development/logger.json b/public/language/ru/admin/development/logger.json index 167cb234e9..420b27b720 100644 --- a/public/language/ru/admin/development/logger.json +++ b/public/language/ru/admin/development/logger.json @@ -1,12 +1,12 @@ { - "logger-settings": "Настройки логгера", + "logger-settings": "Настройки журналирования", "description": "Включите, чтобы выводить в консоль отчёт о событиях. Чтобы сохранять эти данные в файл, укажите путь к файлу. Журналирование запросов HTTP полезно для сбора данных о том, что именно и когда просматривают посетители вашего форума. Кроме того, возможна запись событий Socket.io, что, в сочетании с мониторингом redis-cli, крайне полезно для отслеживания состояния NodeBB.", "explanation": "Просто включите или выключите соответствующую опцию, чтобы настроить журналирование. Перезапуск NodeBB не потребуется.", - "enable-http": "Включить HTTP логирование", - "enable-socket": "Включить логирование событий socket.io", + "enable-http": "Отслеживать HTTP-запросы", + "enable-socket": "Отслеживать события Socket.io", "file-path": "Путь к файлу журнала", - "file-path-placeholder": "/path/to/log/file.log ::: оставить пустым чтобы смотреть логи в командной строке", + "file-path-placeholder": "/path/to/log/file.log ::: оставьте пустым для вывода сообщений в консоль", - "control-panel": "Контрольная панель логгера", - "update-settings": "Применить настройки логгера" + "control-panel": "Панель управления", + "update-settings": "Обновить настройки" } \ No newline at end of file diff --git a/public/language/ru/admin/extend/plugins.json b/public/language/ru/admin/extend/plugins.json index 54ef99f34c..a497727e3f 100644 --- a/public/language/ru/admin/extend/plugins.json +++ b/public/language/ru/admin/extend/plugins.json @@ -1,8 +1,8 @@ { - "installed": "Установленные", - "active": "Активные", - "inactive": "Неактивные", - "out-of-date": "Устаревшие", + "installed": "Установлены", + "active": "Включены", + "inactive": "Отключены", + "out-of-date": "Устарели", "none-found": "Плагины не найдены.", "none-active": "Нет активных плагинов", "find-plugins": "Найти плагины", @@ -19,8 +19,8 @@ "order.explanation": "Плагины загружаются в указанном порядке, сверху вниз.", "plugin-item.themes": "Темы", - "plugin-item.deactivate": "Деактивировать", - "plugin-item.activate": "Активировать", + "plugin-item.deactivate": "Отключить", + "plugin-item.activate": "Включить", "plugin-item.install": "Установить", "plugin-item.uninstall": "Удалить", "plugin-item.settings": "Настройки", diff --git a/public/language/ru/admin/menu.json b/public/language/ru/admin/menu.json index 0109848e9b..ca54a73408 100644 --- a/public/language/ru/admin/menu.json +++ b/public/language/ru/admin/menu.json @@ -40,7 +40,7 @@ "settings.page-title": "Настройки %1", - "section-appearance": "Вид", + "section-appearance": "Оформление", "appearance/themes": "Темы", "appearance/skins": "Стили", "appearance/customise": "Настройка контента (HTML/JS/CSS)", @@ -57,12 +57,12 @@ "section-advanced": "Расширенные", "advanced/database": "База данных", - "advanced/events": "События", + "advanced/events": "Журнал событий", "advanced/hooks": "Hooks", - "advanced/logs": "Логи", - "advanced/errors": "Ошибки", + "advanced/logs": "Системный журнал", + "advanced/errors": "Журнал ошибок", "advanced/cache": "Кэш", - "development/logger": "Журнал событий", + "development/logger": "Отладочный журнал", "development/info": "Инфо", "rebuild-and-restart-forum": "Пересобрать и перезапустить форум", diff --git a/public/language/ru/admin/settings/general.json b/public/language/ru/admin/settings/general.json index ffe62e8bac..1895e3ad88 100644 --- a/public/language/ru/admin/settings/general.json +++ b/public/language/ru/admin/settings/general.json @@ -3,33 +3,33 @@ "title": "Название сайта", "title.url": "URL", "title.url-placeholder": "URL для названия сайта", - "title.url-help": "Когда участник кликает по названию, то его перенаправляет по этому адресу.\nЕсли значение оставить пустым, то участник будет перенаправлен на главную страницу форума.", - "title.name": "Имя вашего сообщества", - "title.show-in-header": "Показывать название в заголовке", + "title.url-help": "Когда пользователь нажмёт на название сайта, он перейдёт по этой ссылке.\nОставьте поле пустым, чтобы отправлять пользователей на главную страницу форума.", + "title.name": "Название вашего сообщества", + "title.show-in-header": "Показывать название в шапке сайта", "browser-title": "Название для браузера", - "browser-title-help": "Если название для браузера не указано, то будет использовано основное название", - "title-layout": "Расположение названия", - "title-layout-help": "Определите как название для браузера будет расположено, напр.\n{основное название} | {название для браузера}", + "browser-title-help": "Если здесь ничего не указано, будет использовано название сайта", + "title-layout": "Макет заголовка", + "title-layout-help": "Укажите, как сформировать заголовок для браузера, напр.\n{название сайта} | {название для браузера}", "description.placeholder": "Краткое описание вашего сообщества", "description": "Описание сайта", - "keywords": "Ключевые слова сайта", - "keywords-placeholder": "Ключевые слова, описывающие ваше сообщество, через запятую.", - "logo": "Логотип", - "logo.image": "Изображение", - "logo.image-placeholder": "Путь к логотипу для заголовка форума", + "keywords": "Ключевые слова для сайта", + "keywords-placeholder": "Укажите через запятую ключевые слова, описывающие ваше сообщество", + "logo": "Логотип сайта", + "logo.image": "Логотип в шапке сайта", + "logo.image-placeholder": "Путь к файлу логотипа ", "logo.upload": "Загрузить", "logo.url": "URL", - "logo.url-placeholder": "URL для логотипа сайта", - "logo.url-help": "Когда участник кликает по логотипу, то его перенаправит на этот адрес.\nЕсли значение оставить пустым, то участника перенаправит на главную страницу форума.", - "logo.alt-text": "Alt Текст", - "log.alt-text-placeholder": "Текст, который увидит участник с отключенными картинками", + "logo.url-placeholder": "URL для логотипа", + "logo.url-help": "Когда пользователь нажмёт на логотип, он перейдёт по этой ссылке.\nОставьте поле пустым, чтобы отправлять пользователей на главную страницу форума.", + "logo.alt-text": "Замещающий текст", + "log.alt-text-placeholder": "Текст, который появится, если логотип не загрузится или загрузка изображений будет отключена", "favicon": "Favicon", "favicon.upload": "Загрузить", "touch-icon": "Иконка Homescreen/Touch", "touch-icon.upload": "Загрузить", - "touch-icon.help": "Рекомендуемый размер и формат: 192x192 PNG. Если оставить пусты, то NodeBB попробует использовать favicon.", - "outgoing-links": "Исходящие ссылки", - "outgoing-links.warning-page": "Использовать страницу предупреждения для исходящих ссылок", - "search-default-sort-by": "Сортировка по умолчанию для поиска", + "touch-icon.help": "Рекомендуемый формат и размер: PNG, 192x192. Если оставить пустым, то NodeBB попробует использовать favicon.", + "outgoing-links": "Внешние ссылки", + "outgoing-links.warning-page": "Предупреждать, когда пользователь переходит по внешним ссылкам", + "search-default-sort-by": "Сортировать результаты поиска по", "outgoing-links.whitelist": "Список доменов, для которых страница предупреждения отключена" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/pagination.json b/public/language/ru/admin/settings/pagination.json index 92f6d53c7a..5baec059e0 100644 --- a/public/language/ru/admin/settings/pagination.json +++ b/public/language/ru/admin/settings/pagination.json @@ -6,5 +6,5 @@ "max-posts-per-page": "Максимальное кол-во сообщений на странице", "categories": "Разбивка категорий на страницы", "topics-per-page": "Тем на странице", - "max-topics-per-page": "Максимально количество тем на странице" + "max-topics-per-page": "Максимальное количество тем на странице" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/sockets.json b/public/language/ru/admin/settings/sockets.json index 7e2563045f..43e0bd1bbb 100644 --- a/public/language/ru/admin/settings/sockets.json +++ b/public/language/ru/admin/settings/sockets.json @@ -1,6 +1,6 @@ { "reconnection": "Настройки переподключения", - "max-attempts": "Максимально попыток переподключения", + "max-attempts": "Макс. попыток", "default-placeholder": "По умолчанию: %1", - "delay": "Задержка переподключения" + "delay": "Задержка" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/uploads.json b/public/language/ru/admin/settings/uploads.json index 8d46ff133d..0bf4a8126c 100644 --- a/public/language/ru/admin/settings/uploads.json +++ b/public/language/ru/admin/settings/uploads.json @@ -1,39 +1,39 @@ { - "posts": "Записи", - "allow-files": "Разрешить участникам загружать обычные файлы", - "private": "Делать загруженные файлы приватными", - "strip-exif-data": "Strip EXIF Data", - "private-extensions": "Расширения файлов, которые следует делать приватными", - "private-uploads-extensions-help": "Введите через запятую список расширений файлов, например pdf,xls,doc. Чтобы все файлы были приватными — оставьте пустое значение.", - "resize-image-width-threshold": "Resize images if they are wider than specified width", - "resize-image-width-threshold-help": "(in pixels, default: 1520 pixels, set to 0 to disable)", - "resize-image-width": "Resize images down to specified width", - "resize-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", - "resize-image-quality": "Качество, которое следует использовать при изменении размера изображений", - "resize-image-quality-help": "Чем ниже качество, тем меньший размер файлов будут иметь изображения", - "max-file-size": "Максимальный размер файла (в кбайтах)", - "max-file-size-help": "(в килобайтах, по умолчанию: 2048 кбайт)", - "reject-image-width": "Максимальная ширина изображения (в пикселях)", - "reject-image-width-help": "Изображения шире указанного значения нельзя будет загрузить", - "reject-image-height": "Максимальная высота изображения (в пикселях)", - "reject-image-height-help": "Изображения с высотой больше указанного значения нельзя будет загрузить", - "allow-topic-thumbnails": "Разрешить участника загружать иконки тем", - "topic-thumb-size": "Размеры иконки темы", + "posts": "Сообщения", + "allow-files": "Разрешить пользователям загружать файлы", + "private": "Не показывать загрузки гостям", + "strip-exif-data": "Удалять метаданные EXIF", + "private-extensions": "Типы файлов, которые следует скрывать от гостей", + "private-uploads-extensions-help": "Укажите через запятую список расширений файлов, например pdf,xls,doc. Оставьте поле пустым, чтобы все загрузки были недоступны гостям.", + "resize-image-width-threshold": "Уменьшать изображения, когда ширина превышает", + "resize-image-width-threshold-help": "(в пикс., стандартная настройка: 1520, укажите 0, чтобы отключить)", + "resize-image-width": "Уменьшать изображения до", + "resize-image-width-help": "(в пикс., стандартная настройка: 760, укажите 0, чтобы отключить)", + "resize-image-quality": "Качество уменьшаемых изображений", + "resize-image-quality-help": "Чем ниже качество, тем меньше размер файла.", + "max-file-size": "Макс. размер файла (в КиБ)", + "max-file-size-help": "(в кибибайтах, по умолчанию: 2048 КиБ)", + "reject-image-width": "Макс. ширина изображения (в пикселях)", + "reject-image-width-help": "Загрузка изображений шире указанного значения будет отклонена.", + "reject-image-height": "Макс. высота изображения (в пикселях)", + "reject-image-height-help": "Загрузка изображений выше указанного значения будет отклонена.", + "allow-topic-thumbnails": "Разрешить пользователям загружать миниатюры для тем", + "topic-thumb-size": "Размер миниатюр", "allowed-file-extensions": "Допустимые расширения файлов", - "allowed-file-extensions-help": "Введите через запятую список расширений файлов, например pdf,xls,doc. Чтобы разрешить любые файлы — оставьте пустое значение.", - "profile-avatars": "Аватарки", - "allow-profile-image-uploads": "Разрешить участникам загружать аватарки", + "allowed-file-extensions-help": "Укажите через запятую список расширений файлов, например pdf,xls,doc. Оставьте поле пустым, чтобы разрешить любые загрузки.", + "profile-avatars": "Аватарки пользователей", + "allow-profile-image-uploads": "Разрешить пользователям загружать аватарки", "convert-profile-image-png": "Конвертировать загруженные изображения в PNG", - "default-avatar": "Аватарка по умолчанию", + "default-avatar": "Стандартная аватарка", "upload": "Загрузить", - "profile-image-dimension": "Разрешение аватарки", + "profile-image-dimension": "Размер аватарки", "profile-image-dimension-help": "(в пикселях, по умолчанию 128 пикселей)", - "max-profile-image-size": "Максимальный размер файла аватарки", - "max-profile-image-size-help": "(в килобайтах, по умолчанию 256 кбайт)", - "max-cover-image-size": "Максимальный размер файла обложки", - "max-cover-image-size-help": "(в килобайтах, по умолчанию 2048 кбайт)", - "keep-all-user-images": "Сохранять старые версии аватарок и обложек на сервере", + "max-profile-image-size": "Макс. размер файла аватарки", + "max-profile-image-size-help": "(в кибибайтах, по умолчанию 256 КиБ)", + "max-cover-image-size": "Макс. размер файла обложки", + "max-cover-image-size-help": "(в кибибайтах, по умолчанию: 2048 КиБ)", + "keep-all-user-images": "Сохранять на сервере прошлые версии аватарок и обложек", "profile-covers": "Обложки профиля", - "default-covers": "Обложки профиля по умолчанию", - "default-covers-help": "Добавить через запятую список обложек для учетных записей, которые сами не загрузили обложку" + "default-covers": "Стандартные обложки", + "default-covers-help": "Добавьте через запятую пути к изображениям, которые будут использованы, если пользователь не загрузил собственную обложку" } diff --git a/public/language/ru/admin/settings/user.json b/public/language/ru/admin/settings/user.json index 65fc85a2b6..6c4ca13439 100644 --- a/public/language/ru/admin/settings/user.json +++ b/public/language/ru/admin/settings/user.json @@ -1,79 +1,79 @@ { - "authentication": "Аутентификация", - "require-email-confirmation": "Запрашивать подтверждение по Email", - "email-confirm-interval": "Пользователь не может повторно отправить письмо с подтверждением до", - "email-confirm-email2": "минут прошло", - "allow-login-with": "Разрешить вход с", - "allow-login-with.username-email": "Имя пользователя или адрес электронной почты", - "allow-login-with.username": "Только имя пользователя", - "allow-login-with.email": "Только email", - "account-settings": "Настройки аккаунта", - "gdpr_enabled": "Enable GDPR consent collection", - "gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the General Data Protection Regulation (GDPR). Note: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.", - "disable-username-changes": "Отключить изменение имени пользователя", - "disable-email-changes": "Отключить изменение email пользователя", - "disable-password-changes": "Отключить изменение пароля", - "allow-account-deletion": "Разрешить удаление аккаунта", - "hide-fullname": "Спрятать полные имена от пользователей", - "hide-email": "Спрятать email от пользователей", - "themes": "Темы", - "disable-user-skins": "Не давать пользователям выбирать сторонние цветовые схемы", - "account-protection": "Защита аккаунта", - "admin-relogin-duration": "Таймер повторного логина администратора (минут)", - "admin-relogin-duration-help": "После установки промежутка времени доступ в консоль администратора потребует повторный логин, установка 0 отменяет это.", + "authentication": "Авторизация", + "require-email-confirmation": "Необходим подтверждённый адрес электронной почты", + "email-confirm-interval": "Пользователь не сможет снова запросить код подтверждения, пока не пройдёт", + "email-confirm-email2": "минут", + "allow-login-with": "Разрешить вход с помощью", + "allow-login-with.username-email": "Имени пользователя или адреса электронной почты", + "allow-login-with.username": "Только имени пользователя", + "allow-login-with.email": "Только адреса электронной почты", + "account-settings": "Настройки учётной записи", + "gdpr_enabled": "Запрашивать согласие на сбор и обработку персональных данных", + "gdpr_enabled_help": "Включите, чтобы при регистрации новых пользователей запрашивать согласие на сбор и обработку данных в соответствии с законом о General Data Protection Regulation (GDPR). Примечание: эта настойка не повлияет на уже зарегистрированных пользователей. Чтобы запросить их согласие, установите плагин GDPR.", + "disable-username-changes": "Запретить смену имени пользователя", + "disable-email-changes": "Запретить смену адреса электронной почты", + "disable-password-changes": "Запретить смену пароля", + "allow-account-deletion": "Разрешить удалять учётную запись", + "hide-fullname": "Скрывать полное имя от других пользователей", + "hide-email": "Скрывать e-mail от других пользователей", + "themes": "Оформление", + "disable-user-skins": "Запретить пользователям выбирать стиль темы", + "account-protection": "Защита учётных записей", + "admin-relogin-duration": "Период неактивности (в минутах) до повторного входа в панель администратора", + "admin-relogin-duration-help": "Укажите продолжительность периода неактивности, после которого потребуется снова ввести логин и пароль администратора. Введите 0, чтобы отключить эту опцию", "login-attempts": "Попыток входа в час", "login-attempts-help": "Если это значение будет превышено, учётная запись пользователя будет заблокирована на указанный промежуток времени", - "lockout-duration": "Длительность блокировки аккаунта (минут)", - "login-days": "Дней помнить сессию залогиненного пользователя", - "password-expiry-days": "Заставить сбросить пароль через дней", - "session-time": "Session Time", - "session-time-days": "Days", - "session-time-seconds": "Seconds", + "lockout-duration": "Длительность блокировки (в минутах)", + "login-days": "На сколько дней сохранять сессию авторизованного пользователя", + "password-expiry-days": "Принудительно сбрасывать пароли через указанное кол-во дней", + "session-time": "Продолжительность сессии", + "session-time-days": "Дни", + "session-time-seconds": "Секунды", "session-time-help": "These values are used to govern how long a user stays logged in when they check "Remember Me" on login. Note that only one of these values will be used. If there is no seconds value we fall back to days. If there is no days value we default to 14 days.", - "online-cutoff": "Minutes after user is considered inactive", + "online-cutoff": "Через сколько минут пользователь будет считаться неактивным", "online-cutoff-help": "If user performs no actions for this duration, they are considered inactive and they do not receive realtime updates.", - "registration": "Регистрация пользователя", - "registration-type": "Тип Регистрации", - "registration-approval-type": "Registration Approval Type", + "registration": "Регистрация пользователей", + "registration-type": "Тип регистрации", + "registration-approval-type": "Тип подтверждения регистрации", "registration-type.normal": "Обычный", - "registration-type.admin-approval": "Подтверждение администратора", - "registration-type.admin-approval-ip": "Подтверждение администратора для IP-адресов", - "registration-type.invite-only": "Только приглашение", - "registration-type.admin-invite-only": "Только приглашение от администратора", - "registration-type.disabled": "Нет регистрации", - "registration-type.help": "Normal - Users can register from the /register page.
\nInvite Only - Users can invite others from the users page.
\nAdmin Invite Only - Only administrators can invite others from users and admin/manage/users pages.
\nNo registration - No user registration.
", - "registration-approval-type.help": "Normal - Users are registered immediately.
\nAdmin Approval - User registrations are placed in an approval queue for administrators.
\nAdmin Approval for IPs - Normal for new users, Admin Approval for IP addresses that already have an account.
", - "registration.max-invites": "Максимум приглашений для пользователя", - "max-invites": "Максимум приглашений для пользователя", - "max-invites-help": "0 - без ограничений. Администраторы могут приглашать бесконечно
Применимо только для \"Только по приглашениям\"", + "registration-type.admin-approval": "Подтверждается администратором", + "registration-type.admin-approval-ip": "Подтверждается администратором для известных IP-адресов", + "registration-type.invite-only": "Только по приглашениям", + "registration-type.admin-invite-only": "Только по приглашению администратора", + "registration-type.disabled": "Регистрация отключена", + "registration-type.help": "Обычный – пользователи могут регистрироваться без ограничений.
\nТолько по приглашениям – существующие пользователи могут приглашать других участников
\nТолько по приглашению администратора – только администратор может приглашать пользователей на странице Пользователи или в панели администратора.
\nРегистрация отключена – пользователи не могут регистрироваться.
", + "registration-approval-type.help": "Обычный – регистрация подтверждается автоматически.
\nПодтверждается администратором – заявки на регистрацию помещаются в очередь на одобрение.
\nПодтверждается администратором для известных IP-адресов – новые пользователи регистрируются как обычно, но если заявка поступает с такого же IP, как у существующего пользователя, требуется подтверждение администратора.
", + "registration.max-invites": "Макс. приглашений у пользователя", + "max-invites": "Макс. приглашений у пользователя", + "max-invites-help": "0 – без ограничений. Администраторы в любом случае могут приглашать бесконечно
Эта настройка действует только в режиме регистрации только по приглашениям.", "invite-expiration": "Срок действия приглашения", - "invite-expiration-help": "# дней срока действия приглашения.", + "invite-expiration-help": "Указывается в днях.", "min-username-length": "Минимальная длина имени пользователя", "max-username-length": "Максимальная длина имени пользователя", "min-password-length": "Минимальная длина пароля", "min-password-strength": "Минимальная сложность пароля", - "max-about-me-length": "Максимальная длина \"Обо мне\"", - "terms-of-use": "Условия Пользования форума (оставить пустым для отмены)", + "max-about-me-length": "Максимальная длина поля «Обо мне»", + "terms-of-use": "Правила использования форума (оставьте пустым, чтобы отключить)", "user-search": "Поиск пользователей", "user-search-results-per-page": "Количество отображаемых результатов", - "default-user-settings": "Настройки пользователя по умолчанию", - "show-email": "Показать email", - "show-fullname": "Показать полное имя", - "restrict-chat": "Чат только с теми на кого подписался", - "outgoing-new-tab": "Открывать внешние ссылки в новом окне", - "topic-search": "Включить поиск в топике", + "default-user-settings": "Стандартные настройки профиля пользователя", + "show-email": "Показывать адрес электронной почты", + "show-fullname": "Показывать полное имя", + "restrict-chat": "Разрешить чат только с теми, на кого подписаны", + "outgoing-new-tab": "Открывать внешние ссылки в новой вкладке", + "topic-search": "Включить поиск по сообщениям внутри тем", "digest-freq": "Подписка на дайджест", - "digest-freq.off": "Выкл", - "digest-freq.daily": "Ежедневно", - "digest-freq.weekly": "Еженедельно", - "digest-freq.monthly": "Ежемесячно", - "email-chat-notifs": "Отправлять уведомления по электронной почте при поступлении нового сообщения чата", - "email-post-notif": "Отправлять уведомления по электронной почте при появлении новых ответов в подписанных темах", - "follow-created-topics": "Следить за темами которые вы создаёте", - "follow-replied-topics": "Следить за темами в которых вы отвечаете", - "default-notification-settings": "Настройки уведомлений по умолчанию", - "categoryWatchState": "Default category watch state", - "categoryWatchState.watching": "Watching", - "categoryWatchState.notwatching": "Not Watching", - "categoryWatchState.ignoring": "Ignoring" + "digest-freq.off": "Отключена", + "digest-freq.daily": "Ежедневная", + "digest-freq.weekly": "Еженедельная", + "digest-freq.monthly": "Ежемесячная", + "email-chat-notifs": "Уведомить по электронной почте, если пришло новое сообщение в чат, а я не в сети", + "email-post-notif": "Уведомить по электронной почте, если в отслеживаемой теме появилось новое сообщение", + "follow-created-topics": "Включать отслеживание всех тем, которые вы создаёте", + "follow-replied-topics": "Включать отслеживание во всех темах, в которых вы отвечаете", + "default-notification-settings": "Стандартные настройки уведомлений", + "categoryWatchState": "Стандартные настройки отслеживания категорий", + "categoryWatchState.watching": "Отслеживается", + "categoryWatchState.notwatching": "Не отслеживается", + "categoryWatchState.ignoring": "Игнорируется" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/web-crawler.json b/public/language/ru/admin/settings/web-crawler.json index a9b8769ff1..2edbd1da0f 100644 --- a/public/language/ru/admin/settings/web-crawler.json +++ b/public/language/ru/admin/settings/web-crawler.json @@ -1,10 +1,10 @@ { - "crawlability-settings": "Настройки сканирования", - "robots-txt": "Свой Robots.txt Оставьте пустым для значений по умолчанию", - "sitemap-feed-settings": "Карта сайта & настройки ленты активности", - "disable-rss-feeds": "Отключить RSS ленты активности", + "crawlability-settings": "Настройка индексирования", + "robots-txt": "Пользовательский robots.txt Оставьте поле пустым, чтобы использовать стандартный", + "sitemap-feed-settings": "Карта сайта и RSS", + "disable-rss-feeds": "Отключить RSS", "disable-sitemap-xml": "Отключить Sitemap.xml", - "sitemap-topics": "Количество тем для отображения в файле Sitemap", - "clear-sitemap-cache": "Очистить кеш sitemap", + "sitemap-topics": "Сколько тем указывать в карте сайта", + "clear-sitemap-cache": "Очистить кеш карты сайта", "view-sitemap": "Посмотреть карту сайта" } \ No newline at end of file diff --git a/public/language/ru/global.json b/public/language/ru/global.json index 21dadd6b70..947f0a3dd5 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -51,7 +51,7 @@ "users": "Пользователи", "topics": "Темы", "posts": "Сообщения", - "best": "Лучшие", + "best": "Лучшие сообщения", "votes": "Голоса", "upvoters": "Кому понравилось", "upvoted": "Понравилось", diff --git a/public/language/ru/recent.json b/public/language/ru/recent.json index 9d5c25bc34..b852766c31 100644 --- a/public/language/ru/recent.json +++ b/public/language/ru/recent.json @@ -1,9 +1,9 @@ { "title": "Последние", - "day": "День", - "week": "Неделя", - "month": "Месяц", - "year": "Год", + "day": "За день", + "week": "За неделю", + "month": "За месяц", + "year": "За год", "alltime": "За всё время", "no_recent_topics": "Нет свежих тем.", "no_popular_topics": "Популярные темы отсутствуют.", diff --git a/public/language/ru/search.json b/public/language/ru/search.json index 43ac70987b..f62de44395 100644 --- a/public/language/ru/search.json +++ b/public/language/ru/search.json @@ -2,21 +2,21 @@ "results_matching": "Найдено %1 результатов по запросу: \"%2\". Время поиска: %3 с.", "no-matches": "Совпадений не найдено", "advanced-search": "Расширенный поиск", - "in": "В", - "titles": "Названиях", - "titles-posts": "Названиях и сообщениях", + "in": "Где искать", + "titles": "Заголовки", + "titles-posts": "Заголовки и сообщения", "match-words": "Совпадающие слова", "all": "Все", "any": "Любые", - "posted-by": "По авторам сообщений", + "posted-by": "Автор", "in-categories": "В категориях", "search-child-categories": "Искать во вложенных категориях", - "has-tags": "С метками", - "reply-count": "С количеством ответов", - "at-least": "Минимум", + "has-tags": "Метки", + "reply-count": "Кол-во ответов", + "at-least": "Как минимум", "at-most": "Максимум", "relevance": "Релевантности", - "post-time": "Времени публикации", + "post-time": "Дата публикации", "votes": "Кол-ву голосов", "newer-than": "Не позже чем", "older-than": "Не раньше чем", diff --git a/public/language/ru/user.json b/public/language/ru/user.json index eed2648a88..98c4cfba66 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -19,7 +19,7 @@ "website": "Сайт", "location": "Местонахождение", "age": "Возраст", - "joined": "Зарегистрирован", + "joined": "Регистрация", "lastonline": "Последнее посещение", "profile": "Профиль", "profile_views": "Просмотры профиля", @@ -30,8 +30,8 @@ "watched": "Отслеживаемые темы", "ignored": "Игнорируемые темы", "default-category-watch-state": "Стандартная настройка отслеживания категорий", - "followers": "Подписчиков", - "following": "Подписок", + "followers": "Подписчики", + "following": "Подписки", "blocks": "Блокировки", "block_toggle": "Блок./Разблок", "block_user": "Блокировать", @@ -172,5 +172,5 @@ "consent.right_to_data_portability_description": "Вы можете запросить у нас машиночитаемый экспорт любых собранных данных о вас и вашей учетной записи. Вы можете сделать это, нажав соответствующую кнопку ниже.", "consent.export_profile": "Экспорт профиля (.csv)", "consent.export_uploads": "Экспорт загруженного контента (.zip)", - "consent.export_posts": "Экспорт постов (.csv)" + "consent.export_posts": "Экспорт сообщений (.csv)" } \ No newline at end of file From de404102c07a0d8b4c3dd5534855cefee4813862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 24 Nov 2019 09:41:03 -0500 Subject: [PATCH 30/76] fix: #8061, don't crash if there is a network problem --- src/plugins/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/index.js b/src/plugins/index.js index 387933290f..1a04d7064a 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -170,10 +170,13 @@ function request(url, callback) { require('request')(url, { json: true, }, function (err, res, body) { - if (res.statusCode === 404 || !body) { - return callback(err, {}); + if (err) { + return callback(err); } - callback(err, body); + if (res.statusCode === 404 || !body) { + return callback(null, {}); + } + callback(null, body); }); } const requestAsync = util.promisify(request); From c8db839e6325b9bdb4a3d87d1757732af1339bdc Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Mon, 25 Nov 2019 09:28:19 +0000 Subject: [PATCH 31/76] Latest translations and fallbacks --- public/language/ru/admin/development/info.json | 10 +++++----- public/language/ru/admin/menu.json | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/public/language/ru/admin/development/info.json b/public/language/ru/admin/development/info.json index b0a0962b8b..a0250a743a 100644 --- a/public/language/ru/admin/development/info.json +++ b/public/language/ru/admin/development/info.json @@ -1,5 +1,5 @@ { - "you-are-on": "Инфо - Вы находитесь на %1:%2", + "you-are-on": "Вы находитесь на %1:%2", "nodes-responded": "Узлов: %1. Время ответа %2мс!", "host": "хост", "pid": "pid", @@ -8,12 +8,12 @@ "git": "git", "memory": "память", "load": "системная загрузка", - "cpu-usage": "Использование процессора", - "uptime": "время работы", + "cpu-usage": "загрузка процессора", + "uptime": "продолжительность работы", - "registered": "Зарегистрированных", + "registered": "Авторизованных", "sockets": "Сокеты", "guests": "Гостей", - "info": "Инфо" + "info": "Сырые данные" } \ No newline at end of file diff --git a/public/language/ru/admin/menu.json b/public/language/ru/admin/menu.json index ca54a73408..01c27a2aa0 100644 --- a/public/language/ru/admin/menu.json +++ b/public/language/ru/admin/menu.json @@ -9,7 +9,7 @@ "section-manage": "Управление", "manage/categories": "Категории", - "manage/privileges": "Привилегии", + "manage/privileges": "Права доступа", "manage/tags": "Метки", "manage/users": "Пользователи", "manage/admins-mods": "Администраторы и модераторы", @@ -36,7 +36,7 @@ "settings/cookies": "Куки", "settings/web-crawler": "Индексация", "settings/sockets": "Сокеты", - "settings/advanced": "Продвинутые", + "settings/advanced": "Расширенные", "settings.page-title": "Настройки %1", @@ -66,15 +66,15 @@ "development/info": "Инфо", "rebuild-and-restart-forum": "Пересобрать и перезапустить форум", - "restart-forum": "Перезапустить Форум", + "restart-forum": "Перезапустить форум", "logout": "Выйти", "view-forum": "Перейти на форум", - "search.placeholder": "Поиск настроек", + "search.placeholder": "Поиск в настройках", "search.no-results": "Нет результата...", - "search.search-forum": "Поиск по форуму ", - "search.keep-typing": "Введите больше данных чтобы увидеть результаты...", - "search.start-typing": "Начните ввод данных чтобы увидеть результаты...", + "search.search-forum": "Искать на форуме", + "search.keep-typing": "Наберите ещё что-нибудь, чтобы увидеть результат...", + "search.start-typing": "Наберите что-нибудь, чтобы увидеть результат...", "connection-lost": "Соединение с %1 потеряно, пытаюсь переподключиться...", From 7ed002a13844daf5e37bafd7432b6640bb8642f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 25 Nov 2019 13:25:29 -0500 Subject: [PATCH 32/76] fix: #6711 --- public/language/en-GB/error.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index e2fab65924..521ea9a7e7 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -31,9 +31,9 @@ "username-taken": "Username taken", "email-taken": "Email taken", - "email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", From 1bda92e3fcbf58aaa483c42630220bb378da9af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 25 Nov 2019 14:22:35 -0500 Subject: [PATCH 33/76] fix: #8064, break-word on post-queue --- public/less/admin/admin.less | 2 +- public/less/admin/manage/post-queue.less | 8 -------- public/less/post-queue.less | 19 +++++++++++++++++++ src/meta/css.js | 1 + src/views/admin/manage/post-queue.tpl | 2 +- 5 files changed, 22 insertions(+), 10 deletions(-) delete mode 100644 public/less/admin/manage/post-queue.less create mode 100644 public/less/post-queue.less diff --git a/public/less/admin/admin.less b/public/less/admin/admin.less index dc657a37ec..be905caf81 100644 --- a/public/less/admin/admin.less +++ b/public/less/admin/admin.less @@ -16,7 +16,7 @@ @import "./manage/registration"; @import "./manage/users"; @import "./manage/admins-mods"; -@import "./manage/post-queue"; +@import "../post-queue"; @import "./appearance/customise"; @import "./appearance/themes"; @import "./extend/plugins"; diff --git a/public/less/admin/manage/post-queue.less b/public/less/admin/manage/post-queue.less deleted file mode 100644 index b4139e02ef..0000000000 --- a/public/less/admin/manage/post-queue.less +++ /dev/null @@ -1,8 +0,0 @@ -.posts-list { - .post-content-editable { - textarea { - width: 100%; - height: 300px; - } - } -} diff --git a/public/less/post-queue.less b/public/less/post-queue.less new file mode 100644 index 0000000000..c59f6452a0 --- /dev/null +++ b/public/less/post-queue.less @@ -0,0 +1,19 @@ +/* + Post queue page CSS + - Originally in ACP + - Now available in front-end for global mods as well +*/ +.posts-list { + .topic-title { + word-break: break-word; + } + .post-content { + word-break: break-word; + } + .post-content-editable { + textarea { + width: 100%; + height: 300px; + } + } +} diff --git a/src/meta/css.js b/src/meta/css.js index c0c9cc71f0..b8cb9a1a8f 100644 --- a/src/meta/css.js +++ b/src/meta/css.js @@ -29,6 +29,7 @@ var buildImports = { '@import (inline) "../public/vendor/colorpicker/colorpicker.css";', '@import (inline) "../node_modules/cropperjs/dist/cropper.css";', '@import "../../public/less/flags.less";', + '@import "../../public/less/post-queue.less";', '@import "../../public/less/admin/manage/ip-blacklist.less";', '@import "../../public/less/generics.less";', '@import "../../public/less/mixins.less";', diff --git a/src/views/admin/manage/post-queue.tpl b/src/views/admin/manage/post-queue.tpl index 0f605613ab..52e02fb9ee 100644 --- a/src/views/admin/manage/post-queue.tpl +++ b/src/views/admin/manage/post-queue.tpl @@ -36,7 +36,7 @@ {posts.category.name} - + [[admin/manage/post-queue:reply-to, {posts.topic.title}]] From 802f566b1740e1182db5c27073acb0912d1f517c Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Tue, 26 Nov 2019 09:28:09 +0000 Subject: [PATCH 34/76] Latest translations and fallbacks --- public/language/ar/error.json | 4 ++-- public/language/bg/error.json | 4 ++-- public/language/bn/error.json | 4 ++-- public/language/cs/error.json | 4 ++-- public/language/da/error.json | 4 ++-- public/language/de/error.json | 4 ++-- public/language/el/error.json | 4 ++-- public/language/en-US/error.json | 4 ++-- public/language/en-x-pirate/error.json | 4 ++-- public/language/es/error.json | 4 ++-- public/language/et/error.json | 4 ++-- public/language/fa-IR/error.json | 4 ++-- public/language/fi/error.json | 4 ++-- public/language/fr/error.json | 4 ++-- public/language/gl/error.json | 4 ++-- public/language/he/error.json | 4 ++-- public/language/hr/error.json | 4 ++-- public/language/hu/error.json | 4 ++-- public/language/id/error.json | 4 ++-- public/language/it/error.json | 4 ++-- public/language/ja/error.json | 4 ++-- public/language/ko/error.json | 4 ++-- public/language/lt/error.json | 4 ++-- public/language/lv/error.json | 4 ++-- public/language/ms/error.json | 4 ++-- public/language/nb/error.json | 4 ++-- public/language/nl/error.json | 4 ++-- public/language/pl/error.json | 4 ++-- public/language/pt-BR/error.json | 4 ++-- public/language/pt-PT/error.json | 4 ++-- public/language/ro/error.json | 4 ++-- public/language/ru/error.json | 4 ++-- public/language/rw/error.json | 4 ++-- public/language/sc/error.json | 4 ++-- public/language/sk/error.json | 4 ++-- public/language/sl/error.json | 4 ++-- public/language/sr/error.json | 4 ++-- public/language/sv/error.json | 4 ++-- public/language/th/error.json | 4 ++-- public/language/tr/error.json | 4 ++-- public/language/uk/error.json | 4 ++-- public/language/vi/error.json | 4 ++-- public/language/zh-CN/admin/manage/digest.json | 4 ++-- public/language/zh-CN/error.json | 4 ++-- public/language/zh-TW/error.json | 4 ++-- 45 files changed, 90 insertions(+), 90 deletions(-) diff --git a/public/language/ar/error.json b/public/language/ar/error.json index dd185c7bbc..dd7039ff83 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .", "username-taken": "اسم المستخدم مأخوذ", "email-taken": "البريد الالكتروني مأخوذ", - "email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.", - "email-not-confirmed-email-sent": "بريدك الإلكتروني غير مفعل. رجاءًا تفحص صندوق البريد عن رسالة التفعيل.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.", "email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.", "confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال", diff --git a/public/language/bg/error.json b/public/language/bg/error.json index 92c5491399..de34fa147c 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2", "username-taken": "Потребителското име е заето", "email-taken": "Е-пощата е заета", - "email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", + "email-not-confirmed": "Няма да можете да публикувате съобщения, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", "email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", - "email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение.", + "email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение. Няма да можете да публикувате съобщения или да пишете в разговори, докато е-пощата Ви не бъде потвърдена.", "no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща", "email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.", "confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.", diff --git a/public/language/bn/error.json b/public/language/bn/error.json index 0879ca4459..4a413698f4 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "ইউজারনেম আগেই ব্যবহৃত", "email-taken": "ইমেইল আগেই ব্যবহৃত", - "email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/cs/error.json b/public/language/cs/error.json index 875215107b..c7e06de54d 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Neplatná hodnota stránkování, musí být alespoň %1 a nejvýše %2", "username-taken": "Uživatelské jméno je již použito", "email-taken": "Tento e-mail je již použit", - "email-not-confirmed": "Vaše e-mailová adresa zatím nebyla potvrzena. Klepněte zde pro její potvrzení.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Nebude schopen konverzovat, dokud nebude váš e-mail potvrzen. Pro jeho potvrzení klikněte zde.", - "email-not-confirmed-email-sent": "Vaše e-mailová schránka nebyla ještě potvrzena. Ověřte prosím vaši příchozí poštu.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Toto fórum vyžaduje ověření e-mailové adresy. Pro zadání e-mailu, klikněte zde.", "email-confirm-failed": "Nemohli jsme ověřit vaši e-mailovou adresu, zkuste to později.", "confirm-email-already-sent": "Potvrzovací e-mail byl již odeslán. Vyčkejte %1 minut/y, chcete-li odeslat další.", diff --git a/public/language/da/error.json b/public/language/da/error.json index 2947e68da3..a980c31c52 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Ugyldig side værdi, skal mindst være %1 og maks. %2", "username-taken": "Brugernavn optaget", "email-taken": "Emailadresse allerede i brug", - "email-not-confirmed": "Din email adresse er ikke blevet bekræftet endnu, klik venligst her for at bekræfte den.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Du kan ikke chatte før din email er bekræftet, klik her for at bekræfte din email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Dette forum kræver bekræftelse af din email, klik her for at indtaste en email", "email-confirm-failed": "Vi kunne ikke bekræfte din email, prøv igen senere.", "confirm-email-already-sent": "Bekræftelses email er allerede afsendt, vent venligt %1 minut(ter) for at sende endnu en.", diff --git a/public/language/de/error.json b/public/language/de/error.json index 768739ddf8..2f5f4f6440 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Ungültige Seitennummerierung, muss mindestens %1 und maximal %2 sein", "username-taken": "Der Benutzername ist bereits vergeben", "email-taken": "Die E-Mail-Adresse ist bereits vergeben", - "email-not-confirmed": "Deine E-Mail wurde noch nicht bestätigt, bitte klicke hier, um deine E-Mail zu bestätigen.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Du kannst den Chat erst nutzen wenn deine E-Mail bestätigt wurde, bitte klicke hier, um deine E-Mail zu bestätigen.", - "email-not-confirmed-email-sent": "Deine E-Mail wurde noch nicht bestätigt, bitte schaue in deinem Posteingang nach der Bestätigungsmail.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Dieses Forum setzt eine E-Mail-Bestätigung voraus, bitte klicke hier um eine E-Mail-Adresse einzugeben.", "email-confirm-failed": "Wir konnten deine E-Mail-Adresse nicht bestätigen, bitte versuch es später noch einmal", "confirm-email-already-sent": "Die Bestätigungsmail wurde verschickt. Bitte warte %1 Minute(n), um eine weitere zu verschicken.", diff --git a/public/language/el/error.json b/public/language/el/error.json index 355bc3abca..76c05e0021 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Το όνομα χρήστη είναι πιασμένο", "email-taken": "Το email είναι πιασμένο", - "email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index 8140d65b4d..b84fe2a1c5 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Username taken", "email-taken": "Email taken", - "email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/en-x-pirate/error.json b/public/language/en-x-pirate/error.json index 8140d65b4d..b84fe2a1c5 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Username taken", "email-taken": "Email taken", - "email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/es/error.json b/public/language/es/error.json index 18bb1969cd..1d28a1bc8d 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Número de página inválido, debe estar entre %1 y %2", "username-taken": "Nombre de usuario ocupado", "email-taken": "Correo electrónico ocupado", - "email-not-confirmed": "Su cuenta de correo electrónico no ha sido confirmada aún, por favor haga click aquí para confirmarla.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "No puedes usar el chat hasta que confirmes tu dirección de correo electrónico, por favor haz click aquí para confirmar tu correo.", - "email-not-confirmed-email-sent": "Tu correo electrónico está sin confirmar, por favor busca el correo de confirmación en tu bandeja de entrada.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Este foro requiere confirmación de su email, por favor pulse aquí para introducir un email", "email-confirm-failed": "No se ha podido confirmar su email, por favor inténtelo de nuevo más tarde.", "confirm-email-already-sent": "El email de confirmación ya ha sido enviado, por favor espera %1 minuto(s) para enviar otro.", diff --git a/public/language/et/error.json b/public/language/et/error.json index f914f27564..ba7fee9db5 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Väär lehekülje numeratsioon, peab olema vähemalt %1 ja kõige rohkem %2", "username-taken": "Kasutajanimi on juba võetud", "email-taken": "Email on võetud", - "email-not-confirmed": "Su emaili aadress ei ole kinnitatud, vajuta siia et kinnitada.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Sõnumeid ei ole võimalik enne saata kui sinu email on kinnitatud. Kinnitamiseks vajuta siia.", - "email-not-confirmed-email-sent": "Su email ei ole veel kinnitatud, palun kontrolli oma e-posti ning kinnita email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "See foorum nõuab emaili kinnitust, palun vajuta siia, et sisestada email", "email-confirm-failed": "Meil ei õnnestunud sinu emaili kinnitada, proovi hiljem uuesti.", "confirm-email-already-sent": "Kinnituskiri on juba saadetud, palun oota %1 minut(it) uue kirja saatmiseks.", diff --git a/public/language/fa-IR/error.json b/public/language/fa-IR/error.json index bd6a6648cd..ff79d2f53f 100644 --- a/public/language/fa-IR/error.json +++ b/public/language/fa-IR/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "ارزش گذاری صفحه نامعتبر است، کمترین مقدار %1 و بیشترین مقدار %2 باید باشد", "username-taken": "این نام کاربری گرفته شده است.", "email-taken": "این ایمیل گرفته شده است.", - "email-not-confirmed": "ایمیل شما تاکنون تایید نشده است، برای تایید ایمیل خود را اینجا را کلیک کنید.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "شما تا قبل از تایید ایمیل قادر به چت نیستید، لطفا برای تایید ایمیل خود اینجا کلیک کنید", - "email-not-confirmed-email-sent": "ایمیل شما هنوز تایید نشده است، لطفا صندوق پیام های خود را برای تایید ایمیل بررسی کنید.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "ایمیل شما تایید نشده است ، لطفا برای وارد کردن ایمیل اینجا کلیک کنید", "email-confirm-failed": "سیستم موفق به تایید ایمیل شما نشد، لطفا بعدا دوباره سعی کنید", "confirm-email-already-sent": "ایمیل فعال‌سازی قبلا فرستاده شده، لطفا %1 دقیقه صبر کنید تا ایمیل دیگری فرستاده شود.", diff --git a/public/language/fi/error.json b/public/language/fi/error.json index f924371193..a4040d2b34 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Käyttäjänimi varattu", "email-taken": "Sähköpostiosoite varattu", - "email-not-confirmed": "Sähköpostiasi ei ole vielä vahvistettu, ole hyvä ja napsauta tätä vahvistaaksesi sen.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Et voi keskustella ennen kuin sähköpostiosoitteesi on vahvistettu, ole hyvä ja paina tästä vahvistaaksesi sen.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 1ecc0d8331..094c0714a5 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Valeur de pagination invalide. Celle-ci doit être comprise entre %1 et %2.", "username-taken": "Nom d’utilisateur déjà utilisé", "email-taken": "Email déjà utilisé", - "email-not-confirmed": "Votre adresse email n'est pas confirmée, cliquez ici pour la valider.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Il ne vous est pas possible d'utiliser le chat tant que votre adresse email n'a pas été vérifiée. Veuillez cliquer ici pour confirmer votre adresse email.", - "email-not-confirmed-email-sent": "Votre adresse email n'a pas encore été confirmée. Merci de vérifier l'email de confirmation dans votre boîte de réception.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Ce forum requiert une vérification de votre adresse email. Veuillez cliquer ici pour entrer une adresse.", "email-confirm-failed": "Votre adresse email n'a pas pu être vérifiée. Veuillez ré-essayer plus tard.", "confirm-email-already-sent": "L'email de confirmation a déjà été envoyé. Veuillez attendre %1 minute(s) avant de redemander un nouvel envoi.", diff --git a/public/language/gl/error.json b/public/language/gl/error.json index 96032c4b98..6aa6a01afe 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Valor de paxinación incorreto, ten que estar entre %1 e %2", "username-taken": "Nome de usuario en uso", "email-taken": "Enderezo electrónico en uso", - "email-not-confirmed": "O teu correo aínda non está confirmado, por favor pica aquí para confirmalo.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Non podes charlar ata que confirmes o teu correo, por favor pica aquí para confirmalo.", - "email-not-confirmed-email-sent": "O teu enderezo electrónico está sen confirmar. Por favor, busca o correo de confirmación na túa bandexa de entrada.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "O foro require confirmación de enderezo electrónico, por favor pica aquí para engadir un.", "email-confirm-failed": "Non podemos confirmar o teu enderezo, por favor téntao de novo máis tarde.", "confirm-email-already-sent": "O correo de confirmación foi enviado, agarda %1 minute(s) para enviar outro.", diff --git a/public/language/he/error.json b/public/language/he/error.json index cb7acafb9f..cfcf5cb738 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "ערך דף לא חוקי, חייב להיות לפחות %1 ולא מעל %2", "username-taken": "שם משתמש תפוס", "email-taken": "כתובת אימייל תפוסה", - "email-not-confirmed": "כתובת המייל שלך עוד לא אושרה, לחץ כאן על-מנת לאשר את המייל שלך.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "אין באפשרותך לשוחח עד שהדוא\"ל שלך יאושר, אנא לחץ כאן כדי לאשר את הדוא\"ל שלך.", - "email-not-confirmed-email-sent": "האימייל עדין לא אושר. אנא בדוק בתיבת הדואר בנוגע לאישור האימייל שנשלח לך על ידנו.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "פורום זה דורש אישור בדוא\"ל, אנא לחץ כאן כדי להכניס לדואר אלקטרוני", "email-confirm-failed": "לא הצלחנו לאשר את הדוא\"ל שלך, תנסה שוב אחר כך", "confirm-email-already-sent": "מייל האישור כבר נשלח, אנא המתן %1 דקות כדי לשלוח מייל נוסף.", diff --git a/public/language/hr/error.json b/public/language/hr/error.json index 6356bcae52..e32b337e91 100644 --- a/public/language/hr/error.json +++ b/public/language/hr/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Netočno numeriranje stranica, mora biti %1 ili %2", "username-taken": "Korisničko ime je zauzeto", "email-taken": "Email je zauzet", - "email-not-confirmed": "Vaš email još nije potvrđen, kliknite ovdje da bi potvrdili svoj email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Nemožete razgovarati dok Vaš email nije potvrđen, kliknite ovdje da bi potvrdili svoj email.", - "email-not-confirmed-email-sent": "Vaš email još nije potvrđen, provjerite svoj sandučić za potvrdni email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Ovaj forum zahtijeva potvrdu emaila, kliknite ovdje da bi potvrdili svoj email.", "email-confirm-failed": "Nismo u mogućnosti potvrditi Vaš email, pokušajte ponovno kasnije.", "confirm-email-already-sent": "Potvrdni email je poslan, počekajte %1 minuta za ponovni pokušaj.", diff --git a/public/language/hu/error.json b/public/language/hu/error.json index f973262f3f..a5586791f3 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Foglalt felhasználónév", "email-taken": "Foglalt e-mail", - "email-not-confirmed": "Az e-mail címed még nem lett ellenőrizve, kérlek kattints ide az e-mail címed ellenőrzéséhez!", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Ez a fórum e-mail megerősítést kíván, kérlek kattints ide egy cím beírásához", "email-confirm-failed": "Nem tudtuk ellenőrizni az e-mail címedet, kérlek próbálkozz később.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/id/error.json b/public/language/id/error.json index b22de8f8ea..7f3ebee99a 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Nomor pagination tidak valid, minimal %1 dan maksimal %2", "username-taken": "Username sudah terdaftar", "email-taken": "Email sudah terdaftar", - "email-not-confirmed": "Email kamu belum dikonfirmasi, klik disini untuk mengkonfirmasi email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/it/error.json b/public/language/it/error.json index c25377f516..e42e2f7c56 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Valore di impaginazione non valido, deve essere almeno %1 ed al massimo %2", "username-taken": "Nome utente già esistente", "email-taken": "Email già esistente", - "email-not-confirmed": "La tua email non è stata ancora confermata, clicca qui per confermare la tua email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Non puoi chattare finché non confermi la tua email, per favore clicca qui per confermare la tua email.", - "email-not-confirmed-email-sent": "La tua email non è ancora stata confermata, per favore controlla la tua casella di posta per l'email di conferma.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Questo forum richiede una conferma via email, clicca qui per inserire un'email", "email-confirm-failed": "Non abbiamo potuto confermare la tua email, per favore riprovaci più tardi.", "confirm-email-already-sent": "Email di conferma già inviata, per favore attendere %1 minuto(i) per inviarne un'altra.", diff --git a/public/language/ja/error.json b/public/language/ja/error.json index 2ba0d799df..fb0f91517c 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "無効なページネーション値です。%1 から%2の値でなければありません。", "username-taken": "ユーザー名は既に使われています", "email-taken": "メールアドレスは既に使われています", - "email-not-confirmed": "あなたのメールアドレスはまだ確認されていません。メールアドレスを確認するためにはここをクリックしてください。", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "チャットを行うにはメールアドレスの確認を行う必要があります。メールアドレスを確認するためにはここをクリックしてください。", - "email-not-confirmed-email-sent": "あなたのEメールはまだ確認されておりません。お手数ですが、あなたの受信トレイのEメールをチェックしてください。", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "このフォーラムを利用するにはメールアドレスの確認を行う必要があります。メールアドレスを確認するためにはここをクリックしてください。", "email-confirm-failed": "メールアドレスの確認が出来ませんでした。再度お試しください。", "confirm-email-already-sent": "確認のメールは既に送信されています。再度送信するには、%1分後に再度お試しください。", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 18c569175c..cab46daee3 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "올바르지 않은 페이지 값입니다. 최소 1% 에서 최대 2% 사이로 설정해야 합니다.", "username-taken": "이미 사용 중인 사용자명 입니다.", "email-taken": "이미 사용 중인 이메일입니다.", - "email-not-confirmed": "아직 이메일이 인증되지 않았습니다. 여기를 누르면 인증 메일을 발송할 수 있습니다.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "아직 이메일이 인증되지 않았습니다. 대화기능은 인증 후에 사용이 가능합니다.", - "email-not-confirmed-email-sent": "아직 이메일이 인증되지 않았습니다. 메일함을 확인 해주세요.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "이메일 인증이 필요합니다. 이곳을 클릭하여 이메일 입력하세요.", "email-confirm-failed": "이메일 인증이 실패하였습니다. 잠시 후에 다시 시도하세요.", "confirm-email-already-sent": "확인 메일이 이미 발송되었습니다. 다시 보내려면 %1 분을 기다리세요.", diff --git a/public/language/lt/error.json b/public/language/lt/error.json index c06af0dd36..6fe7449460 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Bloga puslapių išdėstymo reikšmė. Ji turėtų būti ne mažesnė nei %1 ir ne didesnė nei %2", "username-taken": "Vartotojo vardas jau užimtas", "email-taken": "El. pašto adresas jau užimtas", - "email-not-confirmed": "Jūsų el. paštas nepatvirtintas, prašome paspausti čia norint jį patvirtinti.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Jūs negalite bendrauti, kol jūsų el.paštas nėra patvirtintas, prašome spausti čia kad aktyvuoti jūsų el.paštą", - "email-not-confirmed-email-sent": "Jūsų el. paštas dar nepatvirtintas. Patikrinkite, ar nėra patvirtinimo laiško jūsų pašto dėžutėje.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Šis forumas reikalauja patvirtinimo el. paštu prašome spausti čia el. adreso įrašymui", "email-confirm-failed": "Negalime patvirtinti jūsų el. adreso, prašom bandyti vėliau.", "confirm-email-already-sent": "Patvirtinimo laiškas išsiųstas, prašome palaukti %1 minute(s) kad išsiųstume kita", diff --git a/public/language/lv/error.json b/public/language/lv/error.json index 4f8c3d43c1..7005992b08 100644 --- a/public/language/lv/error.json +++ b/public/language/lv/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Nederīgs vienību skaits, ir jābūt vismaz %1 un ne vairāk kā %2", "username-taken": "Lietotājvārds jau izmantots", "email-taken": "E-pasta adrese jau izmantota", - "email-not-confirmed": "Tava e-pasta adrese vēl nav apstiprināta, lūdzu, noklikšķini, lai apstiprinātu savu e-pasta adresi.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Nevar sarunāties, kamēr Tava e-pasta adrese netiek apstiprināta, lūdzu, noklikšķini, lai apstiprinātu savu e-pasta adresi.", - "email-not-confirmed-email-sent": "Tava e-pasta adrese vēl nav apstiprināta, lūdzu, pārbaudi ienākušos e-pastus apstiprinājuma e-pastam.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Šis forums pieprasa e-pasta apstiprinājumu, lūdzu, noklikšķini, lai ievadītu e-pasta adresi", "email-confirm-failed": "Mēs nevarējām apstiprināt Tavu e-pasta adresi, lūdzu, vēlāk mēģini vēlreiz.", "confirm-email-already-sent": "Apstiprinājuma e-pasts ir jau nosūtīts, lūdzu, uzgaidi %1 minūti(-es), lai nosūtītu vēl vienu.", diff --git a/public/language/ms/error.json b/public/language/ms/error.json index 7b2d8c0049..9b70f5a98d 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Nombor halaman tidak sah, mesti tidak kurang dari %1 dan tidak lebih dari %2", "username-taken": "Nama pengguna telah digunakan", "email-taken": "Emel telah digunakan", - "email-not-confirmed": "Emel anda belum disahkan lagi, sila klik sini untuk mengesahkan emel anda.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Anda tidak dibenarkan sembang sehingga emel disahkan, sila sahkan emel anda.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Forum ini memerlukan pengesahan emel, sila klik sini untuk memasukkan emel", "email-confirm-failed": "Kami tidak dapat memastikan emel anda, sila cuba lagi nanti", "confirm-email-already-sent": "Pengesahan emel telah dihantar, sila tunggu %1 minit() untuk menghantar yang baru.", diff --git a/public/language/nb/error.json b/public/language/nb/error.json index f53d894e5b..ca39d1c5dd 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Brukernavn opptatt", "email-taken": "E-post opptatt", - "email-not-confirmed": "E-posten din har ikke blitt bekreftet enda, vennligst klikk for å bekrefte din e-post.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Du kan ikke chatte før e-posten din er bekreftet, vennligst klikk her for å bekrefte e-postadressen.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Dette forumet krever e-postbekreftelse, vennligst klikk her for å skrive inn en e-post", "email-confirm-failed": "Vi kunne ikke bekrefte e-posten din, vennligst prøv igjen senere.", "confirm-email-already-sent": "E-post for bekreftelse er allerede sendt, vennligst vent %1 minutt(er) for å sende en til.", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index de94a63916..315fb0945b 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Ongeldig paginering waarde. De waarde moet op z'n minst %1 zijn en niet hoger dan %2 zijn.", "username-taken": "Gebruikersnaam is al in gebruik ", "email-taken": "E-mailadres is al in gebruik", - "email-not-confirmed": "Het e-mailadres van dit account is nog niet bevestigd, klik hier om je e-mailadres te bevestigen.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Het gebruik van chatfunctionaliteit is pas toegestaan na validatie van het e-mailadres.", - "email-not-confirmed-email-sent": "Je email adres is niet bevestigd, kijk of je de bevestigingsmail hebt ontvangen.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Dit berichtenforum vereist bevestiging per e-mail, klik hier om een e-mailadres te registreren", "email-confirm-failed": "Helaas kon het e-mailadres niet bevestigd worden, probeer het later nog eens.", "confirm-email-already-sent": "Bevestigingsmail is zojuist al verzonden, wacht alsjeblieft %1 minuut (minuten) voordat je opnieuw een bevestigingsmail aanvraagt.", diff --git a/public/language/pl/error.json b/public/language/pl/error.json index 6ccac918f7..9dd4e7d239 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Błędna wartość paginacji, zakres od %1 do %2", "username-taken": "Login zajęty", "email-taken": "Email zajęty", - "email-not-confirmed": "Twój email nie został jeszcze potwierdzony. Proszę kliknąć tutaj, by go potwierdzić.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Nie możesz prowadzić rozmów, dopóki twój email nie zostanie potwierdzony. Kliknij tutaj, aby potwierdzić swój email.", - "email-not-confirmed-email-sent": "Twój e-mail jeszcze nie został potwierdzony, proszę sprawdzić swoją skrzynkę odbiorczą.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "To forum wymaga weryfikacji przez email. Proszę kliknąć tutaj, aby wprowadzić adres.", "email-confirm-failed": "Nie byliśmy w stanie potwierdzić Twojego adresu e-mail. Spróbuj później.", "confirm-email-already-sent": "Email potwierdzający został już wysłany, proszę odczekaj jeszcze %1 minut(y), aby wysłać kolejny.", diff --git a/public/language/pt-BR/error.json b/public/language/pt-BR/error.json index c7c0c2a8a1..6638132815 100644 --- a/public/language/pt-BR/error.json +++ b/public/language/pt-BR/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Valor de paginação inválido, precisa ser no mínimo %1 e no máximo %2", "username-taken": "Nome de usuário já existe", "email-taken": "Email já cadastrado", - "email-not-confirmed": "O seu email ainda não foi confirmado, por favor clique aqui para confirmar seu email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Você não está habilitado a conversar até que seu email seja confirmado, por favor clique aqui para confirmar seu email.", - "email-not-confirmed-email-sent": "O seu e-mail ainda não foi confirmado. Por favor, verifique sua caixa de entrada para o e-mail de confirmação.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Este fórum exige confirmação de email, por gentileza clique aqui para digitar um email", "email-confirm-failed": "Nós não pudemos confirmar seu email, por gentileza tente novamente mais tarde.", "confirm-email-already-sent": "O email de confirmação já foi enviado, por favor aguarde %1 minuto(s) para enviar outro.", diff --git a/public/language/pt-PT/error.json b/public/language/pt-PT/error.json index 1f6161f1a8..71e0920bec 100644 --- a/public/language/pt-PT/error.json +++ b/public/language/pt-PT/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Valor de paginação errado, deve ser no mínimo %1 e no máximo %2", "username-taken": "Nome de utilizar já utilizado", "email-taken": "E-mail já utilizado", - "email-not-confirmed": "O teu e-mail ainda não foi confirmado, por favor clica aqui para confirmares o teu e-mail.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Não podes utilizar o chat enquanto não confirmares o teu e-mail, por favor clica aqui para confirmares o teu e-mail.", - "email-not-confirmed-email-sent": "O teu e-mail ainda não foi confirmado, por favor verifica na tua caixa de entrada o e-mail de confirmação.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Este fórum requer confirmação de e-mail, por favor clica aqui para inserires um e-mail", "email-confirm-failed": "Não conseguimos confirmar o teu e-mail, por favor tenta mais tarde.", "confirm-email-already-sent": "O e-mail de confirmação já foi enviado, por favor espera %1 minuto(s) para enviares outro.", diff --git a/public/language/ro/error.json b/public/language/ro/error.json index d10046d6cf..2510f6ab43 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Numele de utilizator este deja folosit", "email-taken": "Adresa de email este deja folostă", - "email-not-confirmed": "Adresa ta de email nu a fost inca confirmata, click aici ca sa o confirmi.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Nu vei putea trimite mesaje daca email-ul tau nu e confirmat, click aici sa il confirmi.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Ca sa accesezi forumul trebuie sa iti confirmi email-ul, click aici ca sa intri in mail.", "email-confirm-failed": "Mail-ul tau nu a putut fi confirmat, te rog incearca mai tarziu.", "confirm-email-already-sent": "Email-ul de confirmare ti-a fost trimis, asteapta te rog %1 minut(e) ca sa trimiti inca unul.", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index eb9405383d..8e9fb5e554 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Неправильно указан номер страницы. Значение должно быть в диапазоне от %1 до %2", "username-taken": "Это имя пользователя уже занято", "email-taken": "Пользователь с таким адресом электронной почты уже зарегистрирован", - "email-not-confirmed": "Ваша электронная почта не подтверждена, нажмите для подтверждения.", + "email-not-confirmed": "Вы не сможете отправлять сообщения, пока ваш адрес электронной почты не подтверждён. Пожалуйста, нажмите здесь, чтобы подтвердить его.", "email-not-confirmed-chat": "Вы не можете оставлять сообщения, пока ваша электронная почта не подтверждена. Отправить письмо с кодом подтверждения повторно.", - "email-not-confirmed-email-sent": "Ваш адрес электронной почты ещё не подтвержден. Вам было отправлено письмо с кодом подтверждения, пожалуйста, проверьте ваш почтовый ящик и подтвердите регистрацию.", + "email-not-confirmed-email-sent": "Ваш адрес электронной почты ещё не подтверждён. Пожалуйста, проверьте ваш почтовый ящик и пройдите по ссылке в письме с кодом подтверждения. Пока ваш e-mail не подтверждён, вы не можете пользоваться чатом или публиковать сообщения.", "no-email-to-confirm": "Этот сайт требует подтверждения по электронной почте. Нажмите здесь для ввода адреса электронной почты.", "email-confirm-failed": "По техническим причинам мы не можем подтвердить ваш адрес электронной почты. Приносим вам наши извинения, пожалуйста, попробуйте позже.", "confirm-email-already-sent": "Сообщение для подтверждения регистрации уже выслано на ваш адрес электронной почты. Повторная отправка возможна через %1 мин.", diff --git a/public/language/rw/error.json b/public/language/rw/error.json index 5caaa9e004..54a2cff4f6 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Izina ryarafashwe mbere", "email-taken": "Email yarafashwe mbere", - "email-not-confirmed": "Email yawe ntabwo iremezwa. Kanda hano kugirango wemeze email yawe.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Ntabwo uremererwa kuganirira mu gikari kuko email yawe itari yemezwa. Kanda hano kugirango wemeze email yawe. ", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Uru rubuga rusaba ko wemeza ko utunze email. Kanda hano kugirango utange email yawe", "email-confirm-failed": "Ntabwo email yawe yabashije kwemezwa. Ongera ugerageze mu bundi buryo. ", "confirm-email-already-sent": "Email yo kwemeza yamaze koherezwa. Tegereza iminota (umunota) %1 mbere yo kohereza indi. ", diff --git a/public/language/sc/error.json b/public/language/sc/error.json index 8140d65b4d..b84fe2a1c5 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Username taken", "email-taken": "Email taken", - "email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "email-confirm-failed": "We could not confirm your email, please try again later.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", diff --git a/public/language/sk/error.json b/public/language/sk/error.json index 411214b8b7..03cc147462 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Neplatná stránkovania hodnota, musí byť najmenej %1 a najviac %2", "username-taken": "Užívateľské meno je už obsadené", "email-taken": "Tento e-mail je už obsadený", - "email-not-confirmed": "Váš e-mail nebol ešte overený. Prosím kliknite sem, pre overenie Vášho e-mailu.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Nemôžete vytvoriť konverzáciu pokiaľ Váš e-mail nebude overený. Prosím kliknite sem, pre overenie Vášho e-mailu.", - "email-not-confirmed-email-sent": "Váš e-mail zatiaľ nebol overený, prosíme skontrolujte si svoju doručenú poštu pre overenie e-mailu.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Pre toto fórum je potrebné overenie e-mailom. Prosím kliknite sem, pre zadanie e-mailu.", "email-confirm-failed": "Momentálne nemôžeme overiť Váš e-mail, prosím zopakujte to neskôr.", "confirm-email-already-sent": "Overovací e-mail už bol odoslaný. Prosím počkajte %1 minút(y) k odoslaniu ďalšieho.", diff --git a/public/language/sl/error.json b/public/language/sl/error.json index 9074f79cb9..e3f59963c1 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Napačna vrednost za številčenje strani. Vrednost mora biti najmanj %1 in največ %2.", "username-taken": "Uporabniško ime je že zasedeno.", "email-taken": "E-poštni naslov je že zaseden.", - "email-not-confirmed": "Vaš e-poštni naslov še ni bil potrjen. Prosimo, kliknite tu za potrditev e-poštnega naslova.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Ne morete klepetati, dokler ne potrdite svojega e-poštnega naslova. Prosimo, kliknite tu za potrditev e-poštnega naslova.", - "email-not-confirmed-email-sent": "Vaš e-poštni naslov še ni bil potrjen. Prosimo, preverite svojo mapo Prejeto.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Ta forum zahteva potrjen e-poštni naslov. Prosim, kliknite tu za vnos e-poštnega naslova.", "email-confirm-failed": "Potrditev vašega e-poštnega naslova ni uspela. Prosimo, poskusite ponovno pozneje.", "confirm-email-already-sent": "Potrditveno e-sporočilo je že bilo poslano. Prosimo, počakajte %1 min za ponovno pošiljanje.", diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 6dd410627c..6a01b87d43 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Неважећа вредност приликом нумерисања страница, мора бити најмање %1 а највише %2 ", "username-taken": "Корисничко име је заузето", "email-taken": "Адреса е-поште је заузета", - "email-not-confirmed": "Ваша адреса е-поште још увек није оверена, кликните овде да би сте то учинили.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Није вам дозвољено да ћаскате док не оверите вашу е-пошту, кликните овде да то учините.", - "email-not-confirmed-email-sent": "Ваша е-пошта још увек није потврђена, молимо проверите ваше пријемно сандуче.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Форум захтева потврду е-поште, кликните овде да бисте навели е-пошту", "email-confirm-failed": "Потврда е-поште није успела, молимо вас да покушате касније.", "confirm-email-already-sent": "Е-порука за потврду је већ послата, молимо вас да сачекате %1 минут(а) да бисте послали други.", diff --git a/public/language/sv/error.json b/public/language/sv/error.json index 249a5e507d..333ab54cda 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Ogiltigt värde för siduppdelning. Värdet måste vara mellan %1 och %2", "username-taken": "Användarnamn upptaget", "email-taken": "Epostadress upptagen", - "email-not-confirmed": "Din epostadress är ännu inte bekräftad. Klicka här för att bekräfta din epostadress.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Du kan ej använda chatten förrän din epostadress har blivit bekräftad, var god klicka här för att bekräfta din epostadress.", - "email-not-confirmed-email-sent": "Din epostadress är ännu inte bekräftad. Leta efter bekräftelsen i din epost.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Detta forum kräver bekräftning av epostadresser, var god klicka här för att fylla i en epostadress", "email-confirm-failed": "Vi kunde ej bekräfta din epostadress, var god försök igen senare.", "confirm-email-already-sent": "Bekräftningsbrev redan skickat, var god vänta %1 minut(er) innan du skickar ett nytt.", diff --git a/public/language/th/error.json b/public/language/th/error.json index 30ec98881a..52d5483f07 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "หมายเลขหน้าไม่ถูกต้อง จำเป็นต้องเป็นตัวเลขอย่างน้อย %1 และอย่างมาก %2", "username-taken": "ชื่อผู้ใช้นี้มีการใช้แล้ว", "email-taken": "อีเมลนี้มีการใช้แล้ว", - "email-not-confirmed": "ยังไม่มีการยืนยันอีเมลของคุณ, โปรดกดยืนยันอีเมลของคุณตรงนี้", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "คุณไม่สามารถแชทได้จนกว่าอีเมล์ของคุณจะได้รับการยืนยัน กรุณาคลิกที่นี่เพื่อยืนยันอีกมเมล์ของคุณ", - "email-not-confirmed-email-sent": "อีเมล์ของคุณยังไม่ได้รับการยืนยัน กรุณาเช็คกล่องข้อความในอีเมล์เพื่อกดยืนยัน", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Forum นี้ต้องการการยืนยันอีเมล กรุณากดที่นี่เพื่อระบุอีเมล", "email-confirm-failed": "เราไม่สามารถยืนยันอีเมลของคุณ ณ ขณะนี้ กรุณาลองใหม่อีกครั้งภายหลัง", "confirm-email-already-sent": "อีเมล์ยืนยันตัวตนถูกส่งไปยังคุณเรียบร้อยแล้ว กรุณารอ %1 นาที(s) ก่อนการตัดสินใจส่งอีกครั้ง", diff --git a/public/language/tr/error.json b/public/language/tr/error.json index f0b971c310..c8caa73ec8 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Geçersiz sayfalama değeri, en az %1 ve en fazla %2 olabilir", "username-taken": "Kullanıcı İsmi Alınmış", "email-taken": "E-posta Alınmış", - "email-not-confirmed": "E-postanız onaylanmamış, onaylamak için lütfen buraya tıklayın.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "E-postanız onaylanana kadar sohbet edemezsiniz, onaylamak için lütfen buraya tıklayın.", - "email-not-confirmed-email-sent": "E-postanız onaylanmamış, onaylamak için lütfen gelen kutunuzu kontrol edin.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Bu forum e-posta doğrulaması gerektirir, lütfen buraya bir e-posta adresi girin", "email-confirm-failed": "E-posta adresinizi doğrulayamıyoruz. Lütfen daha sonra tekrar deneyin.", "confirm-email-already-sent": "E-posta onayı zaten gönderilmiş, yeni bir onay göndermek için lütfen %1 dakika bekleyin.", diff --git a/public/language/uk/error.json b/public/language/uk/error.json index 3bb9e4b0e3..0d7ea48f09 100644 --- a/public/language/uk/error.json +++ b/public/language/uk/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Невірне значення сторінки, має бути щонайменше %1 та щонайбільше %2", "username-taken": "Це ім'я зайняте", "email-taken": "Ця електронна пошта зайнята", - "email-not-confirmed": "Ваша електронна пошта ще не підтверджена, натисніть тут, щоб це зробити.", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Ви не можете користуватися чатом поки ваша електронна пошта не буде підтверджена, натисніть тут, щоб це зробити.", - "email-not-confirmed-email-sent": "Ваша електронна пошта ще не підтверджена, перевірте свої вхідні повідомлення на наявність підтверджувального листа.", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Цей форум вимагає підтвердження електронної пошти, будь-ласка, натисніть тут, щоб його ввести.", "email-confirm-failed": "Ми не можемо підтвердити вашу електронну пошту, будь ласка, спробуйте пізніше.", "confirm-email-already-sent": "Підтвердження по електронній пошті вже було надіслано, зачекайте, будь ласка, %1 хвилин(и), щоб відправити ще одне. ", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index bb2caad21e..5d77d2e328 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "Giá trị 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 đã được đăng kí", - "email-not-confirmed": "Email của bạn chưa được xác nhận, xin hãy nhấn vào đây để xác nhận địa chỉ này là của bạn", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "Bạn không được quyền chat nếu email của bạn chưa được xác nhận, vui lòng click vào đây để xác nhận email của bạn.", - "email-not-confirmed-email-sent": "Email của bạn chưa được xác nhận, xin hãy nhấn vào đây để xác nhận địa chỉ này là của bạn", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Diễn đàn này yêu cầu xác nhận email, vui lòng nhấn vào đây để nhập 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 chờ %1 phút để yêu cầu gửi lại.", diff --git a/public/language/zh-CN/admin/manage/digest.json b/public/language/zh-CN/admin/manage/digest.json index 45b1639ff7..9feb7284a9 100644 --- a/public/language/zh-CN/admin/manage/digest.json +++ b/public/language/zh-CN/admin/manage/digest.json @@ -1,7 +1,7 @@ { "lead": "以下是摘要发送状态及时间列表", "disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.", - "disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as SendGrid.", + "disclaimer-continued": "成功发送意味道消息被 NodeBB 成功发送且被接收人服务器收到。但这并不等同于邮件发送到了收件箱中。为了确保消息可以准确送达,我们建议使用第三方的邮件服务,例如SendGrid。", "user": "用户", "subscription": "订阅类型", @@ -15,7 +15,7 @@ "resent-week": "Weekly digest resent", "resent-month": "Monthly digest resent", "null": "从不", - "manual-run": "Manual digest run:", + "manual-run": "手动运行摘要:", "no-delivery-data": "No delivery data found" } \ No newline at end of file diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 3d02c5048f..6a02cb2f51 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "无效的分页数值,必须介于 %1 和 %2 之间", "username-taken": "此用户名已被占用", "email-taken": "此电子邮箱已被占用", - "email-not-confirmed": "您的电子邮箱尚未确认,请点击这里确认您的电子邮箱。", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "您的电子邮箱尚未确认,无法聊天,请点击这里确认您的电子邮箱。", - "email-not-confirmed-email-sent": "您的邮箱地址还没有被确认,请检查邮箱中的确认邮件。", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "本论坛需要电子邮箱确认,请点击这里输入电子邮箱地址", "email-confirm-failed": "我们无法确认您的电子邮箱,请重试", "confirm-email-already-sent": "确认邮件已发出,如需重新发送请等待 %1 分钟后再试。", diff --git a/public/language/zh-TW/error.json b/public/language/zh-TW/error.json index d3e7911ad2..fb6290b1aa 100644 --- a/public/language/zh-TW/error.json +++ b/public/language/zh-TW/error.json @@ -26,9 +26,9 @@ "invalid-pagination-value": "無效的分頁值, 必需是至少 %1 與最多 %2", "username-taken": "該使用者名稱已被使用", "email-taken": "該信箱已被使用", - "email-not-confirmed": "你的電子郵件尚未確認,請點擊此處確認你的電子郵件。", + "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-chat": "你需要先確認電子郵件後才能進行聊天,請點擊這裡來確認你的電子郵件。", - "email-not-confirmed-email-sent": "你的電子郵件地址還沒有確認,請確認一下你的信箱是否有確認信。", + "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "此討論區要求確認電子郵件,請點擊這裡輸入一個電子郵件。", "email-confirm-failed": "我們無法確認你的Email,請之後再重試。", "confirm-email-already-sent": "確認信已寄出,請稍後 %1 分鐘才能再寄下一封。", From 68118e438bc579067b165cccea2eafac7250a805 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2019 10:45:47 -0500 Subject: [PATCH 35/76] fix(deps): update dependency mongodb to v3.3.5 (#8065) --- install/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/package.json b/install/package.json index 4810c06291..3817a3eaf8 100644 --- a/install/package.json +++ b/install/package.json @@ -74,7 +74,7 @@ "material-design-lite": "^1.3.0", "mime": "^2.2.0", "mkdirp": "^0.5.1", - "mongodb": "3.3.4", + "mongodb": "3.3.5", "morgan": "^1.9.1", "mousetrap": "^1.6.1", "mubsub-nbb": "^1.5.1", From f9a8ebfce95118e84e5bd07aa8e04014588a6b0a Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 26 Nov 2019 11:29:32 -0500 Subject: [PATCH 36/76] feat: merge social authentication into plugins menu in ACP * also reordered the menu in ACP so plugins come first * added muted headers in desktop version to distinguish both lists * fixes julianlam/nodebb-plugin-sso-google#21 * closes #8066 --- src/views/admin/partials/menu.tpl | 50 +++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/views/admin/partials/menu.tpl b/src/views/admin/partials/menu.tpl index 06b7fdea43..d08c1eb90f 100644 --- a/src/views/admin/partials/menu.tpl +++ b/src/views/admin/partials/menu.tpl @@ -78,19 +78,6 @@ - - - - + + + +