diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6cea98c786..3e7d8120be 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -65,7 +65,7 @@ jobs: - 5432:5432 redis: - image: 'redis:2.8.23' + image: 'redis:7.0.11' # Set health checks to wait until redis has started options: >- --health-cmd "redis-cli ping" @@ -194,7 +194,7 @@ jobs: run: npm run coverage - name: Test coverage - uses: coverallsapp/github-action@v2.1.2 + uses: coverallsapp/github-action@v2.2.0 if: matrix.coverage with: github-token: ${{ secrets.GITHUB_TOKEN }} @@ -208,7 +208,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Coveralls Finished - uses: coverallsapp/github-action@v2.1.2 + uses: coverallsapp/github-action@v2.2.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true diff --git a/CHANGELOG.md b/CHANGELOG.md index d73605ea77..eba105bc73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +#### v3.1.7 (2023-06-21) + +##### Chores + +* incrementing version number - v3.1.6 (b3a3b130) +* update changelog for v3.1.6 (f10a2d2e) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* #11735, crash when making guest reply (f2fe7c06) +* #11729, only check registered users (090a7921) +* #11723, fix pagination on following/follower page (4e146eb5) + #### v3.1.6 (2023-06-15) ##### Chores diff --git a/install/package.json b/install/package.json index a2b764e1e1..4460c9aa05 100644 --- a/install/package.json +++ b/install/package.json @@ -29,9 +29,11 @@ }, "dependencies": { "@adactive/bootstrap-tagsinput": "0.8.2", + "@fontsource/inter": "5.0.3", + "@fontsource/poppins": "5.0.3", "@isaacs/ttlcache": "1.4.0", - "@popperjs/core": "2.11.7", - "ace-builds": "1.19.0", + "@popperjs/core": "2.11.8", + "ace-builds": "1.23.1", "archiver": "5.3.1", "async": "3.2.4", "autoprefixer": "10.4.14", @@ -46,31 +48,31 @@ "cli-graph": "3.2.2", "clipboard": "2.0.11", "colors": "1.4.0", - "commander": "10.0.1", + "commander": "11.0.0", "compare-versions": "5.0.3", "compression": "1.7.4", "connect-flash": "0.1.1", "connect-mongo": "5.0.0", "connect-multiparty": "2.2.0", - "connect-pg-simple": "8.0.0", - "connect-redis": "7.0.1", + "connect-pg-simple": "9.0.0", + "connect-redis": "7.1.0", "cookie-parser": "1.4.6", - "cron": "2.3.0", + "cron": "2.3.1", "cropperjs": "1.5.13", "csrf-sync": "4.0.1", "daemon": "1.1.0", "diff": "5.1.0", - "esbuild": "0.17.18", + "esbuild": "0.18.10", "express": "4.18.2", "express-session": "1.17.3", "express-useragent": "1.0.15", "file-loader": "6.2.0", "fs-extra": "11.1.1", "graceful-fs": "4.2.11", - "helmet": "6.2.0", + "helmet": "7.0.0", "html-to-text": "9.0.5", - "ipaddr.js": "2.0.1", - "jquery": "3.6.4", + "ipaddr.js": "2.1.0", + "jquery": "3.7.0", "jquery-deserialize": "2.0.0", "jquery-form": "4.3.0", "jquery-serializeobject": "1.0.0", @@ -81,70 +83,69 @@ "less": "4.1.3", "lodash": "4.17.21", "logrotate-stream": "0.2.9", - "lru-cache": "9.1.1", - "material-design-lite": "1.3.0", + "lru-cache": "10.0.0", "mime": "3.0.0", "mkdirp": "3.0.1", - "mongodb": "5.4.0", + "mongodb": "5.6.0", "morgan": "1.10.0", "mousetrap": "1.6.5", "multiparty": "4.2.3", "nconf": "0.12.0", - "nodebb-plugin-2factor": "7.0.5", - "nodebb-plugin-composer-default": "10.1.5", - "nodebb-plugin-dbsearch": "6.0.1", - "nodebb-plugin-emoji": "5.0.10", + "nodebb-plugin-2factor": "7.1.3", + "nodebb-plugin-composer-default": "10.2.3", + "nodebb-plugin-dbsearch": "6.1.0", + "nodebb-plugin-emoji": "5.1.2", "nodebb-plugin-emoji-android": "4.0.0", - "nodebb-plugin-markdown": "12.0.4", - "nodebb-plugin-mentions": "4.1.1", + "nodebb-plugin-markdown": "12.1.4", + "nodebb-plugin-mentions": "4.2.0", "nodebb-plugin-ntfy": "1.0.15", - "nodebb-plugin-spam-be-gone": "2.0.7", + "nodebb-plugin-spam-be-gone": "2.1.0", "nodebb-rewards-essentials": "0.2.3", - "nodebb-theme-harmony": "1.0.24", - "nodebb-theme-lavender": "7.0.9", - "nodebb-theme-peace": "2.0.25", - "nodebb-theme-persona": "13.0.67", - "nodebb-widget-essentials": "7.0.12", - "nodemailer": "6.9.1", + "nodebb-theme-harmony": "1.0.64", + "nodebb-theme-lavender": "7.1.1", + "nodebb-theme-peace": "2.0.32", + "nodebb-theme-persona": "13.1.6", + "nodebb-widget-essentials": "7.0.13", + "nodemailer": "6.9.3", "nprogress": "0.2.0", "passport": "0.6.0", "passport-http-bearer": "1.0.1", "passport-local": "1.0.0", - "pg": "8.10.0", - "pg-cursor": "2.9.0", - "postcss": "8.4.23", + "pg": "8.11.1", + "pg-cursor": "2.10.1", + "postcss": "8.4.24", "postcss-clean": "1.2.0", "progress-webpack-plugin": "1.0.16", "prompt": "1.3.0", "ioredis": "5.3.2", "request": "2.88.2", "request-promise-native": "1.0.9", - "rimraf": "5.0.0", + "rimraf": "5.0.1", "rss": "1.2.2", "rtlcss": "4.1.0", - "sanitize-html": "2.10.0", - "sass": "1.62.1", - "semver": "7.5.0", + "sanitize-html": "2.11.0", + "sass": "1.63.6", + "semver": "7.5.3", "serve-favicon": "2.5.0", "sharp": "0.32.1", "sitemap": "7.1.1", "slideout": "1.0.1", - "socket.io": "4.6.1", - "socket.io-client": "4.6.1", - "@socket.io/redis-adapter": "8.2.0", + "socket.io": "4.7.1", + "socket.io-client": "4.7.1", + "@socket.io/redis-adapter": "8.2.1", "sortablejs": "1.15.0", "spdx-license-list": "6.6.0", "spider-detector": "2.0.0", - "terser-webpack-plugin": "5.3.8", + "terser-webpack-plugin": "5.3.9", "textcomplete": "0.18.2", "textcomplete.contenteditable": "0.1.1", "timeago": "1.6.7", "tinycon": "0.6.8", "toobusy-js": "0.5.1", "validator": "13.9.0", - "webpack": "5.82.0", - "webpack-merge": "5.8.0", - "winston": "3.8.2", + "webpack": "5.88.0", + "webpack-merge": "5.9.0", + "winston": "3.9.0", "xml": "1.0.1", "xregexp": "5.1.1", "yargs": "17.7.2", @@ -152,28 +153,28 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "10.1.0", - "@commitlint/cli": "17.6.3", - "@commitlint/config-angular": "17.6.3", + "@commitlint/cli": "17.6.6", + "@commitlint/config-angular": "17.6.6", "coveralls": "3.1.1", - "eslint": "8.40.0", + "eslint": "8.43.0", "eslint-config-nodebb": "0.2.1", "eslint-plugin-import": "2.27.5", "grunt": "1.6.1", "grunt-contrib-watch": "1.1.0", "husky": "8.0.3", - "jsdom": "22.0.0", - "lint-staged": "13.2.2", + "jsdom": "22.1.0", + "lint-staged": "13.2.3", "mocha": "10.2.0", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", "nyc": "15.1.0", - "smtp-server": "3.11.0" + "smtp-server": "3.12.0" }, "optionalDependencies": { - "sass-embedded": "1.62.0" + "sass-embedded": "1.63.6" }, "resolutions": { - "*/jquery": "3.6.4" + "*/jquery": "3.7.0" }, "bugs": { "url": "https://github.com/NodeBB/NodeBB/issues" diff --git a/install/web.js b/install/web.js index dd908679cf..1f5a846a30 100644 --- a/install/web.js +++ b/install/web.js @@ -50,6 +50,9 @@ let installing = false; let success = false; let error = false; let launchUrl; +let timeStart = 0; +const totalTime = 1000 * 60 * 3; + const viewsDir = path.join(paths.baseDir, 'build/public/templates'); @@ -102,11 +105,32 @@ function launchExpress(port) { function setupRoutes() { app.get('/', welcome); app.post('/', install); - app.post('/launch', launch); + app.get('/testdb', testDatabase); app.get('/ping', ping); app.get('/sping', ping); } +async function testDatabase(req, res) { + let db; + try { + const keys = Object.keys(req.query); + const dbName = keys[0].split(':')[0]; + db = require(`../src/database/${dbName}`); + + const opts = {}; + keys.forEach((key) => { + opts[key.replace(`${dbName}:`, '')] = req.query[key]; + }); + + await db.init(opts); + const global = await db.getObject('global'); + await db.close(); + res.json({ success: 1, dbfull: !!global }); + } catch (err) { + res.json({ error: err.stack }); + } +} + function ping(req, res) { res.status(200).send(req.path === '/sping' ? 'healthy' : '200'); } @@ -123,7 +147,6 @@ function welcome(req, res) { }); const defaults = require('./data/defaults.json'); - res.render('install/index', { url: nconf.get('url') || (`${req.protocol}://${req.get('host')}`), launchUrl: launchUrl, @@ -136,6 +159,7 @@ function welcome(req, res) { minimumPasswordLength: defaults.minimumPasswordLength, minimumPasswordStrength: defaults.minimumPasswordStrength, installing: installing, + percentInstalled: installing ? ((Date.now() - timeStart) / totalTime * 100).toFixed(2) : 0, }); } @@ -143,6 +167,7 @@ function install(req, res) { if (installing) { return welcome(req, res); } + timeStart = Date.now(); req.setTimeout(0); installing = true; @@ -170,21 +195,22 @@ function install(req, res) { const child = require('child_process').fork('app', ['--setup'], { env: setupEnvVars, }); - + child.on('error', (err) => { + error = true; + success = false; + winston.error(err.stack); + }); child.on('close', (data) => { - installing = false; success = data === 0; error = data !== 0; - - welcome(req, res); + launch(); }); + welcome(req, res); } -async function launch(req, res) { +async function launch() { try { - res.json({}); server.close(); - req.setTimeout(0); let child; if (!nconf.get('launchCmd')) { diff --git a/public/503.html b/public/503.html index 68c9386146..43d1e648d9 100644 --- a/public/503.html +++ b/public/503.html @@ -6,7 +6,6 @@ body { background: #00A9EA; color: white; - /* see public/less/admin/vars.less for documentation on system font family */ font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; text-align: center; -webkit-transform-style: preserve-3d; diff --git a/public/language/ar/admin/admin.json b/public/language/ar/admin/admin.json index 75f9917610..28ad0d39d4 100644 --- a/public/language/ar/admin/admin.json +++ b/public/language/ar/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "لوحة تحكم إدارة NodeBB | %1", "settings-header-contents": "محتويات", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "لم يتم حفظ التغييرات", - "changes-not-saved-message": "حدثت مشكلة أثناء حفظ التغييرات في NodeBB. (%1)" + "changes-not-saved-message": "حدثت مشكلة أثناء حفظ التغييرات في NodeBB. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/ar/admin/advanced/cache.json b/public/language/ar/admin/advanced/cache.json index 2fcd7d3567..6c71760658 100644 --- a/public/language/ar/admin/advanced/cache.json +++ b/public/language/ar/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "التخزين المؤقت للمشاركات", "group-cache": "التخزين المؤقت للمجموعات", "local-cache": "تخزين مؤقت محلي", diff --git a/public/language/ar/admin/advanced/database.json b/public/language/ar/admin/advanced/database.json index 2a0b778125..c36173ff40 100644 --- a/public/language/ar/admin/advanced/database.json +++ b/public/language/ar/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "مدة التشغيل بالثواني", "uptime-days": "مدة التشغيل بالأيام", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "اصدار MongoDB", "mongo.storage-engine": "محرك التخزين", "mongo.collections": "التجميعات", diff --git a/public/language/ar/admin/advanced/errors.json b/public/language/ar/admin/advanced/errors.json index bf9bc97443..d7d460bc77 100644 --- a/public/language/ar/admin/advanced/errors.json +++ b/public/language/ar/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "شكل %1", "error-events-per-day": "%1 حدث كل يوم ", "error.404": "404 لم يتم العثور", diff --git a/public/language/ar/admin/appearance/customise.json b/public/language/ar/admin/appearance/customise.json index 1077df0c90..7c1e9a2676 100644 --- a/public/language/ar/admin/appearance/customise.json +++ b/public/language/ar/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "تفعيل الترويسة المخصصة", "custom-css.livereload": "تفعيل إعادة التحميل المباشرة", - "custom-css.livereload.description": "فعل هذا الخيار لإجبار جميع الجلسات في الأجهزة التي قمت بتسجيل الدخول فيها بحسابك على التحديث عند النقر على زر الحفظ" + "custom-css.livereload.description": "فعل هذا الخيار لإجبار جميع الجلسات في الأجهزة التي قمت بتسجيل الدخول فيها بحسابك على التحديث عند النقر على زر الحفظ", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/ar/admin/appearance/skins.json b/public/language/ar/admin/appearance/skins.json index 7c97d46cc6..c4fd4ebe60 100644 --- a/public/language/ar/admin/appearance/skins.json +++ b/public/language/ar/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "جاري تحميل السمات...", "homepage": "الصفحة الرئيسية", "select-skin": "إختيار السمة", + "revert-skin": "Revert Skin", "current-skin": "السمة الحالية", "skin-updated": "تم تحديث السمة", "applied-success": "تم تطبيق السمة %1 بنجاح", diff --git a/public/language/ar/admin/appearance/themes.json b/public/language/ar/admin/appearance/themes.json index f410317c25..c7da9b4f5e 100644 --- a/public/language/ar/admin/appearance/themes.json +++ b/public/language/ar/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "جاري التحقق من القوالب المثبتة...", "homepage": "الصفحة الرئيسية", "select-theme": "إختيار القالب", + "revert-theme": "Revert Theme", "current-theme": "القالب المستخدم حالياً", "no-themes": "لم يتم العثور على قوالب مثبتة", "revert-confirm": "هل أنت متأكد من أنك ترغب في استعادة قااب NodeBB الافتراضي؟", diff --git a/public/language/ar/admin/dashboard.json b/public/language/ar/admin/dashboard.json index 5673e9598a..29970f33c1 100644 --- a/public/language/ar/admin/dashboard.json +++ b/public/language/ar/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "تحديثات", "running-version": "المنتدى يعمل حاليا على NodeBB الإصدار%1.", "keep-updated": "تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.", - "up-to-date": "

المنتدى يعمل على أحدث إصدار

", - "upgrade-available": "

هناك إصدار جديد برقم (v%1). خذ بعين الاعتبار ترقية NodeBB .

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

هذا إصدار منتهي من الاصدارات المسبقة من NodeBB. هناك إصدار جديد برقم (v٪ 1). ضع في اعتبارك ترقية NodeBB إليه.

", - "prerelease-warning": "

هذه نسخة ماقبل الإصدار من NodeBB. قد تحدث أخطاء غير مقصودة.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "مرسل البريد الإلكتروني الاحتياطي غير موجود!", - "running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.", - "latest-lookup-failed": "

فشل البحث عن أحدث إصدار متوفر من NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "إشعارات", "restart-not-required": "إعادة التشغيل غير مطلوب", diff --git a/public/language/ar/admin/development/logger.json b/public/language/ar/admin/development/logger.json index 3a1fcbd0a5..a17bbd53e8 100644 --- a/public/language/ar/admin/development/logger.json +++ b/public/language/ar/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "إعدادات المسجِّل", "description": "من خلال تمكين مربعات الاختيار ، ستتلقى سجلات إلى جهازك الطرفي. إذا حددت مسارًا ، فسيتم بعد ذلك حفظ السجلات في ملف بدلاً من ذلك. يعد تسجيل HTTP مفيدًا لجمع الإحصائيات حول من ومتى وماذا يصل الأشخاص في المنتدى. بالإضافة إلى تسجيل طلبات HTTP ، يمكننا أيضًا تسجيل أحداث socket.io. يمكن أن يكون تسجيل Socket.io ، جنبًا إلى جنب مع شاشة redis-cli ، مفيدًا جدًا في تعلم العناصر الداخلية لـ NodeBB.", "explanation": "ما عليك سوى تحديدأو/ إلغاء تحديد إعدادات التسجيل لتمكين أو تعطيل التسجيل أثناء التنقل. لا حاجة لإعادة التشغيل.", diff --git a/public/language/ar/admin/extend/plugins.json b/public/language/ar/admin/extend/plugins.json index f4aeaf4f3f..a7c687d31a 100644 --- a/public/language/ar/admin/extend/plugins.json +++ b/public/language/ar/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "منصبة", "active": "مفعلة", diff --git a/public/language/ar/admin/extend/rewards.json b/public/language/ar/admin/extend/rewards.json index 6e99c53dbe..e0744422ad 100644 --- a/public/language/ar/admin/extend/rewards.json +++ b/public/language/ar/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "المكافآت", + "add-reward": "Add reward", "condition-if-users": "إذا كان للمستخدم", "condition-is": "يكون: ", "condition-then": "عندئذ:", "max-claims": "عدد المرات التي يمكن فيها المطالبة بالمكافأة", "zero-infinite": "أدخل 0 للقيمة اللانهائية", + "select-reward": "Select reward", "delete": "احذف", "enable": "مكّن", "disable": "عطّل", diff --git a/public/language/ar/admin/extend/widgets.json b/public/language/ar/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/ar/admin/extend/widgets.json +++ b/public/language/ar/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/ar/admin/manage/admins-mods.json b/public/language/ar/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/ar/admin/manage/admins-mods.json +++ b/public/language/ar/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/ar/admin/manage/categories.json b/public/language/ar/admin/manage/categories.json index 9139872a6d..2f371d2292 100644 --- a/public/language/ar/admin/manage/categories.json +++ b/public/language/ar/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "اعدادات القسم", + "edit-category": "Edit Category", "privileges": "الصلاحيات", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/ar/admin/manage/groups.json b/public/language/ar/admin/manage/groups.json index e6151624a2..d40d0db526 100644 --- a/public/language/ar/admin/manage/groups.json +++ b/public/language/ar/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "اسم المجموعة", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/ar/admin/manage/privileges.json b/public/language/ar/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/ar/admin/manage/privileges.json +++ b/public/language/ar/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/ar/admin/manage/tags.json b/public/language/ar/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/ar/admin/manage/tags.json +++ b/public/language/ar/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/ar/admin/manage/uploads.json b/public/language/ar/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/ar/admin/manage/uploads.json +++ b/public/language/ar/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/ar/admin/manage/users.json b/public/language/ar/admin/manage/users.json index 8f948a8f96..33df2dcad5 100644 --- a/public/language/ar/admin/manage/users.json +++ b/public/language/ar/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "المستخدمين", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/ar/admin/menu.json b/public/language/ar/admin/menu.json index 028ee61cef..1b091099bf 100644 --- a/public/language/ar/admin/menu.json +++ b/public/language/ar/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/ar/admin/settings/api.json b/public/language/ar/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/ar/admin/settings/api.json +++ b/public/language/ar/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/ar/admin/settings/general.json b/public/language/ar/admin/settings/general.json index 4584dc9c3e..ae049f630f 100644 --- a/public/language/ar/admin/settings/general.json +++ b/public/language/ar/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "اعدادات الموقع", "title": "عنوان الموقع", "title.short": "عنوان قصير", "title.short-placeholder": "ان لم تقم بكتابة عنوان مختصر, سيتم استخدام عنوان الموقع الكلي", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "اسم المنتدي", "title.show-in-header": "Show Site Title in Header", "browser-title": "عنوان المتصفح", @@ -16,7 +18,7 @@ "description": "وصف الموقع", "keywords": "الكلمات الدليله للموقع", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "شعار الموقع", + "logo-and-icons": "Site Logo & Icons", "logo.image": "صورة", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "رفع", diff --git a/public/language/ar/admin/settings/guest.json b/public/language/ar/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/ar/admin/settings/guest.json +++ b/public/language/ar/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/ar/admin/settings/navigation.json b/public/language/ar/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/ar/admin/settings/navigation.json +++ b/public/language/ar/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/ar/admin/settings/post.json b/public/language/ar/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/ar/admin/settings/post.json +++ b/public/language/ar/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/ar/admin/settings/reputation.json b/public/language/ar/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/ar/admin/settings/reputation.json +++ b/public/language/ar/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/ar/admin/settings/social.json b/public/language/ar/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/ar/admin/settings/social.json +++ b/public/language/ar/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/ar/admin/settings/tags.json b/public/language/ar/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/ar/admin/settings/tags.json +++ b/public/language/ar/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/ar/admin/settings/user.json b/public/language/ar/admin/settings/user.json index 6fa1337000..eec5a2d289 100644 --- a/public/language/ar/admin/settings/user.json +++ b/public/language/ar/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "الحد الأعلى من الأحرف في حقل \"عني\"", "terms-of-use": "شروط استخدام المنتدى (تترك فارغة لتعطيلها)", "user-search": "بحث الأعضاء", - "user-search-results-per-page": "عدد النتائج المراد عرضها", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "إعدادات الأعضاء الافتراضية", "show-email": "عرض البريد الإلكتروني", "show-fullname": "عرض الاسم الكامل", diff --git a/public/language/ar/error.json b/public/language/ar/error.json index 38cd0a8b7c..5006890609 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.", "confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "اسم المستخدم قصير.", diff --git a/public/language/ar/global.json b/public/language/ar/global.json index 2eb1f69a8a..e6ebcd7b45 100644 --- a/public/language/ar/global.json +++ b/public/language/ar/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "تم سجيل الدخول بنجاح", "save_changes": "حفظ التغييرات", "save": "حفظ", + "create": "Create", "cancel": "Cancel", "close": "أغلق", "pagination": "الصفحات", diff --git a/public/language/ar/modules.json b/public/language/ar/modules.json index 79049a59b5..3a30828fbf 100644 --- a/public/language/ar/modules.json +++ b/public/language/ar/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/ar/pages.json b/public/language/ar/pages.json index 9ef026bec3..37f507800d 100644 --- a/public/language/ar/pages.json +++ b/public/language/ar/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "اﻷعضاء المتصلون", "users/latest": "أحدث اﻷعضاء", "users/sort-posts": "الأعضاء الأكثر نشاطاً", diff --git a/public/language/ar/themes/harmony.json b/public/language/ar/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/ar/themes/harmony.json +++ b/public/language/ar/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/ar/topic.json b/public/language/ar/topic.json index 727bc49107..7ec59eaff4 100644 --- a/public/language/ar/topic.json +++ b/public/language/ar/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "الرد على %1", "composer.new_topic": "موضوع جديد", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "جاري الرفع", "composer.thumb_url_label": "ألصق رابط الصورة المصغرة للموضوع", "composer.thumb_title": "إضافة صورة مصغرة للموضوع", diff --git a/public/language/ar/user.json b/public/language/ar/user.json index bf39948bc2..946dff3958 100644 --- a/public/language/ar/user.json +++ b/public/language/ar/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "لا يوجد عنوان للمجموعة", "select-skin": "إختر سمة", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "إختر الصفحة الرئيسية", "homepage": "الصفحة الرئيسية", "homepage_description": "حدد صفحة لاستخدامها كصفحة رئيسية للمنتدى أو \"لا شيء\" لاستخدام الصفحة الرئيسية الافتراضية.", diff --git a/public/language/ar/users.json b/public/language/ar/users.json index efcd542e4f..f4a3b1724b 100644 --- a/public/language/ar/users.json +++ b/public/language/ar/users.json @@ -6,7 +6,7 @@ "most_flags": "معظم الأعلام", "search": "بحث", "enter_username": "أدخل اسم مستخدم للبحث", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "حمل المزيد", "users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.", "filter-by": "تصفية بحسب", diff --git a/public/language/bg/admin/admin.json b/public/language/bg/admin/admin.json index f77852363e..eebf1de05c 100644 --- a/public/language/bg/admin/admin.json +++ b/public/language/bg/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Контролен панел за администратори на NodeBB", "settings-header-contents": "Съдържание", + "changes-saved": "Промените са запазени", + "changes-saved-message": "Промените Ви в настройките на NodeBB бяха запазени.", "changes-not-saved": "Промените не са запазени", - "changes-not-saved-message": "Възникна проблем при запазването на промените Ви по NodeBB. (%1)" + "changes-not-saved-message": "Възникна проблем при запазването на промените Ви по NodeBB. (%1)", + "save-changes": "Запазване на промените", + "min": "Мин.:", + "max": "Макс.:", + "view": "Преглед", + "edit": "Редактиране" } \ No newline at end of file diff --git a/public/language/bg/admin/advanced/cache.json b/public/language/bg/admin/advanced/cache.json index d4627e3e30..1d8c090be7 100644 --- a/public/language/bg/admin/advanced/cache.json +++ b/public/language/bg/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Кеш", "post-cache": "Кеш за публикации", "group-cache": "Кеш за групи", "local-cache": "Локален кеш", diff --git a/public/language/bg/admin/advanced/database.json b/public/language/bg/admin/advanced/database.json index 12c75258d5..fa7ce81e4d 100644 --- a/public/language/bg/admin/advanced/database.json +++ b/public/language/bg/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Активно време в секунди", "uptime-days": "Активно време в дни", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Версия на MongoDB", "mongo.storage-engine": "Система за съхранение", "mongo.collections": "Колекции", diff --git a/public/language/bg/admin/advanced/errors.json b/public/language/bg/admin/advanced/errors.json index 42a05713fa..80e5705611 100644 --- a/public/language/bg/admin/advanced/errors.json +++ b/public/language/bg/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Грешки", "figure-x": "Фигура %1", "error-events-per-day": "%1 събития на ден", "error.404": "Страницата не е намерена (Грешка 404)", diff --git a/public/language/bg/admin/appearance/customise.json b/public/language/bg/admin/appearance/customise.json index 7c1956c57c..67cd5407c3 100644 --- a/public/language/bg/admin/appearance/customise.json +++ b/public/language/bg/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Персонализиране", "custom-css": "Персонализиран CSS/SASS", "custom-css.description": "Въведете своите собствени декларации на CSS/SASS. Те ще бъдат приложени след всички останали стилове.", "custom-css.enable": "Включване на персонализиран CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Включване на персонализирана заглавна част", "custom-css.livereload": "Включване на моменталното презареждане", - "custom-css.livereload.description": "Ако включите това, всички сесии на всяко устройство, където използвате акаунта си, ще се презареждат, когато натискате „Запазване“." + "custom-css.livereload.description": "Ако включите това, всички сесии на всяко устройство, където използвате акаунта си, ще се презареждат, когато натискате „Запазване“.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Тук може да промените променливите на bootstrap. Можете също да използвате и инструмент като bootstrap.build и да копирате резултата от него тук.
Промените изискват повторно изграждане и рестартиране.", + "bsvariables.enable": "Включване на _variables.scss" } \ No newline at end of file diff --git a/public/language/bg/admin/appearance/skins.json b/public/language/bg/admin/appearance/skins.json index a151ad7280..bf7acea3a6 100644 --- a/public/language/bg/admin/appearance/skins.json +++ b/public/language/bg/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Облици", + "bootswatch-skins": "Облици от Bootswatch", + "custom-skins": "Персонализирани облици", + "add-skin": "Добавяне на облик", + "save-custom-skins": "Запазване на персонализираните облици", + "save-custom-skins-success": "Персонализираните облици са запазени успешно", + "custom-skin-name": "Име на персонализирания облик", + "custom-skin-variables": "Променливи на персонализирания облик", "loading": "Зареждане на облиците…", "homepage": "Начална страница", "select-skin": "Изберете облик", + "revert-skin": "Отмяна на облика", "current-skin": "Текущ облик", "skin-updated": "Обликът е променен", "applied-success": "Обликът „%1“ беше успешно приложен", diff --git a/public/language/bg/admin/appearance/themes.json b/public/language/bg/admin/appearance/themes.json index bd3f35ebce..9c630b3d8c 100644 --- a/public/language/bg/admin/appearance/themes.json +++ b/public/language/bg/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Теми", "checking-for-installed": "Проверяване за инсталирани теми…", "homepage": "Начална страница", "select-theme": "Изберете тема", + "revert-theme": "Отмяна на темата", "current-theme": "Текуща тема", "no-themes": "Няма намерени инсталирани теми", "revert-confirm": "Наистина ли искате да възстановите стандартната тема на NodeBB?", diff --git a/public/language/bg/admin/dashboard.json b/public/language/bg/admin/dashboard.json index 42f8c16d07..c0c76cf473 100644 --- a/public/language/bg/admin/dashboard.json +++ b/public/language/bg/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Обновления", "running-version": "Вие използвате NodeBB версия %1.", "keep-updated": "Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.", - "up-to-date": "

Вие използвате най-новата версия

", - "upgrade-available": "

Има нова версия (версия %1). Ако имате възможност, обновете NodeBB.

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

Това е остаряла предварителна версия на NodeBB. Има нова версия (версия %1). Ако имате възможност, обновете NodeBB.

", - "prerelease-warning": "

Това е версия за предварителен преглед на NodeBB. Възможно е да има неочаквани неизправности.

", + "up-to-date": "Вие използвате най-новата версия ", + "upgrade-available": "Има нова версия (%1). Ако имате възможност, обновете NodeBB.", + "prerelease-upgrade-available": "Това е остаряла предварителна версия на NodeBB. Има нова версия (%1). Ако имате възможност, обновете NodeBB.", + "prerelease-warning": "Това е предварителна версия на NodeBB. Възможно е да има неочаквани неизправности. ", "fallback-emailer-not-found": "Не е намерен резервен изпращач на е-поща", - "running-in-development": "Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.", - "latest-lookup-failed": "

Не може да бъде извършена проверка за последната налична версия на NodeBB

", + "running-in-development": "Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.", + "latest-lookup-failed": "Не може да бъде извършена проверка за последната налична версия на NodeBB", "notices": "Забележки", "restart-not-required": "Не се изисква рестартиране", diff --git a/public/language/bg/admin/development/logger.json b/public/language/bg/admin/development/logger.json index 26550c056a..bc06e70d6a 100644 --- a/public/language/bg/admin/development/logger.json +++ b/public/language/bg/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Журнал", "logger-settings": "Настройки на журнала", "description": "Ако поставите отметки тук, Вие ще виждате журнала в терминала си. Ако посочите пътечка, то вместо това журналите ще бъдат записвани във файл. Журналът чрез HTTP е удобен за получаване на статистика за това кога, кои и какви хора посещават форума Ви. В допълнение към следенето на заявките чрез HTTP, можем също да следим и събитията на socket.io. Журналът на Socket.io, в комбинация с redis-cli, може да Ви бъде много полезно, ако искате да разучите как работи NodeBB.", "explanation": "За да включите или изключите журналите в реално време, просто поставете или премахнете отметките в настройките на журнала. Няма нужда от рестартиране.", diff --git a/public/language/bg/admin/extend/plugins.json b/public/language/bg/admin/extend/plugins.json index 2fe0b019e1..a01ec486a2 100644 --- a/public/language/bg/admin/extend/plugins.json +++ b/public/language/bg/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Добавки", "trending": "Популярни", "installed": "Инсталирани", "active": "Включени", diff --git a/public/language/bg/admin/extend/rewards.json b/public/language/bg/admin/extend/rewards.json index d8860e3193..9aa61f8d14 100644 --- a/public/language/bg/admin/extend/rewards.json +++ b/public/language/bg/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Награди", + "add-reward": "Добавяне на награда", "condition-if-users": "Ако потребителският(ата/ото)", "condition-is": "Е:", "condition-then": "Тогава:", "max-claims": "Колко пъти може да бъде получавана наградата", "zero-infinite": "0 = безкраен брой пъти", + "select-reward": "Изберете награда", "delete": "Изтриване", "enable": "Включване", "disable": "Изключване", diff --git a/public/language/bg/admin/extend/widgets.json b/public/language/bg/admin/extend/widgets.json index 83b6e32efc..0068ab288c 100644 --- a/public/language/bg/admin/extend/widgets.json +++ b/public/language/bg/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Джаджи", "available": "Налични джаджи", "explanation": "Изберете джаджа от падащото меню, а след това я завлачете и пуснете в областта за джаджи в някой от шаблоните вляво.", "none-installed": "Няма намерени джаджи! Включете добавката с основните джаджи в контролния панел за добавките.", diff --git a/public/language/bg/admin/manage/admins-mods.json b/public/language/bg/admin/manage/admins-mods.json index 80fb8c944c..37ead899a2 100644 --- a/public/language/bg/admin/manage/admins-mods.json +++ b/public/language/bg/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Управление на администраторите и модераторите", "administrators": "Администратори", "global-moderators": "Глобални модератори", "moderators": "Модератори", "no-global-moderators": "Няма глобални модератори", "no-sub-categories": "Няма подкатегории", - "subcategories": "%1 подкатегории", + "view-children": "Преглед на подкатегориите (%1)", "no-moderators": "Няма модератори", "add-administrator": "Добавяне на администратор", "add-global-moderator": "Добавяне на глобален модератор", diff --git a/public/language/bg/admin/manage/categories.json b/public/language/bg/admin/manage/categories.json index a024272dc9..1afecd591e 100644 --- a/public/language/bg/admin/manage/categories.json +++ b/public/language/bg/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Управление на категориите", + "add-category": "Добавяне на категория", + "jump-to": "Прехвърляне към…", "settings": "Настройки на категорията", + "edit-category": "Редактиране на категорията", "privileges": "Правомощия", - + "back-to-categories": "Назад към категориите", "name": "Име на категорията", "description": "Описание на категорията", "bg-color": "Цвят на фона", @@ -15,8 +19,11 @@ "post-queue": "Опашка за публикации", "tag-whitelist": "Списък от разрешени етикети", "upload-image": "Качване на изображение", + "upload": "Качване", + "select-icon": "Изберете иконка", "delete-image": "Премахване", "category-image": "Изображение на категорията", + "image-and-icon": "Изображение и иконка", "parent-category": "Базова категория", "optional-parent-category": "(Незадължително) Базова категория", "top-level": "Най-горно ниво", @@ -31,6 +38,7 @@ "disable": "Изключване", "edit": "Редактиране", "analytics": "Анализи", + "view-category": "Преглед на категорията", "set-order": "Запазване на реда", "set-order-help": "Задаването на позиция за категорията ще я премести на желаното място и ще промени местата на другите категории, ако е необходимо. Най-малкият възможен номер е 1, което ще постави категорията най-отгоре.", diff --git a/public/language/bg/admin/manage/groups.json b/public/language/bg/admin/manage/groups.json index 0e6bac8a82..b72af60f1d 100644 --- a/public/language/bg/admin/manage/groups.json +++ b/public/language/bg/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Управление на групите", + "add-group": "Добавяне на група", + "edit-group": "Редактиране на групата", + "back-to-groups": "Назад към групите", + "view-group": "Преглед на групата", + "icon-and-title": "Иконка и заглавие", "name": "Име на групата", "badge": "Емблема", "properties": "Свойства", @@ -10,7 +16,7 @@ "edit": "Редактиране", "delete": "Изтриване", "privileges": "Правомощия", - "download-csv": "CSV", + "members-csv": "Членове (CSV)", "search-placeholder": "Търсене", "create": "Създаване на група", "description-placeholder": "Кратко описание на групата", diff --git a/public/language/bg/admin/manage/privileges.json b/public/language/bg/admin/manage/privileges.json index bdebd7aab5..b32c81b302 100644 --- a/public/language/bg/admin/manage/privileges.json +++ b/public/language/bg/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Управление на правомощията", + "discard-changes": "Отхвърляне на промените", "global": "Глобални", "admin": "Администратор", "group-privileges": "Правомощия за групите", diff --git a/public/language/bg/admin/manage/tags.json b/public/language/bg/admin/manage/tags.json index 901707a7da..d21138f5c6 100644 --- a/public/language/bg/admin/manage/tags.json +++ b/public/language/bg/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Управление на етикетите", "none": "Форумът все още няма теми с етикети.", "bg-color": "Цвят на фона", "text-color": "Цвят на текста", "description": "Изберете етикетите чрез щракване или влачене. Използвайте CTRL, за да изберете няколко етикета.", "create": "Създаване на етикет", + "add-tag": "Добавяне на етикет", "modify": "Редактиране на етикети", "rename": "Преименуване на етикети", "delete": "Изтриване на избраните етикети", diff --git a/public/language/bg/admin/manage/uploads.json b/public/language/bg/admin/manage/uploads.json index 215dc231ff..da8f233b61 100644 --- a/public/language/bg/admin/manage/uploads.json +++ b/public/language/bg/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Управление на качванията", "upload-file": "Качване на файл", "filename": "Име на файла", "usage": "Използване в публикации", diff --git a/public/language/bg/admin/manage/users.json b/public/language/bg/admin/manage/users.json index 20f9525466..bd7b12a61f 100644 --- a/public/language/bg/admin/manage/users.json +++ b/public/language/bg/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Управление на потребителите", "users": "Потребители", "edit": "Действия", "make-admin": "Даване на администраторски права", @@ -49,6 +50,10 @@ "users.username": "потребителско име", "users.email": "е-поща", "users.no-email": "(няма е-поща)", + "users.validated": "Потвърдена", + "users.not-validated": "Непотвърдена", + "users.validation-pending": "Очаква потвърждение", + "users.validation-expired": "Изтекла давност на потвърждението", "users.ip": "IP адрес", "users.postcount": "брой публикации", "users.reputation": "репутация", diff --git a/public/language/bg/admin/menu.json b/public/language/bg/admin/menu.json index e5fb3489cb..f777ef8105 100644 --- a/public/language/bg/admin/menu.json +++ b/public/language/bg/admin/menu.json @@ -68,11 +68,13 @@ "advanced/logs": "Журнали", "advanced/errors": "Грешки", "advanced/cache": "Кеш", - "development/logger": "Система на журнала", + "development/logger": "Журнал", "development/info": "Информация", "rebuild-and-restart-forum": "Повторно изграждане и рестартиране на форума", + "rebuild-and-restart": "Повторно изграждане и рестартиране", "restart-forum": "Рестартиране на форума", + "restart": "Рестартиране", "logout": "Изход", "view-forum": "Преглед на форума", diff --git a/public/language/bg/admin/settings/api.json b/public/language/bg/admin/settings/api.json index 18a8783df4..f4511492c1 100644 --- a/public/language/bg/admin/settings/api.json +++ b/public/language/bg/admin/settings/api.json @@ -1,19 +1,29 @@ { - "tokens": "Кодове", + "tokens": "Идентификатор", "settings": "Настройки", "lead-text": "На тази страница можете да настроите достъпа до ППИ за писане в NodeBB.", - "intro": "По подразбиране ППИ за писане удостоверява потребителите чрез бисквитката им за сесията, но NodeBB поддържа и удостоверяване чрез метода „Bearer“, използвайки кодовете от тази страница.", + "intro": "По подразбиране ППИ за писане удостоверява потребителите чрез бисквитката им за сесията, но NodeBB поддържа и удостоверяване чрез метода „Bearer“, използвайки идентификаторите от тази страница.", + "warning": "Внимавайте – отнасяйте се с идентификаторите като с пароли. Ако някой се сдобие с тях, може да получи достъп до акаунта Ви.", "docs": "Щракнете тук за достъп до пълната документация на ППИ", "require-https": "Ползването на ППИ да работи само чрез HTTPS", "require-https-caveat": "Забележка: В някои случаи, когато се ползват програми за балансиране на натоварването, е възможно заявките към NodeBB да се препращат чрез HTTP – тогава тази настройка трябва да остане изключена.", "uid": "Потребителски ИД", + "token": "Идентификатор", "uid-help-text": "Посочете потребителски ИД, който да бъде свързан с този код. Ако ИД е 0, това ще се счита за главен код, който може да приема идентичността на всеки от другите потребители чрез параметъра _uid", "description": "Описание", - "last-seen-ago": "Последно използван .", - "last-seen-on": "Последно използван на .", + "last-seen": "Последно видян", + "created": "Създаден", + "create-token": "Създаване на идентификатор", + "update-token": "Промяна на идентификатора", + "master-token": "Главен идентификатор", "last-seen-never": "Този ключ не е използван никога.", "no-description": "Няма описание.", - "token-on-save": "Кодът ще бъде създаден след като данните бъдат запазени" + "actions": "Действия", + "edit": "Редактиране", + "roll": "Пресъздаване", + + "delete-confirm": "Наистина ли искате да изтриете този идентификатор? След това няма да може да го възстановите.", + "roll-confirm": "Наистина ли искате да пресъздадете този идентификатор? Старият ще бъде премахнат незабавно и няма да може да бъде възстановен." } \ No newline at end of file diff --git a/public/language/bg/admin/settings/general.json b/public/language/bg/admin/settings/general.json index f573592a11..8d16a13227 100644 --- a/public/language/bg/admin/settings/general.json +++ b/public/language/bg/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "Общи настройки", + "on-this-page": "На тази страница:", "site-settings": "Настройки на уеб сайта", "title": "Заглавие на уеб сайта", "title.short": "Кратко заглавие", "title.short-placeholder": "Ако не е посочено кратко заглавие, ще бъде използвано заглавието на уеб сайта", "title.url": "Адрес за заглавието", "title.url-placeholder": "Адресът за заглавието на уеб сайта", - "title.url-help": "Когато потребител щракне върху заглавието, той ще бъде прехвърлен към този адрес. Ако е празно, потребителят ще бъде изпратен към началната страница на форума.
Забележка: Това не е външният адрес, който се ползва в е-писмата. Той се задава от свойството url във файла config.json", + "title.url-help": "Когато потребител щракне върху заглавието, той ще бъде прехвърлен към този адрес. Ако е празно, потребителят ще бъде изпратен към началната страница на форума. Забележка: Това не е външният адрес, който се ползва в е-писмата. Той се задава от свойството url във файла config.json.", "title.name": "Името на общността Ви", "title.show-in-header": "Показване на заглавието на уеб сайта в заглавната част", "browser-title": "Заглавие на браузъра", @@ -16,7 +18,7 @@ "description": "Описание на уеб сайта", "keywords": "Ключови думи на уеб сайта", "keywords-placeholder": "Ключови думи, описващи общността Ви. Трябва да бъдат разделени със запетаи.", - "logo": "Лого на уеб сайта", + "logo-and-icons": "Лого и иконки на уеб сайта", "logo.image": "Изображение", "logo.image-placeholder": "Път до логото, което да бъде показано в заглавната част на форума", "logo.upload": "Качване", diff --git a/public/language/bg/admin/settings/guest.json b/public/language/bg/admin/settings/guest.json index d87b6ec60d..32436ebbd7 100644 --- a/public/language/bg/admin/settings/guest.json +++ b/public/language/bg/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Настройки", + "guest-settings": "Настройки за гостите", "handles.enabled": "Позволяване на имената за гостите", "handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.", "topic-views.enabled": "Гостите да допринасят за броя на преглеждания на темите", diff --git a/public/language/bg/admin/settings/navigation.json b/public/language/bg/admin/settings/navigation.json index c95647a92c..88842778bd 100644 --- a/public/language/bg/admin/settings/navigation.json +++ b/public/language/bg/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Навигация", "icon": "Иконка:", "change-icon": "промяна", "route": "Маршрут:", diff --git a/public/language/bg/admin/settings/post.json b/public/language/bg/admin/settings/post.json index d474d24ac8..b031527799 100644 --- a/public/language/bg/admin/settings/post.json +++ b/public/language/bg/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "Общи", "sorting": "Подредба на публикациите", "sorting.post-default": "Подредба по подразбиране на публикациите", "sorting.oldest-to-newest": "Първо най-старите", @@ -23,10 +24,8 @@ "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.title-length": "Дължина на заглавието", + "restrictions.post-length": "Дължина на публикациите", "restrictions.days-until-stale": "Брой дни, след които темата се смята за стара", "restrictions.stale-help": "Ако дадена тема е определена като „стара“, то потребителите, които се опитат да пишат в нея, ще получат предупредително съобщение.", "timestamp": "Време", @@ -41,10 +40,9 @@ "teaser.last-reply": "Последната – Показване на последния отговор, или „Няма отговори“, ако все още няма такива.", "teaser.first": "Първата", "showPostPreviewsOnHover": "Показване на кратък преглед на публикациите при посочване с мишката", - "unread": "Настройки за непрочетените", + "unread-and-recent": "Настройки за скорошните и непрочетените", "unread.cutoff": "Възраст на публикациите, след която те не се показват в непрочетените (в брой дни)", "unread.min-track-last": "Минимален брой публикации в темата, след което да започва следене на последно прочетената", - "recent": "Настройки за скорошните", "recent.max-topics": "Максимален брой теми в скорошните", "recent.categoryFilter.disable": "Изключване на филтрирането на темите в пренебрегваните категории на страницата /recent", "signature": "Настройки за подписите", diff --git a/public/language/bg/admin/settings/social.json b/public/language/bg/admin/settings/social.json index e090d929dc..ab747b1c51 100644 --- a/public/language/bg/admin/settings/social.json +++ b/public/language/bg/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Споделяне на публикации", - "info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации.", - "save-success": "Мрежите за споделяне на публикации са запазени успешно!" + "info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации." } \ No newline at end of file diff --git a/public/language/bg/admin/settings/tags.json b/public/language/bg/admin/settings/tags.json index bcbbea49e8..7a82dd2b92 100644 --- a/public/language/bg/admin/settings/tags.json +++ b/public/language/bg/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Управление на етикетите", "system-tags": "Системни етикети", "system-tags-help": "Само потребителите с по-високи правомощия ще могат да използват тези етикети.", + "tags-per-topic": "Брой етикети за тема", "min-per-topic": "Минимален брой етикети за тема", "max-per-topic": "Максимален брой етикети за тема", "min-length": "Минимална дължина на етикетите", diff --git a/public/language/bg/admin/settings/user.json b/public/language/bg/admin/settings/user.json index 9c868b99bb..5de68540c5 100644 --- a/public/language/bg/admin/settings/user.json +++ b/public/language/bg/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Максимална дължина на информацията на потребителите за себе си", "terms-of-use": "Условия за ползване на форума (Оставете празно и няма да има такива)", "user-search": "Търсене на потребители", - "user-search-results-per-page": "Брой резултати, които да бъдат показвани", + "user-search-results-per-page": "Брой потребители, които да бъдат показвани в резултатите от търсене", "default-user-settings": "Настройки по подразбиране на потребителите", "show-email": "Показване на е-пощата", "show-fullname": "Показване на пълното име", diff --git a/public/language/bg/error.json b/public/language/bg/error.json index d1a6624f86..779b067093 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Потребителят „%1“ няма зададена е-поща.", "email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.", "confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.", + "confirm-email-expired": "Е-писмото за потвърждение е с изтекла давност", "sendmail-not-found": "Изпълнимият файл на „sendmail“ не може да бъде намерен. Моля, уверете се, че е инсталиран и изпълним за потребителя, чрез който е пуснат NodeBB.", "digest-not-enabled": "Този потребител няма включени резюмета, или системната настройка по подразбиране е да не се изпращат резюмета", "username-too-short": "Потребителското име е твърде кратко", @@ -219,7 +220,7 @@ "topic-event-unrecognized": "Събитието „%1“ на темата е неизвестно", "cant-set-child-as-parent": "Дъщерна категория не може да се зададе като базова такава", "cant-set-self-as-parent": "Категорията не може да се зададе като базова категория на себе си", - "api.master-token-no-uid": "Беше получен главен код без съответстващо поле `_uid` в тялото на заявката", + "api.master-token-no-uid": "Беше получен главен идентификатор без съответстващо поле `_uid` в тялото на заявката", "api.400": "Нещо не беше наред с данните в заявката, които подадохте.", "api.401": "Няма намерена сесия. Моля, впишете се и опитайте отново.", "api.403": "Нямате право да изпълните тази команда", diff --git a/public/language/bg/global.json b/public/language/bg/global.json index 1db6a4d522..0efa6c2100 100644 --- a/public/language/bg/global.json +++ b/public/language/bg/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Вие влязохте успешно", "save_changes": "Запазване на промените", "save": "Запазване", + "create": "Създаване", "cancel": "Отказ", "close": "Затваряне", "pagination": "Странициране", diff --git a/public/language/bg/modules.json b/public/language/bg/modules.json index c590076221..83cd1dd6af 100644 --- a/public/language/bg/modules.json +++ b/public/language/bg/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Разговор с", "chat.placeholder": "Въведете съобщение тук или пуснете снимки и натиснете Ентер за изпращане", "chat.placeholder.mobile": "Въведете съобщение тук", - "chat.scroll-up-alert": "В момента разглеждате по-стари съобщения. Щракнете тук, за да се прехвърлите към най-новото съобщение.", + "chat.scroll-up-alert": "Към последните съобщения", "chat.usernames-and-x-others": "%1 и %2 други", "chat.chat-with-usernames": "Разговор с %1", "chat.chat-with-usernames-and-x-others": "Разговор с %1 и %2 други", diff --git a/public/language/bg/pages.json b/public/language/bg/pages.json index 464e370590..fff997d182 100644 --- a/public/language/bg/pages.json +++ b/public/language/bg/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Докладвано съдържание", "ip-blacklist": "Черен списък за IP адреси", "post-queue": "Опашка за публикации", + "registration-queue": "Регистрационна опашка", "users/online": "Потребители на линия", "users/latest": "Последни потребители", "users/sort-posts": "Потребители с най-много публикации", diff --git a/public/language/bg/themes/harmony.json b/public/language/bg/themes/harmony.json index 57e2def8d3..2987104697 100644 --- a/public/language/bg/themes/harmony.json +++ b/public/language/bg/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", - "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "theme-name": "Тема на Harmony", + "skins": "Облици", + "collapse": "Свиване", + "expand": "Разгъване", + "login-register-to-search": "Впишете се или се регистрирайте, за да можете да търсите.", + "settings.title": "Настройки на темата", + "settings.enableQuickReply": "Включване на бързите отговори", + "settings.centerHeaderElements": "Центриране на заглавните елементи", + "settings.mobileTopicTeasers": "Показване на резюмета на темите на мобилни устройства", + "settings.stickyToolbar": "Статична лента с инструменти", + "settings.stickyToolbar.help": "Лентата с инструменти в страниците с теми и категории ще стои винаги в горния край на страницата", + "settings.autohideBottombar": "Автоматично скриване на долната лента", + "settings.autohideBottombar.help": "В изгледа за мобилни устройства долната лента ще се скрива, когато страницата се превърта надолу", + "settings.chatModals": "Включване на прозорците за разговори" } \ No newline at end of file diff --git a/public/language/bg/themes/persona.json b/public/language/bg/themes/persona.json index e7d1945303..1be29b0ef1 100644 --- a/public/language/bg/themes/persona.json +++ b/public/language/bg/themes/persona.json @@ -1,10 +1,10 @@ { - "settings.title": "Theme settings", - "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", - "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", - "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", - "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", - "settings.autoHidingNavbar-md": "Medium sized screens (e.g. tablets in landscape mode)", - "settings.autoHidingNavbar-lg": "Larger screens (e.g. desktop computers)" + "settings.title": "Настройки на темата", + "settings.intro": "Тук може да промените настройките на темата. Тези настройки се съхраняват отделно на всяко устройство, така че може да имате различни настройки на различните си устройства (телефон, таблет, настолен компютър и т.н.)", + "settings.mobile-menu-side": "Превключване на страната, от която да бъде всяко меню на мобилно устройство", + "settings.autoHidingNavbar": "Автоматично скриване на навигационната лента при превъртане", + "settings.autoHidingNavbar-xs": "Много малки екрани (напр. телефон в портретна ориентация)", + "settings.autoHidingNavbar-sm": "По-малки екрани (напр. телефони, някои таблети)", + "settings.autoHidingNavbar-md": "Средно големи екрани (напр. таблети в пейзажна ориентация)", + "settings.autoHidingNavbar-lg": "По-големи екрани (напр. лаптопи и настолни компютри)" } \ No newline at end of file diff --git a/public/language/bg/topic.json b/public/language/bg/topic.json index 49356e5bd4..70f8d1e8f3 100644 --- a/public/language/bg/topic.json +++ b/public/language/bg/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Насрочване", "composer.replying_to": "Отговор на %1", "composer.new_topic": "Нова тема", - "composer.editing": "Редактиране", + "composer.editing-in": "Редактиране на публикация в %1", "composer.uploading": "качване...", "composer.thumb_url_label": "Поставете адреса на иконка за темата", "composer.thumb_title": "Добавете иконка към тази тема", diff --git a/public/language/bg/user.json b/public/language/bg/user.json index 3ac0576fa2..b17ec5cf02 100644 --- a/public/language/bg/user.json +++ b/public/language/bg/user.json @@ -141,6 +141,8 @@ "group-order-help": "Изберете група и използвайте стрелките, за да пренаредите заглавията", "no-group-title": "Няма заглавие на група", "select-skin": "Изберете облик", + "default": "По подразбиране (%1)", + "no-skin": "Без облик", "select-homepage": "Изберете начална страница", "homepage": "Начална страница", "homepage_description": "Изберете страница, която да използвате като начална за форума, или „Нищо“, за да използвате тази по подразбиране.", diff --git a/public/language/bg/users.json b/public/language/bg/users.json index 5702b2a657..d51834cf1d 100644 --- a/public/language/bg/users.json +++ b/public/language/bg/users.json @@ -6,7 +6,7 @@ "most_flags": "С най-много доклади", "search": "Търсене", "enter_username": "Въведете потребителско име, което да потърсите", - "search-user-for-chat": "Потърсете потребител, с когото да започнете разговор:", + "search-user-for-chat": "Потърсете потребител, с когото да започнете разговор", "load_more": "Зареждане на още", "users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.", "filter-by": "Филтриране", diff --git a/public/language/bn/admin/admin.json b/public/language/bn/admin/admin.json index a090599e79..a909f03faa 100644 --- a/public/language/bn/admin/admin.json +++ b/public/language/bn/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB এডমিন কন্ট্রোল প্যানেল", "settings-header-contents": "কনটেন্টস", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/bn/admin/advanced/cache.json b/public/language/bn/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/bn/admin/advanced/cache.json +++ b/public/language/bn/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/bn/admin/advanced/database.json b/public/language/bn/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/bn/admin/advanced/database.json +++ b/public/language/bn/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/bn/admin/advanced/errors.json b/public/language/bn/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/bn/admin/advanced/errors.json +++ b/public/language/bn/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/bn/admin/appearance/customise.json b/public/language/bn/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/bn/admin/appearance/customise.json +++ b/public/language/bn/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/bn/admin/appearance/skins.json b/public/language/bn/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/bn/admin/appearance/skins.json +++ b/public/language/bn/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/bn/admin/appearance/themes.json b/public/language/bn/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/bn/admin/appearance/themes.json +++ b/public/language/bn/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/bn/admin/dashboard.json b/public/language/bn/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/bn/admin/dashboard.json +++ b/public/language/bn/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/bn/admin/development/logger.json b/public/language/bn/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/bn/admin/development/logger.json +++ b/public/language/bn/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/bn/admin/extend/plugins.json b/public/language/bn/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/bn/admin/extend/plugins.json +++ b/public/language/bn/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/bn/admin/extend/rewards.json b/public/language/bn/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/bn/admin/extend/rewards.json +++ b/public/language/bn/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/bn/admin/extend/widgets.json b/public/language/bn/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/bn/admin/extend/widgets.json +++ b/public/language/bn/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/bn/admin/manage/admins-mods.json b/public/language/bn/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/bn/admin/manage/admins-mods.json +++ b/public/language/bn/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/bn/admin/manage/categories.json b/public/language/bn/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/bn/admin/manage/categories.json +++ b/public/language/bn/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/bn/admin/manage/groups.json b/public/language/bn/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/bn/admin/manage/groups.json +++ b/public/language/bn/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/bn/admin/manage/privileges.json b/public/language/bn/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/bn/admin/manage/privileges.json +++ b/public/language/bn/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/bn/admin/manage/tags.json b/public/language/bn/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/bn/admin/manage/tags.json +++ b/public/language/bn/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/bn/admin/manage/uploads.json b/public/language/bn/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/bn/admin/manage/uploads.json +++ b/public/language/bn/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/bn/admin/manage/users.json b/public/language/bn/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/bn/admin/manage/users.json +++ b/public/language/bn/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/bn/admin/menu.json b/public/language/bn/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/bn/admin/menu.json +++ b/public/language/bn/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/bn/admin/settings/api.json b/public/language/bn/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/bn/admin/settings/api.json +++ b/public/language/bn/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/bn/admin/settings/general.json b/public/language/bn/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/bn/admin/settings/general.json +++ b/public/language/bn/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/bn/admin/settings/guest.json b/public/language/bn/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/bn/admin/settings/guest.json +++ b/public/language/bn/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/bn/admin/settings/navigation.json b/public/language/bn/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/bn/admin/settings/navigation.json +++ b/public/language/bn/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/bn/admin/settings/post.json b/public/language/bn/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/bn/admin/settings/post.json +++ b/public/language/bn/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/bn/admin/settings/reputation.json b/public/language/bn/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/bn/admin/settings/reputation.json +++ b/public/language/bn/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/bn/admin/settings/social.json b/public/language/bn/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/bn/admin/settings/social.json +++ b/public/language/bn/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/bn/admin/settings/tags.json b/public/language/bn/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/bn/admin/settings/tags.json +++ b/public/language/bn/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/bn/admin/settings/user.json b/public/language/bn/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/bn/admin/settings/user.json +++ b/public/language/bn/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/bn/error.json b/public/language/bn/error.json index e0624cc446..c7d852a2cb 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "খুব ছোট ইউজারনেম", diff --git a/public/language/bn/global.json b/public/language/bn/global.json index fcc3985623..2a0ae42d9f 100644 --- a/public/language/bn/global.json +++ b/public/language/bn/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "আপনি সফলভাবে প্রবেশ করেছেন", "save_changes": "পরিবর্তনগুলি সঞ্চয় করুন", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "বন্ধ", "pagination": "পাতা নং", diff --git a/public/language/bn/modules.json b/public/language/bn/modules.json index ec7daca716..28331cd7da 100644 --- a/public/language/bn/modules.json +++ b/public/language/bn/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/bn/pages.json b/public/language/bn/pages.json index 744312ddce..7ae4b12b33 100644 --- a/public/language/bn/pages.json +++ b/public/language/bn/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online Users", "users/latest": "Latest Users", "users/sort-posts": "Users with the most posts", diff --git a/public/language/bn/themes/harmony.json b/public/language/bn/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/bn/themes/harmony.json +++ b/public/language/bn/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/bn/topic.json b/public/language/bn/topic.json index 4f1a9c39ce..6f1ee4c364 100644 --- a/public/language/bn/topic.json +++ b/public/language/bn/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "%1 এর উত্তরে:", "composer.new_topic": "নতুন টপিক", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "আপলোডিং", "composer.thumb_url_label": "টপিকে থাম্বনেইল URL পেষ্ট করুন", "composer.thumb_title": "এই টপিকে থাম্বনেইল যোগ করুন", diff --git a/public/language/bn/user.json b/public/language/bn/user.json index 7529a51029..8a44310913 100644 --- a/public/language/bn/user.json +++ b/public/language/bn/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/bn/users.json b/public/language/bn/users.json index dadd6b94bc..ad97bdf86a 100644 --- a/public/language/bn/users.json +++ b/public/language/bn/users.json @@ -6,7 +6,7 @@ "most_flags": "সর্বোচ্চ অভিযোগ", "search": "খুঁজুন", "enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "আরো লোড করুন", "users-found-search-took": "%1 জন সদস্য(দের) খুঁজে পাওয়া গেছে। খুঁজতে সময় লেগেছে %2 সেকেন্ড ", "filter-by": "ফিল্টার করার ধরন", diff --git a/public/language/cs/admin/admin.json b/public/language/cs/admin/admin.json index 5c1796bc7c..379f1103cf 100644 --- a/public/language/cs/admin/admin.json +++ b/public/language/cs/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "Ovládací panel správce NodeBB | %1", "settings-header-contents": "Obsah", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/cs/admin/advanced/cache.json b/public/language/cs/admin/advanced/cache.json index 193dd5c2f0..67524bb9a6 100644 --- a/public/language/cs/admin/advanced/cache.json +++ b/public/language/cs/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Mezipaměť příspěvku", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/cs/admin/advanced/database.json b/public/language/cs/admin/advanced/database.json index 556e201dd7..59c629bc4f 100644 --- a/public/language/cs/admin/advanced/database.json +++ b/public/language/cs/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Doba provozu v sekundách", "uptime-days": "Doba provozu ve dnech", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Verze MongoDB", "mongo.storage-engine": "Modul úložiště", "mongo.collections": "Fondy", diff --git a/public/language/cs/admin/advanced/errors.json b/public/language/cs/admin/advanced/errors.json index 55b40cba32..f06f916b50 100644 --- a/public/language/cs/admin/advanced/errors.json +++ b/public/language/cs/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Vyřešit %1", "error-events-per-day": "%1 událostí za den", "error.404": "Chyba 404 – nenalezeno", diff --git a/public/language/cs/admin/appearance/customise.json b/public/language/cs/admin/appearance/customise.json index f27b4e164b..c4b57743a3 100644 --- a/public/language/cs/admin/appearance/customise.json +++ b/public/language/cs/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Povolit uživatelskou hlavičku", "custom-css.livereload": "Povolit aktuální znovu načtení", - "custom-css.livereload.description": "Povolením si vynutíte, aby všechny relace na každém zařízení pod vaším účtem se kdykoliv obnovili při kliknutí na tlačítko „Uložit”." + "custom-css.livereload.description": "Povolením si vynutíte, aby všechny relace na každém zařízení pod vaším účtem se kdykoliv obnovili při kliknutí na tlačítko „Uložit”.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/cs/admin/appearance/skins.json b/public/language/cs/admin/appearance/skins.json index aed0b80825..dc90c6be8b 100644 --- a/public/language/cs/admin/appearance/skins.json +++ b/public/language/cs/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Načítání motivů…", "homepage": "Domovská stránka", "select-skin": "Vyberte motiv", + "revert-skin": "Revert Skin", "current-skin": "Současný motiv", "skin-updated": "Motiv aktualizován", "applied-success": "Motiv %1 byl úspěšně použit", diff --git a/public/language/cs/admin/appearance/themes.json b/public/language/cs/admin/appearance/themes.json index 90bc7fc22b..ffad089062 100644 --- a/public/language/cs/admin/appearance/themes.json +++ b/public/language/cs/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Vyhledávání nainstalovaných motivů…", "homepage": "Domovská stránka", "select-theme": "Vybrat motiv", + "revert-theme": "Revert Theme", "current-theme": "Aktuální motiv", "no-themes": "Žádný nainstalovaný motiv nebyl nalezen", "revert-confirm": "Jste si jist/a, že chcete obnovit výchozí motiv NodeBB?", diff --git a/public/language/cs/admin/dashboard.json b/public/language/cs/admin/dashboard.json index e4747f72f3..ce0e5128cc 100644 --- a/public/language/cs/admin/dashboard.json +++ b/public/language/cs/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Aktualizace", "running-version": "Fungujete na NodeBB v%1.", "keep-updated": "Vždy udržujte NodeBB aktuální kvůli bezpečnostním záplatám a opravám.", - "up-to-date": "

Máte aktuální verzi

", - "upgrade-available": "

Nová verze (v%1) byla zveřejněna. Zvažte aktualizaci vašeho NodeBB.

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

Toto je zastaralá testovací verze NodeBB. Nová verze (v%1) byla zveřejněna. Zvažte aktualizaci vaší verze NodeBB.

", - "prerelease-warning": "

Toto je zkušební verze NodeBB. Mohou se vyskytnout různé chyby.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Fórum běží ve vývojářském režimu a může být potencionálně zranitelné . Kontaktujte správce systému.", - "latest-lookup-failed": "

Náhled na poslední dostupnou verzi NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Oznámení", "restart-not-required": "Restart není potřeba", diff --git a/public/language/cs/admin/development/logger.json b/public/language/cs/admin/development/logger.json index 688358d8d3..3e480ff9ee 100644 --- a/public/language/cs/admin/development/logger.json +++ b/public/language/cs/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Nastavení protokolování", "description": "Povolením zaškrtávacích polí, budete dostávat protokoly na váš terminál. Nastavíte-li cestu, protokoly budou místo toho uloženy do souboru. Protokolování HTTP je vhodné pro vytvoření statistiky o tom, kdo, kdy a jací lidé přistupují k vašemu fóru. Dodatečně k těmto protokolům můžeme zapisovat i události z socket.io. Protokolování socket.io v kombinaci s monitorem redis-cli je vhodné k porozumění vnitřním strukturám NodeBB.", "explanation": "Jednoduše zaškrtněte/odškrtněte nastavení protokolu, změny se projeví okamžitě bez restartování.", diff --git a/public/language/cs/admin/extend/plugins.json b/public/language/cs/admin/extend/plugins.json index 6c9810c1a2..8606eb8709 100644 --- a/public/language/cs/admin/extend/plugins.json +++ b/public/language/cs/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Nainstalováno", "active": "Aktivní", diff --git a/public/language/cs/admin/extend/rewards.json b/public/language/cs/admin/extend/rewards.json index 9f0d26cfc3..1bb65d50eb 100644 --- a/public/language/cs/admin/extend/rewards.json +++ b/public/language/cs/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Odměny", + "add-reward": "Add reward", "condition-if-users": "Pokud uživatel", "condition-is": "je:", "condition-then": "Pak:", "max-claims": "Počet dosažitelnosti odměny", "zero-infinite": "Pro neomezeně zadejte 0", + "select-reward": "Select reward", "delete": "Odstranit", "enable": "Povolit", "disable": "Zakázat", diff --git a/public/language/cs/admin/extend/widgets.json b/public/language/cs/admin/extend/widgets.json index 9fcc0a83cf..e6f0d62750 100644 --- a/public/language/cs/admin/extend/widgets.json +++ b/public/language/cs/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Dostupné miniaplikace", "explanation": "Vyberte si miniaplikaci z vysouvací nabídky a přetáhněte ji do oblasti šablony miniaplikace nalevo.", "none-installed": "Nebyly nalezeny žádné miniaplikace! Aktivujte zásuvný modul miniaplikace v ovládacím panelu zásuvné moduly.", diff --git a/public/language/cs/admin/manage/admins-mods.json b/public/language/cs/admin/manage/admins-mods.json index 654ed6a2e4..753e423b77 100644 --- a/public/language/cs/admin/manage/admins-mods.json +++ b/public/language/cs/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Správci", "global-moderators": "Hlavní moderátoři", "moderators": "Moderators", "no-global-moderators": "Žádní hlavní moderátoři", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Žádní moderátoři", "add-administrator": "Přidat správce", "add-global-moderator": "Přidat hlavního moderátora", diff --git a/public/language/cs/admin/manage/categories.json b/public/language/cs/admin/manage/categories.json index 7d7719e51c..89271ab6c2 100644 --- a/public/language/cs/admin/manage/categories.json +++ b/public/language/cs/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Nastavení kategorie", + "edit-category": "Edit Category", "privileges": "Oprávnění", - + "back-to-categories": "Back to categories", "name": "Název kategorie", "description": "Popis kategorie", "bg-color": "Barva pozadí", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Seznam povolených značek", "upload-image": "Nahrát obrázek", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Vyjmout", "category-image": "Obrázek kategorie", + "image-and-icon": "Image & Icon", "parent-category": "Nadřazená kategorie", "optional-parent-category": "Nadřazená kategorie (doporučeno)", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Zakázat", "edit": "Upravit", "analytics": "Analytika", + "view-category": "Zobrazit kategorii", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/cs/admin/manage/groups.json b/public/language/cs/admin/manage/groups.json index fe9b0754c6..ad54e0d82f 100644 --- a/public/language/cs/admin/manage/groups.json +++ b/public/language/cs/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Název skupiny", "badge": "Symbol", "properties": "Vlastnosti", @@ -10,7 +16,7 @@ "edit": "Upravit", "delete": "Odstranit", "privileges": "Oprávnění", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Hledat", "create": "Vytvořit skupinu", "description-placeholder": "Krátký popis skupiny", diff --git a/public/language/cs/admin/manage/privileges.json b/public/language/cs/admin/manage/privileges.json index 96102c7ffa..59c427a8f4 100644 --- a/public/language/cs/admin/manage/privileges.json +++ b/public/language/cs/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Všeobecné", "admin": "Správce", "group-privileges": "Oprávnění skupiny", diff --git a/public/language/cs/admin/manage/tags.json b/public/language/cs/admin/manage/tags.json index 30cceeada0..be816d53b0 100644 --- a/public/language/cs/admin/manage/tags.json +++ b/public/language/cs/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Vaše fórum neobsahuje žádné témata se značkami.", "bg-color": "Barva pozadí", "text-color": "Barva textu", "description": "Pro výběr více značek, vyberte značky kliknutím nebo přetažením, za použití klávesy CTRL.", "create": "Vytvořit značku", + "add-tag": "Add tag", "modify": "Upravit značky", "rename": "Přejmenovat značky", "delete": "Odstranit vybrané značky", diff --git a/public/language/cs/admin/manage/uploads.json b/public/language/cs/admin/manage/uploads.json index 847bc82dc9..6c356916b0 100644 --- a/public/language/cs/admin/manage/uploads.json +++ b/public/language/cs/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Nahrát soubor", "filename": "Název souboru", "usage": "Použito v příspěvku", diff --git a/public/language/cs/admin/manage/users.json b/public/language/cs/admin/manage/users.json index 06cb2bbffa..8b6cec0b2f 100644 --- a/public/language/cs/admin/manage/users.json +++ b/public/language/cs/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Uživatelé", "edit": "Actions", "make-admin": "Učinit správcem", @@ -49,6 +50,10 @@ "users.username": "jméno", "users.email": "e-mail", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "počet příspěvků", "users.reputation": "reputace", diff --git a/public/language/cs/admin/menu.json b/public/language/cs/admin/menu.json index d22f9a6bdd..fe6b907b4f 100644 --- a/public/language/cs/admin/menu.json +++ b/public/language/cs/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Informace", "rebuild-and-restart-forum": "Znovu sestavit a restartovat fórum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restartovat fórum", + "restart": "Restart", "logout": "Odhlásit", "view-forum": "Zobrazit fórum", diff --git a/public/language/cs/admin/settings/api.json b/public/language/cs/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/cs/admin/settings/api.json +++ b/public/language/cs/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/cs/admin/settings/general.json b/public/language/cs/admin/settings/general.json index 6ae5d5f244..bf32429d13 100644 --- a/public/language/cs/admin/settings/general.json +++ b/public/language/cs/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Nastavení stránky", "title": "Název stránky", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "URL názvu stránky", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Název vaší komunity", "title.show-in-header": "Zobrazit název stránky v hlavičce", "browser-title": "Název prohlížeče", @@ -16,7 +18,7 @@ "description": "Popis stránky", "keywords": "Klíčová slova pro stránky", "keywords-placeholder": "Klíčová slova popisující vaši komunitu, odděleno čárkou", - "logo": "Logo stránky", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Obrázek", "logo.image-placeholder": "Cesta k logu, aby mohlo být zobrazeno v hlavičce fóra", "logo.upload": "Nahrát", diff --git a/public/language/cs/admin/settings/guest.json b/public/language/cs/admin/settings/guest.json index 9435fdc4df..27d0bfef44 100644 --- a/public/language/cs/admin/settings/guest.json +++ b/public/language/cs/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Povolit upravení zacházení s hosty", "handles.enabled-help": "Tato možnost odkryje nové pole, které umožňuje hostům vybrat jméno, které se připojí ke každému příspěvku, který vytvoří. Bude-li zakázáno, budou jednoduše nazýváni „Host”", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/cs/admin/settings/navigation.json b/public/language/cs/admin/settings/navigation.json index b9861091a5..5d2f93fcb2 100644 --- a/public/language/cs/admin/settings/navigation.json +++ b/public/language/cs/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikona:", "change-icon": "změnit", "route": "Cesta:", diff --git a/public/language/cs/admin/settings/post.json b/public/language/cs/admin/settings/post.json index e2c471d925..8ba1e96151 100644 --- a/public/language/cs/admin/settings/post.json +++ b/public/language/cs/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Třídění příspěvků", "sorting.post-default": "Výchozí třídění příspěvků", "sorting.oldest-to-newest": "Od nejstarších po nejnovější", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Počet sekund, kdy příspěvek může být ještě upraven (pro zakázání - 0)", "restrictions.seconds-delete-after": "Počet sekund, kdy příspěvek může být ještě odstraněn (pro zakázání - 0)", "restrictions.replies-no-delete": "Počet odpovědí, kdy je již uživateli zakázáno odstranit založená témata (pro zakázání - 0)", - "restrictions.min-title-length": "Minimální délka názvu", - "restrictions.max-title-length": "Maximální délka názvu", - "restrictions.min-post-length": "Minimální délka příspěvku", - "restrictions.max-post-length": "Maximální délka příspěvku", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Počet dnů, než je téma považováno za neaktuální", "restrictions.stale-help": "Je-li téma považováno za „staré”, uživateli se zobrazí oznámení při pokusu o přidání odpovědi.", "timestamp": "Časový otisk", @@ -41,10 +40,9 @@ "teaser.last-reply": "Poslední – zobrazení poslední odpovědi, nebo nejsou-li žádné odpovědi textu „Bez odpovědi”", "teaser.first": "První", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Nastavení nepřečtených", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Dny ukončení nepřečtených", "unread.min-track-last": "Minimální počet příspěvků v tématu před posledním čtením", - "recent": "Nastavení pro poslední", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Zakázat filtrování témat v ignorovaných kategoriích na poslední stránce", "signature": "Nastavení podpisu", diff --git a/public/language/cs/admin/settings/reputation.json b/public/language/cs/admin/settings/reputation.json index b59d134bcf..ab092c574c 100644 --- a/public/language/cs/admin/settings/reputation.json +++ b/public/language/cs/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/cs/admin/settings/social.json b/public/language/cs/admin/settings/social.json index 5645b29e42..ee43777945 100644 --- a/public/language/cs/admin/settings/social.json +++ b/public/language/cs/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Sdílení příspěvku", - "info-plugins-additional": "Rozšíření mohou přidat další dodatečné sítě pro sdílení příspěvků.", - "save-success": "Úspěšně uložené sítě sdílející příspěvky." + "info-plugins-additional": "Rozšíření mohou přidat další dodatečné sítě pro sdílení příspěvků." } \ No newline at end of file diff --git a/public/language/cs/admin/settings/tags.json b/public/language/cs/admin/settings/tags.json index 1d16095a31..5dfdaa8b87 100644 --- a/public/language/cs/admin/settings/tags.json +++ b/public/language/cs/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimální počet značek/téma", "max-per-topic": "maximální počet značek/téma", "min-length": "Minimální délka značky", diff --git a/public/language/cs/admin/settings/user.json b/public/language/cs/admin/settings/user.json index cfda7dfdd0..a4987307e0 100644 --- a/public/language/cs/admin/settings/user.json +++ b/public/language/cs/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximální délka informací „O mně”", "terms-of-use": "Podmínky užití fóra (pro zakázání zanechte prázdné)", "user-search": "Hledat uživatele", - "user-search-results-per-page": "Počet zobrazených výsledků", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Výchozí nastavení uživatele", "show-email": "Zobrazit e-mail", "show-fullname": "Zobrazit celé jméno", diff --git a/public/language/cs/error.json b/public/language/cs/error.json index cd5b45fd4c..d310f4a236 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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ší.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Modul pro odeslání e-mailů nebyl nalezen. Zkontrolujte prosím, zda je nainstalován a spuštěn uživatelem, který spustil NodeBB.", "digest-not-enabled": "Tento uživatel nemá povolený odběr přehledu, nebo výchozí systémové hodnoty nejsou nastaveny pro odesílání přehledů", "username-too-short": "Uživatelské jméno je moc krátké", diff --git a/public/language/cs/global.json b/public/language/cs/global.json index 497ec6a8d9..863553af20 100644 --- a/public/language/cs/global.json +++ b/public/language/cs/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Vaše přihlášení proběhlo úspěšně", "save_changes": "Uložit změny", "save": "Uložit", + "create": "Create", "cancel": "Cancel", "close": "Zrušit", "pagination": "Stránkování", diff --git a/public/language/cs/modules.json b/public/language/cs/modules.json index d6ff70be6d..73de1bebd5 100644 --- a/public/language/cs/modules.json +++ b/public/language/cs/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Konverzace s", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/cs/pages.json b/public/language/cs/pages.json index d33088bf00..54237bb782 100644 --- a/public/language/cs/pages.json +++ b/public/language/cs/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Nahlášený obsah", "ip-blacklist": "Černá listina IP adres", "post-queue": "Fronta příspěvků", + "registration-queue": "Registration Queue", "users/online": "Připojení uživatelé", "users/latest": "Nejnovější uživatelé", "users/sort-posts": "Uživatelé s nejvíce příspěvky", diff --git a/public/language/cs/themes/harmony.json b/public/language/cs/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/cs/themes/harmony.json +++ b/public/language/cs/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index 32c0849d9f..f553244383 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Odpovídání na %1", "composer.new_topic": "Nové téma", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "nahrávání…", "composer.thumb_url_label": "Vložit URL náhledu tématu", "composer.thumb_title": "Přidat k tématu náhled", diff --git a/public/language/cs/user.json b/public/language/cs/user.json index 81d5c30fb3..a819de178f 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -141,6 +141,8 @@ "group-order-help": "Vyberte si skupiny a použijte šipky pro seřazení titulů", "no-group-title": "Žádný nadpis skupiny", "select-skin": "Vybrat vzhled", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Vybrat domovskou stránku", "homepage": "Domovská stránka", "homepage_description": "Vyberte stránku, která má být domovskou stránkou fóra nebo vyberte „Nic” a bude použita výchozí domovská stránka.", diff --git a/public/language/cs/users.json b/public/language/cs/users.json index e95e14ccfe..f2a6b4ca1e 100644 --- a/public/language/cs/users.json +++ b/public/language/cs/users.json @@ -6,7 +6,7 @@ "most_flags": "Nejoznačovanější", "search": "Hledat", "enter_username": "Zadej uživatelské jméno k hledání", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Načíst další", "users-found-search-took": "Nalezeno %1 uživatel(ů) za %2 vteřiny.", "filter-by": "Filtrovat dle", diff --git a/public/language/da/admin/admin.json b/public/language/da/admin/admin.json index e6be4780aa..22c8e30f83 100644 --- a/public/language/da/admin/admin.json +++ b/public/language/da/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Kontrol Panel", "settings-header-contents": "Indhold", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/da/admin/advanced/cache.json b/public/language/da/admin/advanced/cache.json index ff4a3382b0..f8fb35a8f5 100644 --- a/public/language/da/admin/advanced/cache.json +++ b/public/language/da/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Indlægs Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/da/admin/advanced/database.json b/public/language/da/admin/advanced/database.json index 3e7c77f2f3..aa0edc2684 100644 --- a/public/language/da/admin/advanced/database.json +++ b/public/language/da/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Oppetid i Sekunder", "uptime-days": "Oppetid i Dage", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Kollektioner", diff --git a/public/language/da/admin/advanced/errors.json b/public/language/da/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/da/admin/advanced/errors.json +++ b/public/language/da/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/da/admin/appearance/customise.json b/public/language/da/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/da/admin/appearance/customise.json +++ b/public/language/da/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/da/admin/appearance/skins.json b/public/language/da/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/da/admin/appearance/skins.json +++ b/public/language/da/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/da/admin/appearance/themes.json b/public/language/da/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/da/admin/appearance/themes.json +++ b/public/language/da/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/da/admin/dashboard.json b/public/language/da/admin/dashboard.json index 483e1df266..31a110b826 100644 --- a/public/language/da/admin/dashboard.json +++ b/public/language/da/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Opdateringer", "running-version": "Du kører NodeBB v%1.", "keep-updated": "Altid sikrer dig at din NodeBB er opdateret for de seneste sikkerheds og bug rettelser.", - "up-to-date": "

Du er opdateret

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

Dette er en pre-release udgave af NodeBB. Uforventede bugs kan forekomme.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Varsler", "restart-not-required": "Restart not required", diff --git a/public/language/da/admin/development/logger.json b/public/language/da/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/da/admin/development/logger.json +++ b/public/language/da/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/da/admin/extend/plugins.json b/public/language/da/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/da/admin/extend/plugins.json +++ b/public/language/da/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/da/admin/extend/rewards.json b/public/language/da/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/da/admin/extend/rewards.json +++ b/public/language/da/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/da/admin/extend/widgets.json b/public/language/da/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/da/admin/extend/widgets.json +++ b/public/language/da/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/da/admin/manage/admins-mods.json b/public/language/da/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/da/admin/manage/admins-mods.json +++ b/public/language/da/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/da/admin/manage/categories.json b/public/language/da/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/da/admin/manage/categories.json +++ b/public/language/da/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/da/admin/manage/groups.json b/public/language/da/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/da/admin/manage/groups.json +++ b/public/language/da/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/da/admin/manage/privileges.json b/public/language/da/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/da/admin/manage/privileges.json +++ b/public/language/da/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/da/admin/manage/tags.json b/public/language/da/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/da/admin/manage/tags.json +++ b/public/language/da/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/da/admin/manage/uploads.json b/public/language/da/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/da/admin/manage/uploads.json +++ b/public/language/da/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/da/admin/manage/users.json b/public/language/da/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/da/admin/manage/users.json +++ b/public/language/da/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/da/admin/menu.json b/public/language/da/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/da/admin/menu.json +++ b/public/language/da/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/da/admin/settings/api.json b/public/language/da/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/da/admin/settings/api.json +++ b/public/language/da/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/da/admin/settings/general.json b/public/language/da/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/da/admin/settings/general.json +++ b/public/language/da/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/da/admin/settings/guest.json b/public/language/da/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/da/admin/settings/guest.json +++ b/public/language/da/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/da/admin/settings/navigation.json b/public/language/da/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/da/admin/settings/navigation.json +++ b/public/language/da/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/da/admin/settings/post.json b/public/language/da/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/da/admin/settings/post.json +++ b/public/language/da/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/da/admin/settings/reputation.json b/public/language/da/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/da/admin/settings/reputation.json +++ b/public/language/da/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/da/admin/settings/social.json b/public/language/da/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/da/admin/settings/social.json +++ b/public/language/da/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/da/admin/settings/tags.json b/public/language/da/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/da/admin/settings/tags.json +++ b/public/language/da/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/da/admin/settings/user.json b/public/language/da/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/da/admin/settings/user.json +++ b/public/language/da/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/da/error.json b/public/language/da/error.json index 754aea4013..7331a1c8c3 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Brugernavn er for kort", diff --git a/public/language/da/global.json b/public/language/da/global.json index b3b5b81c72..39154ea051 100644 --- a/public/language/da/global.json +++ b/public/language/da/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Du er nu logget ind", "save_changes": "Gem ændringer", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Luk", "pagination": "Sidetal", diff --git a/public/language/da/modules.json b/public/language/da/modules.json index fef29dd369..66e1c623f5 100644 --- a/public/language/da/modules.json +++ b/public/language/da/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/da/pages.json b/public/language/da/pages.json index bd0de7a853..942e192c1f 100644 --- a/public/language/da/pages.json +++ b/public/language/da/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online brugere", "users/latest": "Seneste brugere", "users/sort-posts": "Brugere med de fleste indlæg", diff --git a/public/language/da/themes/harmony.json b/public/language/da/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/da/themes/harmony.json +++ b/public/language/da/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/da/topic.json b/public/language/da/topic.json index 45cca5b8d0..ecd42e9d00 100644 --- a/public/language/da/topic.json +++ b/public/language/da/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Svare til %1", "composer.new_topic": "Ny tråd", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "uploader...", "composer.thumb_url_label": "Indsæt en tråd miniature URL", "composer.thumb_title": "Tilføj en miniature til denne tråd", diff --git a/public/language/da/user.json b/public/language/da/user.json index ae7827778b..20a72b1dfd 100644 --- a/public/language/da/user.json +++ b/public/language/da/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Ingen gruppe titel", "select-skin": "Vælg et skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Vælg en hjemmeside", "homepage": "Hjemmeside", "homepage_description": "Vælg en side som forummets hjemmeside, eller 'Ingen' for at bruge standard hjemmesiden.", diff --git a/public/language/da/users.json b/public/language/da/users.json index c1d502f879..b4a4e371fa 100644 --- a/public/language/da/users.json +++ b/public/language/da/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Søg", "enter_username": "Indtast brugernavn for at søge", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Indlæs mere", "users-found-search-took": "%1 bruger(e) fundet! Søgning tog %2 sekunder.", "filter-by": "Filtre Efter", diff --git a/public/language/de/admin/admin.json b/public/language/de/admin/admin.json index 1d2313a874..b3b9384c0b 100644 --- a/public/language/de/admin/admin.json +++ b/public/language/de/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Systemsteuerung", "settings-header-contents": "Inhalte", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Änderungen verworfen", - "changes-not-saved-message": "Beim Speichern der Änderungen ist ein Problem aufgetreten. (%1)" + "changes-not-saved-message": "Beim Speichern der Änderungen ist ein Problem aufgetreten. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/de/admin/advanced/cache.json b/public/language/de/admin/advanced/cache.json index 7818db96ec..6aa3604fe4 100644 --- a/public/language/de/admin/advanced/cache.json +++ b/public/language/de/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post-Cache", "group-cache": "Gruppen-Cache", "local-cache": "Lokaler Cache", diff --git a/public/language/de/admin/advanced/database.json b/public/language/de/admin/advanced/database.json index 550c6c8468..fc77b0b078 100644 --- a/public/language/de/admin/advanced/database.json +++ b/public/language/de/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Betriebszeit in Sekunden", "uptime-days": "Betriebszeit in Tagen", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Speicher-Engine", "mongo.collections": "Collections", diff --git a/public/language/de/admin/advanced/errors.json b/public/language/de/admin/advanced/errors.json index 5ec358d8fe..d7f4995ba4 100644 --- a/public/language/de/admin/advanced/errors.json +++ b/public/language/de/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Abbildung %1", "error-events-per-day": "%1 Ereignisse pro Tag", "error.404": "404 Nicht gefunden", diff --git a/public/language/de/admin/appearance/customise.json b/public/language/de/admin/appearance/customise.json index 827ebdae72..b46fb2c98a 100644 --- a/public/language/de/admin/appearance/customise.json +++ b/public/language/de/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Benutzerdefinierten Header aktivieren", "custom-css.livereload": "Live-Aktualisierung aktivieren", - "custom-css.livereload.description": "Aktiviere diese Einstellung um alle Sitzungen auf allen Geräten mit deinem Konto dazu zu zwingen Neuzuladen sobald du \"Speichern\" drückst" + "custom-css.livereload.description": "Aktiviere diese Einstellung um alle Sitzungen auf allen Geräten mit deinem Konto dazu zu zwingen Neuzuladen sobald du \"Speichern\" drückst", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/de/admin/appearance/skins.json b/public/language/de/admin/appearance/skins.json index c56d74113f..f6ce726fad 100644 --- a/public/language/de/admin/appearance/skins.json +++ b/public/language/de/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Skins werden geladen...", "homepage": "Startseite", "select-skin": "Skin auswählen", + "revert-skin": "Revert Skin", "current-skin": "Aktueller Skin", "skin-updated": "Skin aktualisiert", "applied-success": "Skin %1 wurde erfolgreich angewendet", diff --git a/public/language/de/admin/appearance/themes.json b/public/language/de/admin/appearance/themes.json index 3a0efd7c8b..83005bccf5 100644 --- a/public/language/de/admin/appearance/themes.json +++ b/public/language/de/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Auf installierte Themes wird geprüft...", "homepage": "Startseite", "select-theme": "Theme wählen", + "revert-theme": "Revert Theme", "current-theme": "Aktuelles Theme", "no-themes": "Keine installierten Theme gefunden.", "revert-confirm": "Bist du sicher, dass du das standardmäßige NodeBB-Design wiederherstellen möchten?", diff --git a/public/language/de/admin/dashboard.json b/public/language/de/admin/dashboard.json index a130d5516c..672fcc508d 100644 --- a/public/language/de/admin/dashboard.json +++ b/public/language/de/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "Es läuft NodeBB v%1.", "keep-updated": "Stelle sicher, dass dein NodeBB immer auf dem neuesten Stand für die neuesten Sicherheits-Patches und Bug-fixes ist.", - "up-to-date": "

NodeBB Version ist aktuell

", - "upgrade-available": "

Eine neuere Version (v%1) ist erschienen. Erwäge NodeBB zu upgraden.

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

Das ist eine veraltete NodeBB-Vorabversion. Eine neuere Version (v%1) ist erschienen. Erwäge NodeBB zu upgraden.

", - "prerelease-warning": "

Das ist eine Vorabversion von NodeBB. Es können ungewollte Fehler auftreten.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback-Emailer nicht gefunden", - "running-in-development": "Das Forum wurde im Entwicklermodus gestartet. Das Forum könnte potenziellen Gefahren ausgeliefert sein. Bitte kontaktiere den Systemadministrator.", - "latest-lookup-failed": "

Beim nachschlagen der neuesten verfügbaren NodeBB Version ist ein Fehler aufgetreten

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Hinweise", "restart-not-required": "Kein Neustart benötigt", diff --git a/public/language/de/admin/development/logger.json b/public/language/de/admin/development/logger.json index bf4f4a16ac..420e4192e4 100644 --- a/public/language/de/admin/development/logger.json +++ b/public/language/de/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Protokollierungseinstellungen", "description": "Durch das markieren der Auswahlkästchen werden sie Protokolle in ihrem Terminal finden. Wenn sie einen Dateipfad angeben, werden die Protokolle stattdessen in einer Datei gespeichert. HTTP-Logging ist nützlich um Statistiken zu sammeln darüber, wer, wann was in ihrem Forum angesehen hat. Zusätzlich kann NodeBB auch Socket.io Events Protokollieren. In Kombination mit dem redis-cli Monitor kann dies ziemlich hilfreich sein um mehr über die Interne Struktur von NodeBB zu lernen.", "explanation": "Markiere die Protokollierungseinstellungen nebenher um die Protokollierung zu (de-)aktivieren. Ein Neustart wird nicht benötigt.", diff --git a/public/language/de/admin/extend/plugins.json b/public/language/de/admin/extend/plugins.json index 23670b54ae..ef2d032d2c 100644 --- a/public/language/de/admin/extend/plugins.json +++ b/public/language/de/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Beliebt", "installed": "Installiert", "active": "Aktiv", diff --git a/public/language/de/admin/extend/rewards.json b/public/language/de/admin/extend/rewards.json index d0ed8e051d..39d7e72818 100644 --- a/public/language/de/admin/extend/rewards.json +++ b/public/language/de/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Belohnungen", + "add-reward": "Add reward", "condition-if-users": "Wenn Benutzer", "condition-is": "Ist:", "condition-then": "Dann:", "max-claims": "Anzahl der Male von Belohnungen, die beansprucht werden können", "zero-infinite": "0 für unendlich eingeben", + "select-reward": "Select reward", "delete": "Löschen", "enable": "Aktivieren", "disable": "Deaktivieren", diff --git a/public/language/de/admin/extend/widgets.json b/public/language/de/admin/extend/widgets.json index 5fa9e5fe7b..5d63c1ae1b 100644 --- a/public/language/de/admin/extend/widgets.json +++ b/public/language/de/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Verfügbare Widgets", "explanation": "Wähle ein Widget aus dem Dropdown-Menü aus und ziehe es per Drag-and-Drop in den Widget-Bereich einer Vorlage auf der linken Seite.", "none-installed": "Keine Widgets gefunden! Aktiviere das Widget Essentials-Plugin in der Plugin-Systemsteuerung.", diff --git a/public/language/de/admin/manage/admins-mods.json b/public/language/de/admin/manage/admins-mods.json index 3188af49d5..5badc78f01 100644 --- a/public/language/de/admin/manage/admins-mods.json +++ b/public/language/de/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administratoren", "global-moderators": "Globale Moderatoren", "moderators": "Moderatoren", "no-global-moderators": "Keine globalen Moderatoren", "no-sub-categories": "Keine Unterkategorien", - "subcategories": "%1 Unterkategorien", + "view-children": "View children (%1)", "no-moderators": "Keine Moderatoren", "add-administrator": "Administrator hinzufügen", "add-global-moderator": "Globalen Moderator hinzufügen", diff --git a/public/language/de/admin/manage/categories.json b/public/language/de/admin/manage/categories.json index f997db33aa..aad37fd987 100644 --- a/public/language/de/admin/manage/categories.json +++ b/public/language/de/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Kategorieeinstellungen", + "edit-category": "Edit Category", "privileges": "Berechtigungen", - + "back-to-categories": "Back to categories", "name": "Kategoriename", "description": "Kategorie-Beschreibung", "bg-color": "Hintergrundfarbe", @@ -15,8 +19,11 @@ "post-queue": "Warteschlange", "tag-whitelist": "Tag Whitelist", "upload-image": "Bild hochladen", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Entfernen", "category-image": "Kategoriebild", + "image-and-icon": "Image & Icon", "parent-category": "Übergeordnete Kategorie", "optional-parent-category": "(Optional) Übergeordnete Kategorie", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Deaktivieren", "edit": "Bearbeiten", "analytics": "Analytik", + "view-category": "Kategorie anzeigen", "set-order": "Reihenfolge festlegen", "set-order-help": "Wenn Sie die Reihenfolge der Kategorie festlegen, wird diese Kategorie in diese Reihenfolge verschoben und die Reihenfolge anderer Kategorien nach Bedarf aktualisiert. Die Mindestbestellmenge beträgt 1, was die Kategorie an die Spitze bringt.", diff --git a/public/language/de/admin/manage/groups.json b/public/language/de/admin/manage/groups.json index 1d4cc09432..49119b854d 100644 --- a/public/language/de/admin/manage/groups.json +++ b/public/language/de/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Gruppenname", "badge": "Abzeichen", "properties": "Eigenschaften", @@ -10,7 +16,7 @@ "edit": "Ändern", "delete": "Löschen", "privileges": "Berechtigungen", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Suchen", "create": "Gruppe erstellen", "description-placeholder": "Eine kurze Beschreibung deiner Gruppe", diff --git a/public/language/de/admin/manage/privileges.json b/public/language/de/admin/manage/privileges.json index 76fec38898..816c5e2d2d 100644 --- a/public/language/de/admin/manage/privileges.json +++ b/public/language/de/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Administrator", "group-privileges": "Gruppen Rechte", diff --git a/public/language/de/admin/manage/tags.json b/public/language/de/admin/manage/tags.json index 1dca4eb4ce..64ec38aaeb 100644 --- a/public/language/de/admin/manage/tags.json +++ b/public/language/de/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Das Forum hat bisher noch keine Themen mit Tags.", "bg-color": "Hintergrundfarbe", "text-color": "Textfarbe", "description": "Wählen Sie Tags durch Klicken oder Ziehen aus, verwenden Sie STRG, um mehrere Tags auszuwählen.", "create": "Tag erstellen", + "add-tag": "Add tag", "modify": "Tag bearbeiten", "rename": "Tags umbenennen", "delete": "Ausgewählte Tags entfernen", diff --git a/public/language/de/admin/manage/uploads.json b/public/language/de/admin/manage/uploads.json index b4008ea089..84989bda5b 100644 --- a/public/language/de/admin/manage/uploads.json +++ b/public/language/de/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Datei hochladen", "filename": "Dateiname", "usage": "Beitragsnutzung", diff --git a/public/language/de/admin/manage/users.json b/public/language/de/admin/manage/users.json index d797f28a2d..73a0abb45e 100644 --- a/public/language/de/admin/manage/users.json +++ b/public/language/de/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Benutzer", "edit": "Aktionen", "make-admin": "Zum Administrator befördern", @@ -49,6 +50,10 @@ "users.username": "Nutzername", "users.email": "E-Mail", "users.no-email": "(keine Email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "Anzahl der Beiträge", "users.reputation": "Ansehen", diff --git a/public/language/de/admin/menu.json b/public/language/de/admin/menu.json index be0255aeeb..e4edd966a8 100644 --- a/public/language/de/admin/menu.json +++ b/public/language/de/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Forum regenerieren & neustarten", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Forum neu starten", + "restart": "Restart", "logout": "Abmelden", "view-forum": "Forum anzeigen", diff --git a/public/language/de/admin/settings/api.json b/public/language/de/admin/settings/api.json index 6295bfc6e4..0248bc09cc 100644 --- a/public/language/de/admin/settings/api.json +++ b/public/language/de/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Einstellungen", "lead-text": "Auf dieser Seite kanst Du den Zugriff auf die Write-API in NodeBB konfigurieren.", "intro": "Standardmäßig authentifiziert die Write-API Benutzer basierend auf ihrem Sitzungscookie, aber NodeBB unterstützt auch die Bearer-Authentifizierung über Token, die über diese Seite generiert werden.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Klicke hier, um auf die vollständige API-Spezifikation zuzugreifen", "require-https": "API-Nutzung nur über HTTPS möglich", "require-https-caveat": "Hinweis: Einige Installationen mit Load Balancern können ihre Anfragen über HTTP an NodeBB weiterleiten, in diesem Fall sollte diese Option deaktiviert bleiben.", "uid": "Nutzer–ID", + "token": "Token", "uid-help-text": "Gebe eine Benutzer-ID an, die diesem Token zugeordnet werden soll. Wenn die Benutzer-ID 0 ist, wird sie als Master-Token betrachtet, das basierend auf dem _uid-Parameter die Identität anderer Benutzer annehmen kann", "description": "Beschreibung", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Keine Beschreibung angegeben.", - "token-on-save": "Token wird generiert, sobald das Formular gespeichert wird" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/de/admin/settings/general.json b/public/language/de/admin/settings/general.json index 2a4a76533d..3a0f5e8512 100644 --- a/public/language/de/admin/settings/general.json +++ b/public/language/de/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Forum Einstellungen", "title": "Forum Titel", "title.short": "Kurzbezeichnung", "title.short-placeholder": "Wenn kein Kurztitel angegeben ist, wird der Forum-Titel verwendet.", "title.url": "Titel Link-URL", "title.url-placeholder": "Die URL des Seitentitels", - "title.url-help": "Wenn der Titel angeklickt wird, werden die Benutzer an diese Adresse weitergeleitet. Wenn Sie nichts angeben, wird der Benutzer zum Forum-Index weitergeleitet.
Hinweis: Dies ist nicht die externe URL, die in E-Mails etc. verwendet wird. Diese wird über die Eigenschaft url in config.json festgelegt.", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Name Deiner Community", "title.show-in-header": "Titel im Header anzeigen", "browser-title": "Browser Titel", @@ -16,7 +18,7 @@ "description": "Forum Beschreibung", "keywords": "Forum Schlüsselworte", "keywords-placeholder": "Schlüsselworte, die ihre Community beschreiben, mit Komma getrennt", - "logo": "Forum Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Bild", "logo.image-placeholder": "Pfad zu einem Logo, welches im Header des Forums angezeigt werden soll", "logo.upload": "Hochladen", diff --git a/public/language/de/admin/settings/guest.json b/public/language/de/admin/settings/guest.json index 2d5ee7a23e..56dbc50c1c 100644 --- a/public/language/de/admin/settings/guest.json +++ b/public/language/de/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Einstellungen", + "guest-settings": "Guest settings", "handles.enabled": "Gastzugänge erlauben", "handles.enabled-help": "Diese Option zeigt ein neues Feld an, in dem Gäste einen Namen auswählen können, der jedem von ihnen erstellten Beitrag zugeordnet werden soll. Wenn sie deaktiviert sind, werden sie einfach „Gast“ genannt.", "topic-views.enabled": "Gästen erlauben, die gezählte Anzahl der Themenaufrufe zu erhöhen", diff --git a/public/language/de/admin/settings/navigation.json b/public/language/de/admin/settings/navigation.json index e268715347..8e152b503b 100644 --- a/public/language/de/admin/settings/navigation.json +++ b/public/language/de/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "ändern", "route": "Pfad:", diff --git a/public/language/de/admin/settings/post.json b/public/language/de/admin/settings/post.json index 74e262d7ec..f5bee5e51d 100644 --- a/public/language/de/admin/settings/post.json +++ b/public/language/de/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Beitragssortierung", "sorting.post-default": "Standardmäßige sortierung von Beiträgen", "sorting.oldest-to-newest": "Von Alt bis Neu", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Anzahl der Sekunden, die ein Beitrag bearbeitet werden kann (zum Deaktivieren auf 0 setzen)", "restrictions.seconds-delete-after": "Anzahl der Sekunden, die ein Beitrag löschbar bleibt (zum Deaktivieren auf 0 setzen)", "restrictions.replies-no-delete": "Anzahl der Antworten, nachdem Benutzern das Löschen ihrer eigenen Themen verweigert wurde (zum Deaktivieren auf 0 setzen)", - "restrictions.min-title-length": "Minimale Titellänge", - "restrictions.max-title-length": "Maximale Titellänge", - "restrictions.min-post-length": "Minimale Beitragslänge", - "restrictions.max-post-length": "Maximale Beitragslänge", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Tage bis ein Thema als alt angesehen wird", "restrictions.stale-help": "Wenn ein Thema als \"veraltet\" angesehen wird, wird Nutzern die versuchen diesem Thema zu antworten eine Warnung gezeigt", "timestamp": "Zeitstempel", @@ -41,10 +40,9 @@ "teaser.last-reply": "Letzter - Den neuesten Beitrag oder einen \"Keine Antworten\" Platzhalter, wenn es keine Antworten gibt anzeigen", "teaser.first": "Erster", "showPostPreviewsOnHover": "Eine Vorschau der Beiträge zeigen, wenn Du mit der Maus darüber fährst", - "unread": "Ungelesen-Einstellungen", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Ungelesen-Limit (in Tagen)", "unread.min-track-last": "Minimale Anzahl an Beiträgen pro Thema bevor die letzte Sichtung mitgeschrieben wird", - "recent": "Kürzlich verwendete Einstellungen", "recent.max-topics": "Maximale Themen auf /recent", "recent.categoryFilter.disable": "Filtern von Themen in ignorierten Kategorien auf der /recent Seite deaktivieren", "signature": "Signatureinstellungen", diff --git a/public/language/de/admin/settings/reputation.json b/public/language/de/admin/settings/reputation.json index ffb9f2effc..230fa4d142 100644 --- a/public/language/de/admin/settings/reputation.json +++ b/public/language/de/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Führe Folgendes aus, wenn eine Flagge aufgelöst wird", "flags.action-on-reject": "Gehe folgendermaßen vor, wenn eine Flagge abgelehnt wird", "flags.action.nothing": "Nichts tun", - "flags.action.rescind": "Aufhebung der Benachrichtigung an Moderatoren/Administratoren" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/de/admin/settings/social.json b/public/language/de/admin/settings/social.json index 081de0cb88..b57c0e6b01 100644 --- a/public/language/de/admin/settings/social.json +++ b/public/language/de/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Beitragsfreigabe", - "info-plugins-additional": "Plugins können zusätzliche Netzwerke zum Teilen von Beiträgen hinzufügen.", - "save-success": "Post-Sharing-Netzwerke erfolgreich gespeichert!" + "info-plugins-additional": "Plugins können zusätzliche Netzwerke zum Teilen von Beiträgen hinzufügen." } \ No newline at end of file diff --git a/public/language/de/admin/settings/tags.json b/public/language/de/admin/settings/tags.json index 766b30e402..4c20332297 100644 --- a/public/language/de/admin/settings/tags.json +++ b/public/language/de/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Tags managen", "system-tags": "System-Tags", "system-tags-help": "Nur berechtige Benutzer können diese Tags verwenden.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimale Tags pro Thema", "max-per-topic": "Maximale Tags pro Thema", "min-length": "Minimale Tag Länge", diff --git a/public/language/de/admin/settings/user.json b/public/language/de/admin/settings/user.json index b032894126..f995ca135f 100644 --- a/public/language/de/admin/settings/user.json +++ b/public/language/de/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximale länge von Über Mich", "terms-of-use": "Forum Nutzungsbedingungen (Leer lassen um es zu deaktivieren)", "user-search": "Benutzersuche", - "user-search-results-per-page": "Anzahl anzuzeigener Ergebnisse", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Standard Benutzer Einstellungen", "show-email": "Zeige E-Mail-Adresse", "show-fullname": "Zeige vollen Namen", diff --git a/public/language/de/error.json b/public/language/de/error.json index 7c01d08052..7bef0f0167 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Für den Benutzer \"%1\" ist keine E-Mail eingetragen.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail wurde nicht gefunden. Bitte stelle sicher, dass es installiert ist und durch den Benutzer unter dem NodeBB läuft ausgeführt werden kann.", "digest-not-enabled": "Dieser Benutzer hat Email-Zusammenfassungen deaktiviert oder das Aussenden von Email-Zusammenfassungen is in den Defaulteinstellungen des Systems nicht aktiviert.", "username-too-short": "Benutzername ist zu kurz", diff --git a/public/language/de/global.json b/public/language/de/global.json index 85a6c060ff..aa86f77ece 100644 --- a/public/language/de/global.json +++ b/public/language/de/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Du hast dich erfolgreich angemeldet", "save_changes": "Änderungen speichern", "save": "Speichern", + "create": "Create", "cancel": "Cancel", "close": "Schließen", "pagination": "Seitennummerierung", diff --git a/public/language/de/modules.json b/public/language/de/modules.json index 9ee3c23608..741c616cfb 100644 --- a/public/language/de/modules.json +++ b/public/language/de/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chatte mit", "chat.placeholder": "Gebe hier eine Chatnachricht ein, ziehe Bilder per Drag & Drop und drücke die Eingabetaste, um sie zu senden", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Diese Nachrichten sind möglicherweise veraltet, klicke hier um neuere Nachrichten anzuzeigen.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/de/pages.json b/public/language/de/pages.json index e49f87a4aa..004efbd804 100644 --- a/public/language/de/pages.json +++ b/public/language/de/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Gemeldeter Inhalt", "ip-blacklist": "IP Blacklist", "post-queue": "Beitragswarteschlange", + "registration-queue": "Registration Queue", "users/online": "Benutzer online", "users/latest": "Neuste Benutzer", "users/sort-posts": "Benutzer mit den meisten Beiträgen", diff --git a/public/language/de/themes/harmony.json b/public/language/de/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/de/themes/harmony.json +++ b/public/language/de/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/de/themes/persona.json b/public/language/de/themes/persona.json index e7d1945303..fdf9070861 100644 --- a/public/language/de/themes/persona.json +++ b/public/language/de/themes/persona.json @@ -1,7 +1,7 @@ { "settings.title": "Theme settings", "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", + "settings.mobile-menu-side": "Menüposition der mobilen Seiten umschalten", "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", diff --git a/public/language/de/topic.json b/public/language/de/topic.json index 656c2f8e6c..03d1539bff 100644 --- a/public/language/de/topic.json +++ b/public/language/de/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Zeitplan", "composer.replying_to": "Antworte auf %1", "composer.new_topic": "Neues Thema", - "composer.editing": "Bearbeitung", + "composer.editing-in": "Editing post in %1", "composer.uploading": "Lade hoch...", "composer.thumb_url_label": "Vorschaubild-URL hier einfügen", "composer.thumb_title": "Vorschaubild zu diesem Thema hinzufügen", diff --git a/public/language/de/user.json b/public/language/de/user.json index bbe001a6f6..3b3ae57418 100644 --- a/public/language/de/user.json +++ b/public/language/de/user.json @@ -141,6 +141,8 @@ "group-order-help": "Wähle eine Gruppe und ordne die Titel mit den Pfeiltasten", "no-group-title": "Kein Gruppentitel", "select-skin": "Einen Skin auswählen", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Startseite", "homepage": "Startseite", "homepage_description": "Wähle eine Seite, die als Forumstartseite verwendet werden soll, aus oder 'Keine' um die Standardstartseite zu verwenden.", diff --git a/public/language/de/users.json b/public/language/de/users.json index 42501032b7..1dc934af76 100644 --- a/public/language/de/users.json +++ b/public/language/de/users.json @@ -6,7 +6,7 @@ "most_flags": "Meiste Meldungen", "search": "Suchen", "enter_username": "Benutzer durchsuchen", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Mehr laden", "users-found-search-took": "%1 Benutzer gefunden! Die Suche dauerte %2 s.", "filter-by": "Filtern nach", diff --git a/public/language/el/admin/admin.json b/public/language/el/admin/admin.json index 4e7f7deb8f..d4d20945ba 100644 --- a/public/language/el/admin/admin.json +++ b/public/language/el/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Πίνακας Ελέγχου", "settings-header-contents": "Περιεχόμενα", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/el/admin/advanced/cache.json b/public/language/el/admin/advanced/cache.json index 4a2c76fc94..4e3576c903 100644 --- a/public/language/el/admin/advanced/cache.json +++ b/public/language/el/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Προσωρινή μνήμη ανάρτησης", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/el/admin/advanced/database.json b/public/language/el/admin/advanced/database.json index ae2f4b4e7e..abb9437424 100644 --- a/public/language/el/admin/advanced/database.json +++ b/public/language/el/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Χρόνος λειτουργίας σε δευτερόλεπτα", "uptime-days": "Χρόνος λειτουργίας σε ημέρες", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Έκδοση MongoDB", "mongo.storage-engine": "Μηχανή αποθήκευσης", "mongo.collections": "Συλλογές", diff --git a/public/language/el/admin/advanced/errors.json b/public/language/el/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/el/admin/advanced/errors.json +++ b/public/language/el/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/el/admin/appearance/customise.json b/public/language/el/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/el/admin/appearance/customise.json +++ b/public/language/el/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/el/admin/appearance/skins.json b/public/language/el/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/el/admin/appearance/skins.json +++ b/public/language/el/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/el/admin/appearance/themes.json b/public/language/el/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/el/admin/appearance/themes.json +++ b/public/language/el/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/el/admin/dashboard.json b/public/language/el/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/el/admin/dashboard.json +++ b/public/language/el/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/el/admin/development/logger.json b/public/language/el/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/el/admin/development/logger.json +++ b/public/language/el/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/el/admin/extend/plugins.json b/public/language/el/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/el/admin/extend/plugins.json +++ b/public/language/el/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/el/admin/extend/rewards.json b/public/language/el/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/el/admin/extend/rewards.json +++ b/public/language/el/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/el/admin/extend/widgets.json b/public/language/el/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/el/admin/extend/widgets.json +++ b/public/language/el/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/el/admin/manage/admins-mods.json b/public/language/el/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/el/admin/manage/admins-mods.json +++ b/public/language/el/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/el/admin/manage/categories.json b/public/language/el/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/el/admin/manage/categories.json +++ b/public/language/el/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/el/admin/manage/groups.json b/public/language/el/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/el/admin/manage/groups.json +++ b/public/language/el/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/el/admin/manage/privileges.json b/public/language/el/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/el/admin/manage/privileges.json +++ b/public/language/el/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/el/admin/manage/tags.json b/public/language/el/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/el/admin/manage/tags.json +++ b/public/language/el/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/el/admin/manage/uploads.json b/public/language/el/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/el/admin/manage/uploads.json +++ b/public/language/el/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/el/admin/manage/users.json b/public/language/el/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/el/admin/manage/users.json +++ b/public/language/el/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/el/admin/menu.json b/public/language/el/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/el/admin/menu.json +++ b/public/language/el/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/el/admin/settings/api.json b/public/language/el/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/el/admin/settings/api.json +++ b/public/language/el/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/el/admin/settings/general.json b/public/language/el/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/el/admin/settings/general.json +++ b/public/language/el/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/el/admin/settings/guest.json b/public/language/el/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/el/admin/settings/guest.json +++ b/public/language/el/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/el/admin/settings/navigation.json b/public/language/el/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/el/admin/settings/navigation.json +++ b/public/language/el/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/el/admin/settings/post.json b/public/language/el/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/el/admin/settings/post.json +++ b/public/language/el/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/el/admin/settings/reputation.json b/public/language/el/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/el/admin/settings/reputation.json +++ b/public/language/el/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/el/admin/settings/social.json b/public/language/el/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/el/admin/settings/social.json +++ b/public/language/el/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/el/admin/settings/tags.json b/public/language/el/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/el/admin/settings/tags.json +++ b/public/language/el/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/el/admin/settings/user.json b/public/language/el/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/el/admin/settings/user.json +++ b/public/language/el/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/el/error.json b/public/language/el/error.json index 266edbd814..cf0873a294 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Το όνομα χρήστη είναι πολύ μικρό", diff --git a/public/language/el/global.json b/public/language/el/global.json index 5c479578d8..5d40fbd663 100644 --- a/public/language/el/global.json +++ b/public/language/el/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Συνδέθηκες με επιτυχία", "save_changes": "Αποθήκευση Αλλαγών", "save": "Αποθήκευση", + "create": "Create", "cancel": "Cancel", "close": "Κλείσιμο", "pagination": "Σελιδοποίηση", diff --git a/public/language/el/modules.json b/public/language/el/modules.json index 85e2568287..5f6d4149f0 100644 --- a/public/language/el/modules.json +++ b/public/language/el/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/el/pages.json b/public/language/el/pages.json index 441e9272ec..be37254b9f 100644 --- a/public/language/el/pages.json +++ b/public/language/el/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Συνδεδεμένοι Χρήστες", "users/latest": "Πρόσφατοι Χρήστες", "users/sort-posts": "Users with the most posts", diff --git a/public/language/el/themes/harmony.json b/public/language/el/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/el/themes/harmony.json +++ b/public/language/el/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/el/topic.json b/public/language/el/topic.json index 5b415a6019..dd96139266 100644 --- a/public/language/el/topic.json +++ b/public/language/el/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Απάντηση στο %1", "composer.new_topic": "Νέο Θέμα", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "ανέβασμα...", "composer.thumb_url_label": "Επικόλληση του URL της εικόνας του θέματος", "composer.thumb_title": "Προσθήκη μιας εικόνας στο θέμα", diff --git a/public/language/el/user.json b/public/language/el/user.json index 5ca5c72819..0a77de8cfe 100644 --- a/public/language/el/user.json +++ b/public/language/el/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/el/users.json b/public/language/el/users.json index 5b92745352..0d5e93f395 100644 --- a/public/language/el/users.json +++ b/public/language/el/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Αναζήτηση", "enter_username": "Γράψε ένα όνομα χρήστη προς αναζήτηση", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Φόρτωση περισσότερων", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", "filter-by": "Filter By", diff --git a/public/language/en-GB/admin/admin.json b/public/language/en-GB/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/en-GB/admin/admin.json +++ b/public/language/en-GB/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/en-GB/admin/advanced/cache.json b/public/language/en-GB/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/en-GB/admin/advanced/cache.json +++ b/public/language/en-GB/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/en-GB/admin/advanced/database.json b/public/language/en-GB/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/en-GB/admin/advanced/database.json +++ b/public/language/en-GB/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/en-GB/admin/advanced/errors.json b/public/language/en-GB/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/en-GB/admin/advanced/errors.json +++ b/public/language/en-GB/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/en-GB/admin/appearance/customise.json b/public/language/en-GB/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/en-GB/admin/appearance/customise.json +++ b/public/language/en-GB/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/en-GB/admin/appearance/skins.json b/public/language/en-GB/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/en-GB/admin/appearance/skins.json +++ b/public/language/en-GB/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/en-GB/admin/appearance/themes.json b/public/language/en-GB/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/en-GB/admin/appearance/themes.json +++ b/public/language/en-GB/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/en-GB/admin/dashboard.json b/public/language/en-GB/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/en-GB/admin/dashboard.json +++ b/public/language/en-GB/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/en-GB/admin/development/logger.json b/public/language/en-GB/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/en-GB/admin/development/logger.json +++ b/public/language/en-GB/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/en-GB/admin/extend/plugins.json b/public/language/en-GB/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/en-GB/admin/extend/plugins.json +++ b/public/language/en-GB/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/en-GB/admin/extend/rewards.json b/public/language/en-GB/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/en-GB/admin/extend/rewards.json +++ b/public/language/en-GB/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/en-GB/admin/extend/widgets.json b/public/language/en-GB/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/en-GB/admin/extend/widgets.json +++ b/public/language/en-GB/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/en-GB/admin/manage/admins-mods.json b/public/language/en-GB/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/en-GB/admin/manage/admins-mods.json +++ b/public/language/en-GB/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/en-GB/admin/manage/categories.json b/public/language/en-GB/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/en-GB/admin/manage/categories.json +++ b/public/language/en-GB/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/en-GB/admin/manage/groups.json b/public/language/en-GB/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/en-GB/admin/manage/groups.json +++ b/public/language/en-GB/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/en-GB/admin/manage/privileges.json b/public/language/en-GB/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/en-GB/admin/manage/privileges.json +++ b/public/language/en-GB/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/en-GB/admin/manage/tags.json b/public/language/en-GB/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/en-GB/admin/manage/tags.json +++ b/public/language/en-GB/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/en-GB/admin/manage/uploads.json b/public/language/en-GB/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/en-GB/admin/manage/uploads.json +++ b/public/language/en-GB/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/en-GB/admin/manage/users.json b/public/language/en-GB/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/en-GB/admin/manage/users.json +++ b/public/language/en-GB/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/en-GB/admin/menu.json b/public/language/en-GB/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/en-GB/admin/menu.json +++ b/public/language/en-GB/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/en-GB/admin/settings/api.json b/public/language/en-GB/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/en-GB/admin/settings/api.json +++ b/public/language/en-GB/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/en-GB/admin/settings/general.json b/public/language/en-GB/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/en-GB/admin/settings/general.json +++ b/public/language/en-GB/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/en-GB/admin/settings/guest.json b/public/language/en-GB/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/en-GB/admin/settings/guest.json +++ b/public/language/en-GB/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/en-GB/admin/settings/navigation.json b/public/language/en-GB/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/en-GB/admin/settings/navigation.json +++ b/public/language/en-GB/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/en-GB/admin/settings/post.json b/public/language/en-GB/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/en-GB/admin/settings/post.json +++ b/public/language/en-GB/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/en-GB/admin/settings/reputation.json b/public/language/en-GB/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/en-GB/admin/settings/reputation.json +++ b/public/language/en-GB/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/en-GB/admin/settings/social.json b/public/language/en-GB/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/en-GB/admin/settings/social.json +++ b/public/language/en-GB/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/en-GB/admin/settings/tags.json b/public/language/en-GB/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/en-GB/admin/settings/tags.json +++ b/public/language/en-GB/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/en-GB/admin/settings/user.json b/public/language/en-GB/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/en-GB/admin/settings/user.json +++ b/public/language/en-GB/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index fa9fa6e319..a76f180081 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -47,6 +47,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", diff --git a/public/language/en-GB/global.json b/public/language/en-GB/global.json index 09a90dea4c..857bd05377 100644 --- a/public/language/en-GB/global.json +++ b/public/language/en-GB/global.json @@ -24,6 +24,7 @@ "save_changes": "Save Changes", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Close", diff --git a/public/language/en-GB/modules.json b/public/language/en-GB/modules.json index 3bb92ebe57..4a752ea387 100644 --- a/public/language/en-GB/modules.json +++ b/public/language/en-GB/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/en-GB/pages.json b/public/language/en-GB/pages.json index 3f1863fd32..aebfd7f1fb 100644 --- a/public/language/en-GB/pages.json +++ b/public/language/en-GB/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online Users", "users/latest": "Latest Users", diff --git a/public/language/en-GB/themes/harmony.json b/public/language/en-GB/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/en-GB/themes/harmony.json +++ b/public/language/en-GB/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json index 7cda91c8a3..c789ed0340 100644 --- a/public/language/en-GB/topic.json +++ b/public/language/en-GB/topic.json @@ -185,7 +185,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Replying to %1", "composer.new_topic": "New Topic", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "uploading...", "composer.thumb_url_label": "Paste a topic thumbnail URL", diff --git a/public/language/en-GB/user.json b/public/language/en-GB/user.json index 6fd7f11675..69bb631da7 100644 --- a/public/language/en-GB/user.json +++ b/public/language/en-GB/user.json @@ -155,6 +155,8 @@ "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", diff --git a/public/language/en-GB/users.json b/public/language/en-GB/users.json index bd3e1682ee..9f1674c699 100644 --- a/public/language/en-GB/users.json +++ b/public/language/en-GB/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Search", "enter_username": "Enter a username to search", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Load More", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", "filter-by": "Filter By", diff --git a/public/language/en-US/admin/admin.json b/public/language/en-US/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/en-US/admin/admin.json +++ b/public/language/en-US/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/en-US/admin/advanced/cache.json b/public/language/en-US/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/en-US/admin/advanced/cache.json +++ b/public/language/en-US/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/en-US/admin/advanced/database.json b/public/language/en-US/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/en-US/admin/advanced/database.json +++ b/public/language/en-US/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/en-US/admin/advanced/errors.json b/public/language/en-US/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/en-US/admin/advanced/errors.json +++ b/public/language/en-US/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/en-US/admin/appearance/customise.json b/public/language/en-US/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/en-US/admin/appearance/customise.json +++ b/public/language/en-US/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/en-US/admin/appearance/skins.json b/public/language/en-US/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/en-US/admin/appearance/skins.json +++ b/public/language/en-US/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/en-US/admin/appearance/themes.json b/public/language/en-US/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/en-US/admin/appearance/themes.json +++ b/public/language/en-US/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/en-US/admin/dashboard.json b/public/language/en-US/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/en-US/admin/dashboard.json +++ b/public/language/en-US/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/en-US/admin/development/logger.json b/public/language/en-US/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/en-US/admin/development/logger.json +++ b/public/language/en-US/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/en-US/admin/extend/plugins.json b/public/language/en-US/admin/extend/plugins.json index 57bbfa6086..ac2725ae5b 100644 --- a/public/language/en-US/admin/extend/plugins.json +++ b/public/language/en-US/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/en-US/admin/extend/rewards.json b/public/language/en-US/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/en-US/admin/extend/rewards.json +++ b/public/language/en-US/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/en-US/admin/extend/widgets.json b/public/language/en-US/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/en-US/admin/extend/widgets.json +++ b/public/language/en-US/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/en-US/admin/manage/admins-mods.json b/public/language/en-US/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/en-US/admin/manage/admins-mods.json +++ b/public/language/en-US/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/en-US/admin/manage/categories.json b/public/language/en-US/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/en-US/admin/manage/categories.json +++ b/public/language/en-US/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/en-US/admin/manage/groups.json b/public/language/en-US/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/en-US/admin/manage/groups.json +++ b/public/language/en-US/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/en-US/admin/manage/privileges.json b/public/language/en-US/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/en-US/admin/manage/privileges.json +++ b/public/language/en-US/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/en-US/admin/manage/tags.json b/public/language/en-US/admin/manage/tags.json index 6aa2236ac4..614ce2a4e7 100644 --- a/public/language/en-US/admin/manage/tags.json +++ b/public/language/en-US/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Color", "text-color": "Text Color", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/en-US/admin/manage/uploads.json b/public/language/en-US/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/en-US/admin/manage/uploads.json +++ b/public/language/en-US/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/en-US/admin/manage/users.json b/public/language/en-US/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/en-US/admin/manage/users.json +++ b/public/language/en-US/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/en-US/admin/menu.json b/public/language/en-US/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/en-US/admin/menu.json +++ b/public/language/en-US/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/en-US/admin/settings/api.json b/public/language/en-US/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/en-US/admin/settings/api.json +++ b/public/language/en-US/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/en-US/admin/settings/general.json b/public/language/en-US/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/en-US/admin/settings/general.json +++ b/public/language/en-US/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/en-US/admin/settings/guest.json b/public/language/en-US/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/en-US/admin/settings/guest.json +++ b/public/language/en-US/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/en-US/admin/settings/navigation.json b/public/language/en-US/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/en-US/admin/settings/navigation.json +++ b/public/language/en-US/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/en-US/admin/settings/post.json b/public/language/en-US/admin/settings/post.json index 14e7cb12a3..8d5c890f4d 100644 --- a/public/language/en-US/admin/settings/post.json +++ b/public/language/en-US/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/en-US/admin/settings/reputation.json b/public/language/en-US/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/en-US/admin/settings/reputation.json +++ b/public/language/en-US/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/en-US/admin/settings/social.json b/public/language/en-US/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/en-US/admin/settings/social.json +++ b/public/language/en-US/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/en-US/admin/settings/tags.json b/public/language/en-US/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/en-US/admin/settings/tags.json +++ b/public/language/en-US/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/en-US/admin/settings/user.json b/public/language/en-US/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/en-US/admin/settings/user.json +++ b/public/language/en-US/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index 8184b0b80a..b4b0db8f20 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Username too short", diff --git a/public/language/en-US/global.json b/public/language/en-US/global.json index 3fd311d535..d0846ffdfa 100644 --- a/public/language/en-US/global.json +++ b/public/language/en-US/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "You have successfully logged in", "save_changes": "Save Changes", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Close", "pagination": "Pagination", diff --git a/public/language/en-US/modules.json b/public/language/en-US/modules.json index 85e2568287..5f6d4149f0 100644 --- a/public/language/en-US/modules.json +++ b/public/language/en-US/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/en-US/pages.json b/public/language/en-US/pages.json index 6a73d4b365..d8ad0278c5 100644 --- a/public/language/en-US/pages.json +++ b/public/language/en-US/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online Users", "users/latest": "Latest Users", "users/sort-posts": "Users with the most posts", diff --git a/public/language/en-US/themes/harmony.json b/public/language/en-US/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/en-US/themes/harmony.json +++ b/public/language/en-US/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/en-US/topic.json b/public/language/en-US/topic.json index ed3d7cc11c..6ca9450d0f 100644 --- a/public/language/en-US/topic.json +++ b/public/language/en-US/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Replying to %1", "composer.new_topic": "New Topic", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "uploading...", "composer.thumb_url_label": "Paste a topic thumbnail URL", "composer.thumb_title": "Add a thumbnail to this topic", diff --git a/public/language/en-US/user.json b/public/language/en-US/user.json index 2c25b61497..95c660f170 100644 --- a/public/language/en-US/user.json +++ b/public/language/en-US/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/en-US/users.json b/public/language/en-US/users.json index 9bb40e8bc9..26ac2c001f 100644 --- a/public/language/en-US/users.json +++ b/public/language/en-US/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Search", "enter_username": "Enter a username to search", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Load More", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", "filter-by": "Filter By", diff --git a/public/language/en-x-pirate/admin/admin.json b/public/language/en-x-pirate/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/en-x-pirate/admin/admin.json +++ b/public/language/en-x-pirate/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/advanced/cache.json b/public/language/en-x-pirate/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/en-x-pirate/admin/advanced/cache.json +++ b/public/language/en-x-pirate/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/en-x-pirate/admin/advanced/database.json b/public/language/en-x-pirate/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/en-x-pirate/admin/advanced/database.json +++ b/public/language/en-x-pirate/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/en-x-pirate/admin/advanced/errors.json b/public/language/en-x-pirate/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/en-x-pirate/admin/advanced/errors.json +++ b/public/language/en-x-pirate/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/en-x-pirate/admin/appearance/customise.json b/public/language/en-x-pirate/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/en-x-pirate/admin/appearance/customise.json +++ b/public/language/en-x-pirate/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/appearance/skins.json b/public/language/en-x-pirate/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/en-x-pirate/admin/appearance/skins.json +++ b/public/language/en-x-pirate/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/en-x-pirate/admin/appearance/themes.json b/public/language/en-x-pirate/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/en-x-pirate/admin/appearance/themes.json +++ b/public/language/en-x-pirate/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/en-x-pirate/admin/dashboard.json b/public/language/en-x-pirate/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/en-x-pirate/admin/dashboard.json +++ b/public/language/en-x-pirate/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/en-x-pirate/admin/development/logger.json b/public/language/en-x-pirate/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/en-x-pirate/admin/development/logger.json +++ b/public/language/en-x-pirate/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/en-x-pirate/admin/extend/plugins.json b/public/language/en-x-pirate/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/en-x-pirate/admin/extend/plugins.json +++ b/public/language/en-x-pirate/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/en-x-pirate/admin/extend/rewards.json b/public/language/en-x-pirate/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/en-x-pirate/admin/extend/rewards.json +++ b/public/language/en-x-pirate/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/en-x-pirate/admin/extend/widgets.json b/public/language/en-x-pirate/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/en-x-pirate/admin/extend/widgets.json +++ b/public/language/en-x-pirate/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/en-x-pirate/admin/manage/admins-mods.json b/public/language/en-x-pirate/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/en-x-pirate/admin/manage/admins-mods.json +++ b/public/language/en-x-pirate/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/en-x-pirate/admin/manage/categories.json b/public/language/en-x-pirate/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/en-x-pirate/admin/manage/categories.json +++ b/public/language/en-x-pirate/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/en-x-pirate/admin/manage/groups.json b/public/language/en-x-pirate/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/en-x-pirate/admin/manage/groups.json +++ b/public/language/en-x-pirate/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/en-x-pirate/admin/manage/privileges.json b/public/language/en-x-pirate/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/en-x-pirate/admin/manage/privileges.json +++ b/public/language/en-x-pirate/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/en-x-pirate/admin/manage/tags.json b/public/language/en-x-pirate/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/en-x-pirate/admin/manage/tags.json +++ b/public/language/en-x-pirate/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/en-x-pirate/admin/manage/uploads.json b/public/language/en-x-pirate/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/en-x-pirate/admin/manage/uploads.json +++ b/public/language/en-x-pirate/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/en-x-pirate/admin/manage/users.json b/public/language/en-x-pirate/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/en-x-pirate/admin/manage/users.json +++ b/public/language/en-x-pirate/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/en-x-pirate/admin/menu.json b/public/language/en-x-pirate/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/en-x-pirate/admin/menu.json +++ b/public/language/en-x-pirate/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/en-x-pirate/admin/settings/api.json b/public/language/en-x-pirate/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/en-x-pirate/admin/settings/api.json +++ b/public/language/en-x-pirate/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/settings/general.json b/public/language/en-x-pirate/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/en-x-pirate/admin/settings/general.json +++ b/public/language/en-x-pirate/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/en-x-pirate/admin/settings/guest.json b/public/language/en-x-pirate/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/en-x-pirate/admin/settings/guest.json +++ b/public/language/en-x-pirate/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/en-x-pirate/admin/settings/navigation.json b/public/language/en-x-pirate/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/en-x-pirate/admin/settings/navigation.json +++ b/public/language/en-x-pirate/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/en-x-pirate/admin/settings/post.json b/public/language/en-x-pirate/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/en-x-pirate/admin/settings/post.json +++ b/public/language/en-x-pirate/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/en-x-pirate/admin/settings/reputation.json b/public/language/en-x-pirate/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/en-x-pirate/admin/settings/reputation.json +++ b/public/language/en-x-pirate/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/settings/social.json b/public/language/en-x-pirate/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/en-x-pirate/admin/settings/social.json +++ b/public/language/en-x-pirate/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/settings/tags.json b/public/language/en-x-pirate/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/en-x-pirate/admin/settings/tags.json +++ b/public/language/en-x-pirate/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/en-x-pirate/admin/settings/user.json b/public/language/en-x-pirate/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/en-x-pirate/admin/settings/user.json +++ b/public/language/en-x-pirate/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/en-x-pirate/error.json b/public/language/en-x-pirate/error.json index 8184b0b80a..b4b0db8f20 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Username too short", diff --git a/public/language/en-x-pirate/global.json b/public/language/en-x-pirate/global.json index cd748f88a1..dbf9e3e41d 100644 --- a/public/language/en-x-pirate/global.json +++ b/public/language/en-x-pirate/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Ye have successfully logged in", "save_changes": "Save yer Changes", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Shoot down", "pagination": "Pagination", diff --git a/public/language/en-x-pirate/modules.json b/public/language/en-x-pirate/modules.json index ff4a4a94ef..c7dfd3c200 100644 --- a/public/language/en-x-pirate/modules.json +++ b/public/language/en-x-pirate/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/en-x-pirate/pages.json b/public/language/en-x-pirate/pages.json index 6a73d4b365..d8ad0278c5 100644 --- a/public/language/en-x-pirate/pages.json +++ b/public/language/en-x-pirate/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online Users", "users/latest": "Latest Users", "users/sort-posts": "Users with the most posts", diff --git a/public/language/en-x-pirate/themes/harmony.json b/public/language/en-x-pirate/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/en-x-pirate/themes/harmony.json +++ b/public/language/en-x-pirate/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/en-x-pirate/topic.json b/public/language/en-x-pirate/topic.json index ed3d7cc11c..6ca9450d0f 100644 --- a/public/language/en-x-pirate/topic.json +++ b/public/language/en-x-pirate/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Replying to %1", "composer.new_topic": "New Topic", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "uploading...", "composer.thumb_url_label": "Paste a topic thumbnail URL", "composer.thumb_title": "Add a thumbnail to this topic", diff --git a/public/language/en-x-pirate/user.json b/public/language/en-x-pirate/user.json index 0eaa8f3171..8736927dcd 100644 --- a/public/language/en-x-pirate/user.json +++ b/public/language/en-x-pirate/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/en-x-pirate/users.json b/public/language/en-x-pirate/users.json index e956e76950..0daa1591f3 100644 --- a/public/language/en-x-pirate/users.json +++ b/public/language/en-x-pirate/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Search", "enter_username": "Gimme y'er handle", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Load More", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", "filter-by": "Filter By", diff --git a/public/language/es/admin/admin.json b/public/language/es/admin/admin.json index e8e0397d34..d9318a8105 100644 --- a/public/language/es/admin/admin.json +++ b/public/language/es/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Panel de control de administrador NodeBB", "settings-header-contents": "Contenidos", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Cambios no guardados", - "changes-not-saved-message": "NodeBB ha encontrado un problema guardando tus cambios. (%1)" + "changes-not-saved-message": "NodeBB ha encontrado un problema guardando tus cambios. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/es/admin/advanced/cache.json b/public/language/es/admin/advanced/cache.json index 99dff42744..ec5f2a5fce 100644 --- a/public/language/es/admin/advanced/cache.json +++ b/public/language/es/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Publicar Cache", "group-cache": "Agrupar cache", "local-cache": "Cache local", diff --git a/public/language/es/admin/advanced/database.json b/public/language/es/admin/advanced/database.json index b0c7a9da86..67175daea5 100644 --- a/public/language/es/admin/advanced/database.json +++ b/public/language/es/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Tiempo de acitividad en Segundos", "uptime-days": "Tiempo de actividad en días", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Versión MongoDB", "mongo.storage-engine": "Motor de almacenamiento", "mongo.collections": "Colecciones", diff --git a/public/language/es/admin/advanced/errors.json b/public/language/es/admin/advanced/errors.json index e053348013..a0cf86b3aa 100644 --- a/public/language/es/admin/advanced/errors.json +++ b/public/language/es/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figura %1", "error-events-per-day": "%1 eventos por dia", "error.404": "404 No Encontrado", diff --git a/public/language/es/admin/appearance/customise.json b/public/language/es/admin/appearance/customise.json index a433a01afa..6868e9aabd 100644 --- a/public/language/es/admin/appearance/customise.json +++ b/public/language/es/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "CSS/SASS Personalizado", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Activar cabecera personalizada", "custom-css.livereload": "Activar Recargar en Vivo", - "custom-css.livereload.description": "Activar esto para forzar todas las sesiones en todos los dispositivos que recaen de tu cuenta a limpiar cada vez que tú haces clic en guardar" + "custom-css.livereload.description": "Activar esto para forzar todas las sesiones en todos los dispositivos que recaen de tu cuenta a limpiar cada vez que tú haces clic en guardar", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/es/admin/appearance/skins.json b/public/language/es/admin/appearance/skins.json index 3f1a331fc2..0a863b1ed3 100644 --- a/public/language/es/admin/appearance/skins.json +++ b/public/language/es/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Cargando Temas...", "homepage": "Pagina Principal", "select-skin": "Selecciona el Tema", + "revert-skin": "Revert Skin", "current-skin": "Tema Actual", "skin-updated": "Tema Actualizado", "applied-success": "El tema %1 se aplicó correctamente", diff --git a/public/language/es/admin/appearance/themes.json b/public/language/es/admin/appearance/themes.json index bcaf02cfe2..6187ebb154 100644 --- a/public/language/es/admin/appearance/themes.json +++ b/public/language/es/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Buscando los temas instalados...", "homepage": "Pagina Principal", "select-theme": "Tema Seleccionado", + "revert-theme": "Revert Theme", "current-theme": "Tema Actual ", "no-themes": "No se encontraron temas instalados", "revert-confirm": "¿Estas seguro/a que quieres restaurar el tema de fabrica de NodeBB?", diff --git a/public/language/es/admin/dashboard.json b/public/language/es/admin/dashboard.json index e2bf94b664..f617609684 100644 --- a/public/language/es/admin/dashboard.json +++ b/public/language/es/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Actualizaciones", "running-version": "Estas ejecutando NodeBB v%1.", "keep-updated": "Asegúrate que tu NodeBB este al día en los últimos parches de seguridad y actualizaciones.", - "up-to-date": "

Estásactualizado/a

", - "upgrade-available": "

Una versión nueva (v%1) ha sido publicada. Consideraactualizar NodeBB.

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

Esta es una versión pre-publicación anticuada. Una versión nueva(v%1) ha sido publicada. Consideraactualizar NodeBB.

", - "prerelease-warning": "

Esta es una versión depre-lanzamiento de NodeBB. Algunas fallas pueden ocurrir.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum esta siendo ejecutado en modo de desarrollador. El foro puede estar abierto a vulnerabilidades potenciales; por favor contacta tu administrador del sistema.", - "latest-lookup-failed": "

No se pudo encontrar la última versión disponible de NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Noticias", "restart-not-required": "No se require reiniciar.", diff --git a/public/language/es/admin/development/logger.json b/public/language/es/admin/development/logger.json index 9a4396219c..fd7c0d9152 100644 --- a/public/language/es/admin/development/logger.json +++ b/public/language/es/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Ajustes de registro", "description": "Activando las casillas de verificación, recibirás logs/informes en tu terminal. Si especificas una ruta, en su lugar los logs/informes serán salvados a un archivo. los informes/logs HTTP son útiles para recolectar estadísticas sobre quien, cuando y qué accede a tu foro. Además crear informes de accesos mediante peticiones HTTP, podemos también informar sobre eventos socket.io. Los accesos socket.io, en co,binación con un monitor redis-cli, pueden ser muy útiles para aprender el funcionamiento interno de NodeBB.", "explanation": "Simplemente marca/desmarca los ajustes de registro para activar o desactivar registro en el aire. No se necesita reinicio.", diff --git a/public/language/es/admin/extend/plugins.json b/public/language/es/admin/extend/plugins.json index a639155f22..07e473b64c 100644 --- a/public/language/es/admin/extend/plugins.json +++ b/public/language/es/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Instalado", "active": "Activo", diff --git a/public/language/es/admin/extend/rewards.json b/public/language/es/admin/extend/rewards.json index 98ded7cfa7..a566f6b771 100644 --- a/public/language/es/admin/extend/rewards.json +++ b/public/language/es/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Recompensas", + "add-reward": "Add reward", "condition-if-users": "Si el Usuario", "condition-is": "Es:", "condition-then": "Entonces:", "max-claims": "Número de veces que una recompensa puede ser reclamada", "zero-infinite": "Introduzca 0 para infinito", + "select-reward": "Select reward", "delete": "Eliminar", "enable": "Habilitar", "disable": "Deshabilitar", diff --git a/public/language/es/admin/extend/widgets.json b/public/language/es/admin/extend/widgets.json index 88b823a724..ba881fb381 100644 --- a/public/language/es/admin/extend/widgets.json +++ b/public/language/es/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Widgets Disponibles", "explanation": "Selecciona un widget del menú desplegable y arrástralo hasta la plantilla de zona de widgets a la izquierda.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/es/admin/manage/admins-mods.json b/public/language/es/admin/manage/admins-mods.json index 6fd877c23d..2ca53852bc 100644 --- a/public/language/es/admin/manage/admins-mods.json +++ b/public/language/es/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administradores", "global-moderators": "Moderadores Globales", "moderators": "Moderators", "no-global-moderators": "Sin Moderadores Globales", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Sin Moderadores", "add-administrator": "Añadir Administrador", "add-global-moderator": "Añadir Moderador Global", diff --git a/public/language/es/admin/manage/categories.json b/public/language/es/admin/manage/categories.json index e069264095..94bc8ff37d 100644 --- a/public/language/es/admin/manage/categories.json +++ b/public/language/es/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Configuración de Categoría", + "edit-category": "Edit Category", "privileges": "Privilegios", - + "back-to-categories": "Back to categories", "name": "Nombre de Categoría", "description": "Descripción de Categoría", "bg-color": "Color de Fondo", @@ -15,8 +19,11 @@ "post-queue": "Cola de publicación", "tag-whitelist": "Etiquetas permitidas", "upload-image": "Subir Imagen", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Eliminar", "category-image": "Imagen de Categoría", + "image-and-icon": "Image & Icon", "parent-category": "Categoría Superior", "optional-parent-category": "(Opcional) Categoría Superior", "top-level": "Nivel superior", @@ -31,6 +38,7 @@ "disable": "Desactivar", "edit": "Editar", "analytics": "Analítica", + "view-category": "Ver categoría", "set-order": "Establecer orden", "set-order-help": "Configurar el orden de las categorías moverá esta categoría a ese orden y actualizará el orden de las demás categorías tal y como sea necesario. El valor mínimo de orden es 1, esto ubicará la categoría al principio.", diff --git a/public/language/es/admin/manage/groups.json b/public/language/es/admin/manage/groups.json index 71497fb63b..c38a0dcd9d 100644 --- a/public/language/es/admin/manage/groups.json +++ b/public/language/es/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Nombre del Grupo", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Editar", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Buscar", "create": "Crear Grupo", "description-placeholder": "Descripción corta de vuestro grupo", diff --git a/public/language/es/admin/manage/privileges.json b/public/language/es/admin/manage/privileges.json index deb1b600d8..a398cd444d 100644 --- a/public/language/es/admin/manage/privileges.json +++ b/public/language/es/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/es/admin/manage/tags.json b/public/language/es/admin/manage/tags.json index 9059f15130..caf9b3c542 100644 --- a/public/language/es/admin/manage/tags.json +++ b/public/language/es/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Tu foro todavía no tiene ningún tema con etiquetas (tags)", "bg-color": "Color de Fondo", "text-color": "Color del Texto", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Crear Etiqueta (tag)", + "add-tag": "Add tag", "modify": "Modificar Etiquetas (tags)", "rename": "Renombrar Etiquetas (tags)", "delete": "Borrar Etiquetas (tags) Seleccionadas", diff --git a/public/language/es/admin/manage/uploads.json b/public/language/es/admin/manage/uploads.json index 1f96accb24..66a1f029f4 100644 --- a/public/language/es/admin/manage/uploads.json +++ b/public/language/es/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Subir archivo", "filename": "Nombre del archivo", "usage": "Uso de Publicaciones", diff --git a/public/language/es/admin/manage/users.json b/public/language/es/admin/manage/users.json index 3e6af3c465..05d0112765 100644 --- a/public/language/es/admin/manage/users.json +++ b/public/language/es/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Usuarios", "edit": "Actions", "make-admin": "Hacer Administrador", @@ -49,6 +50,10 @@ "users.username": "nombre de usuario", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "cantidad de posts", "users.reputation": "reputación", diff --git a/public/language/es/admin/menu.json b/public/language/es/admin/menu.json index d59ea10b71..d34611740a 100644 --- a/public/language/es/admin/menu.json +++ b/public/language/es/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Información", "rebuild-and-restart-forum": "Reconstruir & Reiniciar Foro", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Reiniciar foro", + "restart": "Restart", "logout": "Cerrar sesión", "view-forum": "Ver foro", diff --git a/public/language/es/admin/settings/api.json b/public/language/es/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/es/admin/settings/api.json +++ b/public/language/es/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/es/admin/settings/general.json b/public/language/es/admin/settings/general.json index 3ddadb3079..76a1669eb8 100644 --- a/public/language/es/admin/settings/general.json +++ b/public/language/es/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Ajustes del Sitio", "title": "Título del Sitio", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "La URL del título del sitio", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Nombre de tu Comunidad", "title.show-in-header": "Mostrar Título del Sitio en el Encabezado", "browser-title": "Título del Navegador", @@ -16,7 +18,7 @@ "description": "Descripción del Sitio", "keywords": "Palabras Clave (keywords) del Sitio", "keywords-placeholder": "Palabras Clave (keywords) que describen tu comunidad, separadas por comas", - "logo": "Logo del Sitio", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Imagen", "logo.image-placeholder": "Ruta al logo que se mostrará en la cabecera del foro", "logo.upload": "Subir", diff --git a/public/language/es/admin/settings/guest.json b/public/language/es/admin/settings/guest.json index 0fbe97ac7b..2ec54ccb9c 100644 --- a/public/language/es/admin/settings/guest.json +++ b/public/language/es/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Permitir manejo de visitantes", "handles.enabled-help": "Esta opción expone un nuevo campo que permite a los invitados escoger un nombre para asociarse con cada entrada/respuesta que hagan. Si está desactivado, se les llamará simplemente \"Invitado\".", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/es/admin/settings/navigation.json b/public/language/es/admin/settings/navigation.json index a73b1a4454..41195b34e7 100644 --- a/public/language/es/admin/settings/navigation.json +++ b/public/language/es/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icono:", "change-icon": "cambio", "route": "Ruta:", diff --git a/public/language/es/admin/settings/post.json b/public/language/es/admin/settings/post.json index c6f532b019..a7d71bcb98 100644 --- a/public/language/es/admin/settings/post.json +++ b/public/language/es/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Ordenamiento de Respuestas", "sorting.post-default": "Ordenamiento de Respuestas por Defecto", "sorting.oldest-to-newest": "De más Antiguo a más Nuevo", @@ -23,10 +24,8 @@ "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.min-title-length": "Longitud Mínima del Título", - "restrictions.max-title-length": "Longitud Máxima del Título", - "restrictions.min-post-length": "Lóngitud Mínima de la Entrada o Respuesta", - "restrictions.max-post-length": "Longitud Máxima de la Entrada o Respuesta", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Días hasta que el tema se considera antiguo", "restrictions.stale-help": "Si un tema es considerado \"antiguo\", se mostrará un aviso a los usuarios que quieran responder a ese tema.", "timestamp": "Indicación de fecha y hora", @@ -41,10 +40,9 @@ "teaser.last-reply": "Última – Muestra la última respuesta, o un texto \"No hay respuestas\" si no hay respuestas.", "teaser.first": "Primera", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Configuraciones sin leer", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Días límite sin leer", "unread.min-track-last": "Entradas mínimas en un tema antes de indicar la última leída.", - "recent": "Configuraciones recientes", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Desactivar el filtrado de teas en categorías ignoradas en la página /reciente", "signature": "Configuraciones de Firma", diff --git a/public/language/es/admin/settings/reputation.json b/public/language/es/admin/settings/reputation.json index acf5eb5ebd..b236d5a90d 100644 --- a/public/language/es/admin/settings/reputation.json +++ b/public/language/es/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/es/admin/settings/social.json b/public/language/es/admin/settings/social.json index b9a67b4758..d04e75571b 100644 --- a/public/language/es/admin/settings/social.json +++ b/public/language/es/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Compartir entradas", - "info-plugins-additional": "Los plugins pueden añadir redes adicionales para compartir entradas/respuestas.", - "save-success": "¡Redes de Compartir Entradas salvadas con éxito!" + "info-plugins-additional": "Los plugins pueden añadir redes adicionales para compartir entradas/respuestas." } \ No newline at end of file diff --git a/public/language/es/admin/settings/tags.json b/public/language/es/admin/settings/tags.json index b0853840ee..f87bd291ea 100644 --- a/public/language/es/admin/settings/tags.json +++ b/public/language/es/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Etiquetas (tags) mínimas por tema", "max-per-topic": "Etiquetas (tags) Máximas por Tema", "min-length": "Longitud Mínima de Etiqueta (tag)", diff --git a/public/language/es/admin/settings/user.json b/public/language/es/admin/settings/user.json index e57c6e6e07..27491ada7d 100644 --- a/public/language/es/admin/settings/user.json +++ b/public/language/es/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Longitud Mínima de \"Sobre Mí\"", "terms-of-use": "Términos de Uso del Foro (Dejar en blanco para desactivar)", "user-search": "Búsqueda de Usuario\n", - "user-search-results-per-page": "Número de resultados para mostrar", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Configuración de Usuario por Defecto", "show-email": "Mostrar email", "show-fullname": "Mostrar nombre completo", diff --git a/public/language/es/error.json b/public/language/es/error.json index ae4e9ff46e..c99fa1c0f7 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "El ejecutable \"sendmail\" no ha sido encontrado, por favor asegúrate de que esta instalado en tu sistema y es accesible por el usuario que ejecuta NodeBB. ", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Nombre de usuario es demasiado corto", diff --git a/public/language/es/global.json b/public/language/es/global.json index 30b52fbbd5..bd2dac6526 100644 --- a/public/language/es/global.json +++ b/public/language/es/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Identificado satisfactoriamente", "save_changes": "Guardar cambios", "save": "Guardar", + "create": "Create", "cancel": "Cancel", "close": "Cerrar", "pagination": "Paginación", diff --git a/public/language/es/modules.json b/public/language/es/modules.json index 0f021e46d4..b08bc94649 100644 --- a/public/language/es/modules.json +++ b/public/language/es/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chatear con", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/es/pages.json b/public/language/es/pages.json index c17edf04cd..caf8655898 100644 --- a/public/language/es/pages.json +++ b/public/language/es/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Contenido reportado", "ip-blacklist": "Lista negra de IPS", "post-queue": "Cola de Mensajes", + "registration-queue": "Registration Queue", "users/online": "Conectados", "users/latest": "Últimos usuarios", "users/sort-posts": "Top por mensajes", diff --git a/public/language/es/search.json b/public/language/es/search.json index 790878e39d..c76b2afd53 100644 --- a/public/language/es/search.json +++ b/public/language/es/search.json @@ -1,20 +1,20 @@ { - "type-to-search": "Type to search", - "results_matching": "%1 resuldado(s) coinciden con \"%2\". (%3 segundos)", + "type-to-search": "Escribe aquí para buscar", + "results_matching": "%1 resultado(s) coinciden con \"%2\". (%3 segundos)", "no-matches": "No se encontraron coincidencias", "advanced-search": "Búsqueda Avanzada", "in": "En", - "in-titles": "In titles", - "in-titles-posts": "In titles and posts", - "in-posts": "In posts", - "in-categories": "In categories", - "in-users": "In users", - "in-tags": "In tags", - "categories": "Categories", - "all-categories": "All categories", - "categories-x": "Categories: %1", - "categories-watched-categories": "Categories: Watched categories", - "type-a-category": "Type a category", + "in-titles": "En títulos", + "in-titles-posts": "En títulos y posts", + "in-posts": "En posts", + "in-categories": "En categorías", + "in-users": "En usuarios", + "in-tags": "En etiquetas", + "categories": "Categorías", + "all-categories": "Todas las categorías", + "categories-x": "Categorías: %1", + "categories-watched-categories": "Categorías: Categorías vistas", + "type-a-category": "Introduce una categoría", "tags": "Tags", "tags-x": "Tags: %1", "type-a-tag": "Type a tag", diff --git a/public/language/es/themes/harmony.json b/public/language/es/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/es/themes/harmony.json +++ b/public/language/es/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/es/topic.json b/public/language/es/topic.json index 6ebe559ec9..f46e57a467 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "En respuesta a %1", "composer.new_topic": "Nuevo tema", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "subiendo...", "composer.thumb_url_label": "Agrega una URL de miniatura para el hilo", "composer.thumb_title": "Agregar miniatura a este tema", diff --git a/public/language/es/user.json b/public/language/es/user.json index 615c42c7bb..ac3977c5a0 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Sin título de grupo", "select-skin": "Seleccionar una plantilla", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Seleccione una página de inicio", "homepage": "Página de inicio", "homepage_description": "Seleccione una página para su uso habitual como la página principal del foro o 'Ninguno' para utilizar la página de inicio.", diff --git a/public/language/es/users.json b/public/language/es/users.json index 7a6b023a21..40df84108b 100644 --- a/public/language/es/users.json +++ b/public/language/es/users.json @@ -6,7 +6,7 @@ "most_flags": "Más Reportados", "search": "Buscar", "enter_username": "Ingresa el nombre de usuario que quieres buscar", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Cargar más", "users-found-search-took": "¡%1 usuario(s) encontrado! La búsqueda ha llevado %2 segundos.", "filter-by": "Filtrar Por", diff --git a/public/language/et/admin/admin.json b/public/language/et/admin/admin.json index 5c47726d9c..d430b9e319 100644 --- a/public/language/et/admin/admin.json +++ b/public/language/et/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Administraatori kontrollpaneel", "settings-header-contents": "Sisu", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/et/admin/advanced/cache.json b/public/language/et/admin/advanced/cache.json index f132ef4845..52dc62df29 100644 --- a/public/language/et/admin/advanced/cache.json +++ b/public/language/et/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Postituste vahemälu", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/et/admin/advanced/database.json b/public/language/et/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/et/admin/advanced/database.json +++ b/public/language/et/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/et/admin/advanced/errors.json b/public/language/et/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/et/admin/advanced/errors.json +++ b/public/language/et/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/et/admin/appearance/customise.json b/public/language/et/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/et/admin/appearance/customise.json +++ b/public/language/et/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/et/admin/appearance/skins.json b/public/language/et/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/et/admin/appearance/skins.json +++ b/public/language/et/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/et/admin/appearance/themes.json b/public/language/et/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/et/admin/appearance/themes.json +++ b/public/language/et/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/et/admin/dashboard.json b/public/language/et/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/et/admin/dashboard.json +++ b/public/language/et/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/et/admin/development/logger.json b/public/language/et/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/et/admin/development/logger.json +++ b/public/language/et/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/et/admin/extend/plugins.json b/public/language/et/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/et/admin/extend/plugins.json +++ b/public/language/et/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/et/admin/extend/rewards.json b/public/language/et/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/et/admin/extend/rewards.json +++ b/public/language/et/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/et/admin/extend/widgets.json b/public/language/et/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/et/admin/extend/widgets.json +++ b/public/language/et/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/et/admin/manage/admins-mods.json b/public/language/et/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/et/admin/manage/admins-mods.json +++ b/public/language/et/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/et/admin/manage/categories.json b/public/language/et/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/et/admin/manage/categories.json +++ b/public/language/et/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/et/admin/manage/groups.json b/public/language/et/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/et/admin/manage/groups.json +++ b/public/language/et/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/et/admin/manage/privileges.json b/public/language/et/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/et/admin/manage/privileges.json +++ b/public/language/et/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/et/admin/manage/tags.json b/public/language/et/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/et/admin/manage/tags.json +++ b/public/language/et/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/et/admin/manage/uploads.json b/public/language/et/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/et/admin/manage/uploads.json +++ b/public/language/et/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/et/admin/manage/users.json b/public/language/et/admin/manage/users.json index c62c041122..266a22b3a9 100644 --- a/public/language/et/admin/manage/users.json +++ b/public/language/et/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Kasutajad", "edit": "Actions", "make-admin": "Ülenda administraatoriks", @@ -49,6 +50,10 @@ "users.username": "Kasutajanimi", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "Postituste arv", "users.reputation": "Reputatsioon", diff --git a/public/language/et/admin/menu.json b/public/language/et/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/et/admin/menu.json +++ b/public/language/et/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/et/admin/settings/api.json b/public/language/et/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/et/admin/settings/api.json +++ b/public/language/et/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/et/admin/settings/general.json b/public/language/et/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/et/admin/settings/general.json +++ b/public/language/et/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/et/admin/settings/guest.json b/public/language/et/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/et/admin/settings/guest.json +++ b/public/language/et/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/et/admin/settings/navigation.json b/public/language/et/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/et/admin/settings/navigation.json +++ b/public/language/et/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/et/admin/settings/post.json b/public/language/et/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/et/admin/settings/post.json +++ b/public/language/et/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/et/admin/settings/reputation.json b/public/language/et/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/et/admin/settings/reputation.json +++ b/public/language/et/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/et/admin/settings/social.json b/public/language/et/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/et/admin/settings/social.json +++ b/public/language/et/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/et/admin/settings/tags.json b/public/language/et/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/et/admin/settings/tags.json +++ b/public/language/et/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/et/admin/settings/user.json b/public/language/et/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/et/admin/settings/user.json +++ b/public/language/et/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/et/error.json b/public/language/et/error.json index 8820d54b23..a88bb0e0c7 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail'i käivitatavat ei leitud, palun tee kindlaks, et see on installeeritud ja on käivitatav kasutaja poolt, kes käitab NodeBB't.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Kasutajanimi on liiga lühike", diff --git a/public/language/et/global.json b/public/language/et/global.json index cc1055b63f..17b4ae6fb5 100644 --- a/public/language/et/global.json +++ b/public/language/et/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Edukalt sisse logitud", "save_changes": "Salvesta muudatused", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Sulge", "pagination": "Lehekülgede numeratsioon", diff --git a/public/language/et/modules.json b/public/language/et/modules.json index 85928cb60b..f01fed2a2c 100644 --- a/public/language/et/modules.json +++ b/public/language/et/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/et/pages.json b/public/language/et/pages.json index 4b581e9b84..c82767d3c1 100644 --- a/public/language/et/pages.json +++ b/public/language/et/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Sisseloginud kasutajad", "users/latest": "Hiljutised kasutajad", "users/sort-posts": "Kasutajad, kel on enim postitusi", diff --git a/public/language/et/themes/harmony.json b/public/language/et/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/et/themes/harmony.json +++ b/public/language/et/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/et/topic.json b/public/language/et/topic.json index ab9e1e68da..777797037a 100644 --- a/public/language/et/topic.json +++ b/public/language/et/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Vastad %1'le", "composer.new_topic": "Uus teema", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "laen üles...", "composer.thumb_url_label": "Kleebi teema marge.", "composer.thumb_title": "Lisa märge sellele teemale", diff --git a/public/language/et/user.json b/public/language/et/user.json index 0cf80ec199..8c2e13adc3 100644 --- a/public/language/et/user.json +++ b/public/language/et/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Grupi tiitel puudub", "select-skin": "Vali välimus", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Vali avaleht", "homepage": "Avaleht", "homepage_description": "Valige leht, mida kasutada foorumi esilehena või 'None', et kasutada vaikimisi esilehte.", diff --git a/public/language/et/users.json b/public/language/et/users.json index 6dbe0ecf75..a798aca008 100644 --- a/public/language/et/users.json +++ b/public/language/et/users.json @@ -6,7 +6,7 @@ "most_flags": "Enim raporteerimisi", "search": "Otsi", "enter_username": "Sisesta kasutajanimi, keda soovid otsida", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Lae veel", "users-found-search-took": "%1 kasutaja(t) leiti! Otsing kestis %2 sekundit.", "filter-by": "Filtreeri", diff --git a/public/language/fa-IR/admin/admin.json b/public/language/fa-IR/admin/admin.json index cde7da1de9..681ce4a2a1 100644 --- a/public/language/fa-IR/admin/admin.json +++ b/public/language/fa-IR/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | کنترل پنل مدیر کل نود‌بی‌بی", "settings-header-contents": "محتوا", - "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", + "changes-not-saved": "تغییرات ذخیره نشد", + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/advanced/cache.json b/public/language/fa-IR/admin/advanced/cache.json index 7e2280f2bb..b0aa10e284 100644 --- a/public/language/fa-IR/admin/advanced/cache.json +++ b/public/language/fa-IR/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "کش دیدگاه ", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/fa-IR/admin/advanced/database.json b/public/language/fa-IR/admin/advanced/database.json index ba2003eff0..f6a31864e0 100644 --- a/public/language/fa-IR/admin/advanced/database.json +++ b/public/language/fa-IR/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "آپتایم در ثانیه", "uptime-days": "آپتایم در روز", - "mongo": "پایگاه داده مونگو", + "mongo": "MongoDB", "mongo.version": "ورژن پایگاه داده مونگو دیبی", "mongo.storage-engine": "سیستم ذخیره سازی", "mongo.collections": "مجموعه ها", diff --git a/public/language/fa-IR/admin/advanced/errors.json b/public/language/fa-IR/admin/advanced/errors.json index de75745bf6..cd1e4793d8 100644 --- a/public/language/fa-IR/admin/advanced/errors.json +++ b/public/language/fa-IR/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "ارور 404 یافت نشد", diff --git a/public/language/fa-IR/admin/appearance/customise.json b/public/language/fa-IR/admin/appearance/customise.json index 5a3b2bfd15..4495400030 100644 --- a/public/language/fa-IR/admin/appearance/customise.json +++ b/public/language/fa-IR/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/appearance/skins.json b/public/language/fa-IR/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/fa-IR/admin/appearance/skins.json +++ b/public/language/fa-IR/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/fa-IR/admin/appearance/themes.json b/public/language/fa-IR/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/fa-IR/admin/appearance/themes.json +++ b/public/language/fa-IR/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/fa-IR/admin/dashboard.json b/public/language/fa-IR/admin/dashboard.json index cbc081c365..239407fa56 100644 --- a/public/language/fa-IR/admin/dashboard.json +++ b/public/language/fa-IR/admin/dashboard.json @@ -5,7 +5,7 @@ "logins": "Logins", "new-users": "New Users", "posts": "Posts", - "topics": "Topics", + "topics": "موضوع‌ها", "page-views-seven": "Last 7 Days", "page-views-thirty": "Last 30 Days", "page-views-last-day": "Last 24 hours", @@ -21,18 +21,18 @@ "stats.this-week": "This Week", "stats.last-month": "Last Month", "stats.this-month": "This Month", - "stats.all": "All Time", + "stats.all": "همیشه", "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/fa-IR/admin/development/logger.json b/public/language/fa-IR/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/fa-IR/admin/development/logger.json +++ b/public/language/fa-IR/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/fa-IR/admin/extend/plugins.json b/public/language/fa-IR/admin/extend/plugins.json index f7e60c4360..71635abd71 100644 --- a/public/language/fa-IR/admin/extend/plugins.json +++ b/public/language/fa-IR/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", @@ -19,7 +20,7 @@ "order.description": "Certain plugins work ideally when they are initialised before/after other plugins.", "order.explanation": "Plugins load in the order specified here, from top to bottom", - "plugin-item.themes": "Themes", + "plugin-item.themes": "تم‌ها", "plugin-item.deactivate": "Deactivate", "plugin-item.activate": "Activate", "plugin-item.install": "Install", diff --git a/public/language/fa-IR/admin/extend/rewards.json b/public/language/fa-IR/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/fa-IR/admin/extend/rewards.json +++ b/public/language/fa-IR/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/fa-IR/admin/extend/widgets.json b/public/language/fa-IR/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/fa-IR/admin/extend/widgets.json +++ b/public/language/fa-IR/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/fa-IR/admin/manage/admins-mods.json b/public/language/fa-IR/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/fa-IR/admin/manage/admins-mods.json +++ b/public/language/fa-IR/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/fa-IR/admin/manage/categories.json b/public/language/fa-IR/admin/manage/categories.json index 8cc20c9205..c940769f68 100644 --- a/public/language/fa-IR/admin/manage/categories.json +++ b/public/language/fa-IR/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "تنظیمات دسته‌بندی", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "نام دسته‌بندی", "description": "توضیحات دسته‌بندی", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/fa-IR/admin/manage/groups.json b/public/language/fa-IR/admin/manage/groups.json index bd8c5bce15..9469b7b23a 100644 --- a/public/language/fa-IR/admin/manage/groups.json +++ b/public/language/fa-IR/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,8 +16,8 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", - "search-placeholder": "Search", + "members-csv": "Members (CSV)", + "search-placeholder": "جستجو", "create": "Create Group", "description-placeholder": "A short description about your group", "create-button": "Create", @@ -33,7 +39,7 @@ "edit.hidden": "Hidden", "edit.hidden-details": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", "edit.add-user": "Add User to Group", - "edit.add-user-search": "Search Users", + "edit.add-user-search": "جستجو‌ی کاربران", "edit.members": "Member List", "control-panel": "Groups Control Panel", "revert": "Revert", diff --git a/public/language/fa-IR/admin/manage/privileges.json b/public/language/fa-IR/admin/manage/privileges.json index 0e8d7a4ff9..1ade003697 100644 --- a/public/language/fa-IR/admin/manage/privileges.json +++ b/public/language/fa-IR/admin/manage/privileges.json @@ -1,11 +1,13 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", "user-privileges": "User Privileges", "edit-privileges": "Edit Privileges", - "select-clear-all": "Select/Clear All", - "chat": "Chat", + "select-clear-all": "انتخاب/ حذف همه ", + "chat": "چت", "upload-images": "Upload Images", "upload-files": "Upload Files", "signature": "Signature", @@ -25,7 +27,7 @@ "access-category": "Access Category", "access-topics": "Access Topics", "create-topics": "Create Topics", - "reply-to-topics": "Reply to Topics", + "reply-to-topics": "پاسخ به موضوع‌ها", "schedule-topics": "Schedule Topics", "tag-topics": "Tag Topics", "edit-posts": "Edit Posts", @@ -34,7 +36,7 @@ "view_deleted": "View Deleted Posts", "upvote-posts": "Upvote Posts", "downvote-posts": "Downvote Posts", - "delete-topics": "Delete Topics", + "delete-topics": "حذف موضوع‌ها", "purge": "Purge", "moderate": "Moderate", "admin-dashboard": "Dashboard", diff --git a/public/language/fa-IR/admin/manage/tags.json b/public/language/fa-IR/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/fa-IR/admin/manage/tags.json +++ b/public/language/fa-IR/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/fa-IR/admin/manage/uploads.json b/public/language/fa-IR/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/fa-IR/admin/manage/uploads.json +++ b/public/language/fa-IR/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/fa-IR/admin/manage/users.json b/public/language/fa-IR/admin/manage/users.json index 6a0fd92859..e6b082afe0 100644 --- a/public/language/fa-IR/admin/manage/users.json +++ b/public/language/fa-IR/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/fa-IR/admin/menu.json b/public/language/fa-IR/admin/menu.json index 135e14ace0..575786e68e 100644 --- a/public/language/fa-IR/admin/menu.json +++ b/public/language/fa-IR/admin/menu.json @@ -3,14 +3,14 @@ "dashboard/overview": "Overview", "dashboard/logins": "Logins", "dashboard/users": "Users", - "dashboard/topics": "Topics", - "dashboard/searches": "Searches", + "dashboard/topics": "موضوع‌ها", + "dashboard/searches": "جستجوها", "section-general": "عمومی", "section-manage": "Manage", "manage/categories": "دسته‌بندی‌ها", "manage/privileges": "Privileges", - "manage/tags": "Tags", + "manage/tags": "برچسب‌ها", "manage/users": "کاربران", "manage/admins-mods": "Admins & Mods", "manage/registration": "صف ثبت نام", @@ -26,13 +26,13 @@ "settings/navigation": "Navigation", "settings/reputation": "Reputation & Flags", "settings/email": "رایانامه", - "settings/user": "Users", + "settings/user": "کاربران", "settings/group": "Groups", - "settings/guest": "Guests", + "settings/guest": "مهمان‌ها", "settings/uploads": "Uploads", "settings/languages": "Languages", - "settings/post": "Posts", - "settings/chat": "Chats", + "settings/post": "پست‌ها", + "settings/chat": "چت‌ها", "settings/pagination": "Pagination", "settings/tags": "برچسب ها", "settings/notifications": "آگاه‌سازی‌ها", @@ -47,8 +47,8 @@ "settings.page-title": "%1 Settings", "section-appearance": "Appearance", - "appearance/themes": "Themes", - "appearance/skins": "Skins", + "appearance/themes": "تم‌ها", + "appearance/skins": "پوسته‌ها", "appearance/customise": "Custom Content (HTML/JS/CSS)", "section-extend": "گسترش", @@ -72,11 +72,13 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", - "search.placeholder": "Search settings", + "search.placeholder": "تنظیمات جستجو", "search.no-results": "هیچ نتیجه ای وجود ندارد", "search.search-forum": "جستجو در انجمن برای ", "search.keep-typing": "لطفا برای مشاهده نتیجه بیشتر بنویسید", diff --git a/public/language/fa-IR/admin/settings/api.json b/public/language/fa-IR/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/fa-IR/admin/settings/api.json +++ b/public/language/fa-IR/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/chat.json b/public/language/fa-IR/admin/settings/chat.json index 67898611e7..0d10f1cb68 100644 --- a/public/language/fa-IR/admin/settings/chat.json +++ b/public/language/fa-IR/admin/settings/chat.json @@ -3,9 +3,9 @@ "disable": "Disable chat", "disable-editing": "Disable chat message editing/deletion", "disable-editing-help": "Administrators and global moderators are exempt from this restriction", - "max-length": "Maximum length of chat messages", - "max-room-size": "Maximum number of users in chat rooms", - "delay": "Time between chat messages in milliseconds", + "max-length": "بیشترین طول پیام‌های چت ", + "max-room-size": "بیشترین تعداد کاربران در چت‌روم ", + "delay": "زمان بین پیام های چت به میلی ثانیه", "notification-delay": "Notification delay for chat messages. (0 for no 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)" diff --git a/public/language/fa-IR/admin/settings/general.json b/public/language/fa-IR/admin/settings/general.json index 29b939861b..85deb8f548 100644 --- a/public/language/fa-IR/admin/settings/general.json +++ b/public/language/fa-IR/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", @@ -35,10 +37,10 @@ "maskable-icon.help": "Recommended size and format: 512x512, PNG format only. If no maskable icon is specified, NodeBB will fall back to the Touch Icon.", "outgoing-links": "Outgoing Links", "outgoing-links.warning-page": "Use Outgoing Links Warning Page", - "search": "Search", - "search-default-in": "Search In", - "search-default-in-quick": "Quick Search In", - "search-default-sort-by": "Sort by", + "search": "جستجو", + "search-default-in": "جستجو در ", + "search-default-in-quick": "جستجوی سریع در ", + "search-default-sort-by": "مرتب‌سازی بر اساس", "outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page", "site-colors": "Site Color Metadata", "theme-color": "Theme Color", diff --git a/public/language/fa-IR/admin/settings/guest.json b/public/language/fa-IR/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/fa-IR/admin/settings/guest.json +++ b/public/language/fa-IR/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/fa-IR/admin/settings/navigation.json b/public/language/fa-IR/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/fa-IR/admin/settings/navigation.json +++ b/public/language/fa-IR/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/fa-IR/admin/settings/post.json b/public/language/fa-IR/admin/settings/post.json index 786f361ffc..251e60f49b 100644 --- a/public/language/fa-IR/admin/settings/post.json +++ b/public/language/fa-IR/admin/settings/post.json @@ -1,11 +1,12 @@ { - "sorting": "Post Sorting", - "sorting.post-default": "Default Post Sorting", + "general": "General", + "sorting": "مرتب‌سازی پست", + "sorting.post-default": "مرتب‌سازی پیش‌فرض پست", "sorting.oldest-to-newest": "Oldest to Newest", "sorting.newest-to-oldest": "Newest to Oldest", - "sorting.most-votes": "Most Votes", + "sorting.most-votes": "بیشترین رای‌ها", "sorting.most-posts": "بیشترین پست", - "sorting.topic-default": "Default Topic Sorting", + "sorting.topic-default": "مرتب‌سازی پیش‌فرض موضوع", "length": "Post Length", "post-queue": "Post Queue", "restrictions": "Posting Restrictions", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/fa-IR/admin/settings/reputation.json b/public/language/fa-IR/admin/settings/reputation.json index e790ec094f..0f12e67296 100644 --- a/public/language/fa-IR/admin/settings/reputation.json +++ b/public/language/fa-IR/admin/settings/reputation.json @@ -10,7 +10,7 @@ "min-rep-downvote": "Minimum reputation to downvote posts", "downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)", "downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)", - "min-rep-chat": "Minimum reputation to send chat messages", + "min-rep-chat": "کمترین اعتبار برای ارسال پیام‌های چت ", "min-rep-flag": "Minimum reputation to flag posts", "min-rep-website": "Minimum reputation to add \"Website\" to user profile", "min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile", @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/social.json b/public/language/fa-IR/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/fa-IR/admin/settings/social.json +++ b/public/language/fa-IR/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/sounds.json b/public/language/fa-IR/admin/settings/sounds.json index 95ccbde0f1..202b10fee6 100644 --- a/public/language/fa-IR/admin/settings/sounds.json +++ b/public/language/fa-IR/admin/settings/sounds.json @@ -1,9 +1,9 @@ { "notifications": "Notifications", - "chat-messages": "Chat Messages", + "chat-messages": "پیام‌های چت ", "play-sound": "Play", "incoming-message": "Incoming Message", "outgoing-message": "Outgoing Message", "upload-new-sound": "Upload New Sound", - "saved": "Settings Saved" + "saved": "تنظیمات ذخیره شد " } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/tags.json b/public/language/fa-IR/admin/settings/tags.json index 080010f6f0..7b36ab0f15 100644 --- a/public/language/fa-IR/admin/settings/tags.json +++ b/public/language/fa-IR/admin/settings/tags.json @@ -3,10 +3,11 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", "max-length": "Maximum Tag Length", - "related-topics": "Related Topics", + "related-topics": "تاپیک‌های مرتبط", "max-related-topics": "Maximum related topics to display (if supported by theme)" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/user.json b/public/language/fa-IR/admin/settings/user.json index c8c418a206..dd55d3fc75 100644 --- a/public/language/fa-IR/admin/settings/user.json +++ b/public/language/fa-IR/admin/settings/user.json @@ -15,7 +15,7 @@ "hide-fullname": "Hide fullname from users", "hide-email": "Hide email from users", "show-fullname-as-displayname": "Show user's full name as their display name if available", - "themes": "Themes", + "themes": "تم‌ها", "disable-user-skins": "Prevent users from choosing a custom skin", "account-protection": "Account Protection", "admin-relogin-duration": "Admin relogin duration (minutes)", @@ -56,14 +56,14 @@ "max-username-length": "Maximum Username Length", "min-password-length": "Minimum Password Length", "min-password-strength": "Minimum Password Strength", - "max-about-me-length": "Maximum About Me Length", + "max-about-me-length": "بیشترین طول درباره‌ی من ", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", - "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search": "جستجوی کاربر", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", - "restrict-chat": "Only allow chat messages from users I follow", + "restrict-chat": "فقط از کاربرانی که دنبال می کنم پیام خصوصی دریافت کنم", "outgoing-new-tab": "Open outgoing links in new tab", "topic-search": "Enable In-Topic Searching", "update-url-with-post-index": "Update url with post index while browsing topics", @@ -73,10 +73,10 @@ "digest-freq.weekly": "Weekly", "digest-freq.biweekly": "Bi-Weekly", "digest-freq.monthly": "Monthly", - "email-chat-notifs": "Send an email if a new chat message arrives and I am not online", + "email-chat-notifs": "اگر پیام چت جدیدی رسید و من آنلاین نبودم ایمیل بفرستید", "email-post-notif": "Send an email when replies are made to topics I am subscribed to", - "follow-created-topics": "Follow topics you create", - "follow-replied-topics": "Follow topics that you reply to", + "follow-created-topics": "دنبال کردن تاپیک‌هایی که شما ایجاد کردین", + "follow-replied-topics": "دنبال‌ کردن تاپیک‌هایی که شما در آن پست گذاشتین ", "default-notification-settings": "Default notification settings", "categoryWatchState": "Default category watch state", "categoryWatchState.watching": "Watching", diff --git a/public/language/fa-IR/category.json b/public/language/fa-IR/category.json index c6a99107cd..aa9ad42f11 100644 --- a/public/language/fa-IR/category.json +++ b/public/language/fa-IR/category.json @@ -15,9 +15,9 @@ "watching.description": "موضوع ها را در بخش نخوانده ها و تازه ها نشان بده", "not-watching.description": "موضوع ها را در بخش نخوانده ها نمایش نده و در بخش تازه ها نشان بده", "ignoring.description": "موضوع ها را در بخش نخوانده ها و تازه ها نمایش نده", - "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", + "watching.message": "اکنون شما به‌روزرسانی‌های این دسته و تمام زیر دسته‌هایش را پیگیری می‌کنید", + "notwatching.message": "اکنون شما به‌روزرسانی‌های این دسته و همه‌ی زیر دسته‌هایش را پیگیری نمی کنید ", + "ignoring.message": "اکنون شما به‌روزرسانی‌های این دسته و همه‌ی زیر دسته‌هایش را نادیده گرفته‌اید ", "watched-categories": "دسته بندی های پیگیری شده", - "x-more-categories": "%1 more categories" + "x-more-categories": "1% دسته‌های بیشتر " } \ No newline at end of file diff --git a/public/language/fa-IR/email.json b/public/language/fa-IR/email.json index 11a3bbe334..cc9a6b6964 100644 --- a/public/language/fa-IR/email.json +++ b/public/language/fa-IR/email.json @@ -41,7 +41,7 @@ "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.cta-new-chat": "مشاهده چت", "notif.test.short": "Testing Notifications", "notif.test.long": "This is a test of the notifications email. Send help!", "test.text1": "این یک ایمیل امتحانی جهت تایید اینکه فرستنده ایمیل برای انجمن NodeBB شما به درستی تنظیم و نصب شده است", diff --git a/public/language/fa-IR/error.json b/public/language/fa-IR/error.json index 3a9bdae131..5b3bf5543d 100644 --- a/public/language/fa-IR/error.json +++ b/public/language/fa-IR/error.json @@ -6,18 +6,18 @@ "not-logged-in": "وارد حساب کاربری نشده‌اید.", "account-locked": "حساب کاربری شما موقتاً مسدود شده است.", "search-requires-login": "استفاده از جستجو نیازمند ورود با نام‌کاربری و رمز‌عبور است. لطفا ابتدا وارد شوید.", - "goback": "Press back to return to the previous page", + "goback": "بازگشت را فشار دهید تا به صفحه قبلی برگردید", "invalid-cid": "آی‌دی دسته‌بندی نامعتبر است.", "invalid-tid": "شناسه موضوع نامعتبر است.", "invalid-pid": "شناسه پست نامعتبر است.", "invalid-uid": "شناسه کاربر نامعتبر است.", - "invalid-mid": "Invalid Chat Message ID", - "invalid-date": "A valid date must be provided", + "invalid-mid": "شناسه چت نامعتبر است", + "invalid-date": "یک تاریخ معتبر باید ارائه شود", "invalid-username": "نام کاربری نامعتبر است.", "invalid-email": "ایمیل نامعتبر است.", - "invalid-fullname": "Invalid Fullname", - "invalid-location": "Invalid Location", - "invalid-birthday": "Invalid Birthday", + "invalid-fullname": "نام و نام‌خانوادگی نامعتبر ", + "invalid-location": "مکان نامعتبر", + "invalid-birthday": "تاریخ تولد نامعتبر ", "invalid-title": "عنوان نامعتبر", "invalid-user-data": "داده‌های کاربر نامعتبر است.", "invalid-password": "کلمه عبور نامعتبر است.", @@ -25,23 +25,24 @@ "invalid-username-or-password": "لطفا هم نام کاربری و هم کلمه عبور را مشخص کنید", "invalid-search-term": "کلمه جستجو نامعتبر است", "invalid-url": "URL نامعتبر", - "invalid-event": "Invalid event: %1", + "invalid-event": "رویداد: %1 نامعتبر ", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "اجازه ورود شما تمام شده است، لطفا دوباره وارد شوید.", - "invalid-path": "Invalid path", + "invalid-path": "مسیر نامعتبر", "folder-exists": "Folder exists", "invalid-pagination-value": "ارزش گذاری صفحه نامعتبر است، کمترین مقدار %1 و بیشترین مقدار %2 باید باشد", "username-taken": "این نام کاربری گرفته شده است.", "email-taken": "این ایمیل گرفته شده است.", "email-nochange": "The email entered is the same as the email already on file.", - "email-invited": "Email was already invited", - "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", + "email-invited": "ایمیل قبلا دعوت شده‌است ", + "email-not-confirmed": "پس از تایید ایمیل شما، ارسال در برخی دسته ها یا موضوعات فعال می شود، لطفاً برای ارسال ایمیل تایید اینجا را کلیک کنید.", "email-not-confirmed-chat": "شما تا قبل از تایید ایمیل قادر به چت نیستید، لطفا برای تایید ایمیل خود اینجا کلیک کنید", - "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You may not be able to post in some categories or chat until your email is confirmed.", - "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery, and may be necessary for chatting and posting in some categories. Please click here to enter an email.", + "email-not-confirmed-email-sent": "ایمیل شما هنوز تایید نشده است، لطفا صندوق ورودی خود را برای ایمیل تایید بررسی کنید. ممکن است تا زمانی که ایمیل شما تایید نشود، نتوانید در برخی از دسته ها پست ارسال کنید یا چت کنید.", + "no-email-to-confirm": "برای حساب شما هنوز ایمیلی تنظیم نشده است. ایمیل برای بازیابی حساب ضروری هست، و همچنین شاید برای چت کردن و ارسال پست در بعضی از دسته‌ها. لطفا ایمیل خود را اینجا وارد کنید.", "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "سیستم موفق به تایید ایمیل شما نشد، لطفا بعدا دوباره سعی کنید", "confirm-email-already-sent": "ایمیل فعال‌سازی قبلا فرستاده شده، لطفا %1 دقیقه صبر کنید تا ایمیل دیگری فرستاده شود.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "اجازه ارسال رایانامه پیدا نشد، لطفا مطمئن شوید این قابلیت نصب شده و توسط کاربر مد نظر در نود‌بی‌بی قابل اجرا است.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "نام کاربری خیلی کوتاه است.", @@ -61,8 +62,8 @@ "no-group": "گروه وجود ندارد", "no-user": "کاربر وجود ندارد", "no-teaser": "تیزر وجود ندارد", - "no-flag": "Flag does not exist", - "no-chat-room": "Chat room does not exist", + "no-flag": "گزارش وجود ندارد ", + "no-chat-room": "این چت روم وجود ندارد", "no-privileges": "شما دسترسی کافی برای این کار را ندارید", "category-disabled": "دسته غیر‌فعال شد.", "topic-locked": "موضوع بسته شد.", @@ -89,10 +90,10 @@ "category-not-selected": "هیچ دسته‌بندی انتخاب نشده.", "too-many-posts": "شما می توانید هر %1 ثانیه یک پست ایجاد کنید - لطفا قبل از ارسال پست جدید صبر کنید", "too-many-posts-newbie": "به عنوان یک کاربر جدید ، تا زمانی که شما %2 اعتبار کسب کنید می توانید هر %1 ثانیه یک پست ایجاد کنید - لطفا قبل از ایجاد پست جدید صبر کنید .", - "already-posting": "You are already posting", + "already-posting": "قبلا ارسال کرده‌اید ", "tag-too-short": "لطفا برچسب بلندتری وارد کنید. برچسبها باید حداقل %1 کاراکتر داشته باشند.", "tag-too-long": "لطفا برچسب کوتاه تری وارد کنید . برچسب ها نباید بیشتر از %1 کاراکتر داشته باشند", - "tag-not-allowed": "Tag not allowed", + "tag-not-allowed": "برچسب مجاز نیست", "not-enough-tags": "تعداد برچسب ها کافی نیست. موضوع ها یابد حداقل %1 برچسب داشته باشند", "too-many-tags": "تعداد برچسب ها بیشتر از حد مجاز است. موضوع ها نمی توانند بیشتر از %1 برچسب داشته باشند", "cant-use-system-tag": "You can not use this system tag.", @@ -101,21 +102,21 @@ "file-too-big": "حداکثر مجاز حجم فایل %1 کیلوبایت می باشد - لطفا فایلی با حجم کمتر بارگذاری کنید", "guest-upload-disabled": "بارگذاری برای مهمانان غیر فعال شده است", "cors-error": "Unable to upload image due to misconfigured CORS", - "upload-ratelimit-reached": "You have uploaded too many files at one time. Please try again later.", - "upload-error-fallback": "Unable to upload image — %1", + "upload-ratelimit-reached": "شما فایل های زیادی را در یک زمان آپلود کرده اید. لطفاً بعداً دوباره امتحان کنید.", + "upload-error-fallback": "امکان آپلود تصویر — %1 وجود ندارد", "scheduling-to-past": "Please select a date in the future.", "invalid-schedule-date": "Please enter a valid date and time.", "cant-pin-scheduled": "Scheduled topics cannot be (un)pinned.", "cant-merge-scheduled": "Scheduled topics cannot be merged.", "cant-move-posts-to-scheduled": "Can't move posts to a scheduled topic.", "cant-move-from-scheduled-to-existing": "Can't move posts from a scheduled topic to an existing topic.", - "already-bookmarked": "شما قبلا این پست را نشانک کرده‌اید", + "already-bookmarked": "شما در حال حاضر این پست را به علاقمندی‌های خود اضافه کرده‌اید", "already-unbookmarked": "شما قبلا این پست را از نشانک در آوردید", "cant-ban-other-admins": "شما نمی‌توانید دیگر مدیران را محروم کنید!", "cant-mute-other-admins": "You can't mute other admins!", "user-muted-for-hours": "You have been muted, you will be able to post in %1 hour(s)", "user-muted-for-minutes": "You have been muted, you will be able to post in %1 minute(s)", - "cant-make-banned-users-admin": "You can't make banned users admin.", + "cant-make-banned-users-admin": "شما نمی توانید کاربران اخراج‌ شده را ادمین کنید.", "cant-remove-last-admin": "شما تنها مدیر می باشید . شما باید قبل از عزل خود از مدیریت یک کاربر دیگر را مدیر کنید", "account-deletion-disabled": "Account deletion is disabled", "cant-delete-admin": "قبل از حذف این کاربر دسترسی های مدیریت را از وی بگیرید.", @@ -124,7 +125,7 @@ "invalid-image-type": "نوع تصویر نامعتبر است. نوعهای قابل قبول اینها هستند: %1", "invalid-image-extension": "پسوند عکس نامعتبر است", "invalid-file-type": "نوع پرونده نامعتبر است. نوعهای قابل قبول اینها هستند: %1", - "invalid-image-dimensions": "Image dimensions are too big", + "invalid-image-dimensions": "ابعاد عکس خیلی بزرگ است", "group-name-too-short": "نام گروه خیلی کوتاه است.", "group-name-too-long": "نام گروه بسیار طولانی است.", "group-already-exists": "این گروه از پیش وجود دارد.", @@ -134,10 +135,10 @@ "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": "در حال حاضر نمی توانید از این گروه خارج شوید", "group-user-not-pending": "User does not have a pending request to join this group.", - "gorup-user-not-invited": "User has not been invited to join this group.", + "gorup-user-not-invited": "کاربر برای پیوستن به این گروه دعوت نشده است.", "post-already-deleted": "این پست قبلا پاک شده است", "post-already-restored": "پست قبلا بازگردانی شده است.", "topic-already-deleted": "موضوع قبلا حذف شده است", @@ -159,15 +160,15 @@ "chat-edit-duration-expired": "شما قادر هستید پیام های چت را فقط بعد از %1 ثانیه ویرایش کنید", "chat-delete-duration-expired": "شما قادر هستید پیام های چت را فقط بعد از %1 ثانیه پاک کنید", "chat-deleted-already": "این پیام قبلا حذف شده است", - "chat-restored-already": "This chat message has already been restored.", - "chat-room-does-not-exist": "Chat room does not exist.", - "cant-add-users-to-chat-room": "Can't add users to chat room.", - "cant-remove-users-from-chat-room": "Can't remove users from chat room.", - "chat-room-name-too-long": "Chat room name too long.", + "chat-restored-already": "این پیام چت قبلاً بازیابی شده است", + "chat-room-does-not-exist": "چت روم وجود ندارد", + "cant-add-users-to-chat-room": "نمی‌توانید کاربری به چت‌روم اضافه کنید ", + "cant-remove-users-from-chat-room": "نمی‌توانید کاربران را از چت‌روم حذف کنید ", + "chat-room-name-too-long": "نام چت‌روم خیلی طولانی است ", "already-voting-for-this-post": "شما قبلا به این پست رای داده اید.", "reputation-system-disabled": "سیستم اعتبار غیر فعال شده است", "downvoting-disabled": "رأی منفی غیر فعال شده است", - "not-enough-reputation-to-chat": "You need %1 reputation to chat", + "not-enough-reputation-to-chat": "شما به %1 اعتبار برای چت نیاز دارید ", "not-enough-reputation-to-upvote": "You need %1 reputation to upvote", "not-enough-reputation-to-downvote": "You need %1 reputation to downvote", "not-enough-reputation-to-flag": "You need %1 reputation to flag this post", @@ -182,10 +183,10 @@ "user-flagged-too-many-times": "این کاربر توسط دیگر کاربران گزارش شده", "cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)", "self-vote": "شما نمی توانید به پست خود رای بدهید", - "too-many-upvotes-today": "You can only upvote %1 times a day", - "too-many-upvotes-today-user": "You can only upvote a user %1 times a day", - "too-many-downvotes-today": "You can only downvote %1 times a day", - "too-many-downvotes-today-user": "You can only downvote a user %1 times a day", + "too-many-upvotes-today": "شما فقط می توانید %1 بار در روز رأی مثبت بدهید", + "too-many-upvotes-today-user": " به هر کاربر فقط %1 بار در روز می‌تولنید رأی مثبت بدهید", + "too-many-downvotes-today": "فقط می توانید %1 بار در روز رأی منفی بدهید", + "too-many-downvotes-today-user": "شما فقط می توانید %1 بار در روز رأی منفی بدهید", "reload-failed": "NodeBB در هنگام بارگذاری مجدد با یک مشکل مواجه شده است: \"%1\". NodeBB سرویس رسانی به کلاینت های سرویس گیرنده را ادامه خواهد داد، اگرچه شما کاری را قبل از بارگیری مجدد انجام دادید بازگردانی کنید", "registration-error": "خطای ثبت نام", "parse-error": "هنگام تجزیه پاسخ سرور اشتباهی پیش امد", @@ -199,8 +200,8 @@ "cant-kick-self": "شما نمی توانید خودتان را از گروه کیک کنید", "no-users-selected": "هیچ کاربر(های) انتخاب نشده", "invalid-home-page-route": "مسیر صفحه اصلی نامعتبر است", - "invalid-session": "Invalid Session", - "invalid-session-text": "It looks like your login session is no longer active. Please refresh this page.", + "invalid-session": "seesion نامعتبر، دوباره وارد حساب کاربری خود شوید ", + "invalid-session-text": "به نظر می رسد این جلسه برای ورود شما دیگر فعال نیست. لطفا این صفحه را رفرش کنید", "session-mismatch": "Session Mismatch", "session-mismatch-text": "It looks like your login session no longer matches with the server. Please refresh this page.", "no-topics-selected": "هیچ موضوعی انتخاب نشده است !", diff --git a/public/language/fa-IR/flags.json b/public/language/fa-IR/flags.json index 0ed04f1140..8281f06b07 100644 --- a/public/language/fa-IR/flags.json +++ b/public/language/fa-IR/flags.json @@ -3,21 +3,21 @@ "reports": "گزارش ها", "first-reported": "اولین گزارش", "no-flags": "هووووورا ! هیچ گزارشی یافت نشد.", - "x-flags-found": "%1 flag(s) found.", + "x-flags-found": "%1 گزارش پیدا شد ", "assignee": "اختصاص دادن ", "update": "به روزرسانی", "updated": "به روز رسانی شد", - "resolved": "Resolved", + "resolved": "حل‌شده ", "target-purged": "محتوای این گزارش حذف شده است و در دسترس نیست.", - "target-aboutme-empty": "This user has no "About Me" set.", + "target-aboutme-empty": "این کاربر هیچ "About Me" ننوشته ", "graph-label": "آمار گزارش های روزانه", "quick-filters": "فیلتر های سریع", "filter-active": "یک یا تعداد بیشتری از فیلتر ها در لیست گزارش ها فعال هستند", "filter-reset": "حذف فیلتر ها", "filters": "گزینه های فیلتر", - "filter-reporterId": "Reporter", - "filter-targetUid": "Reportee", + "filter-reporterId": "گزارش‌دهنده", + "filter-targetUid": "گزارشگر", "filter-type": "نوع گزارش", "filter-type-all": "تمام محتوا", "filter-type-post": "پست", diff --git a/public/language/fa-IR/global.json b/public/language/fa-IR/global.json index ec6247aa9b..0331c8da0f 100644 --- a/public/language/fa-IR/global.json +++ b/public/language/fa-IR/global.json @@ -3,7 +3,7 @@ "search": "جستجو", "buttons.close": "بستن", "403.title": "دسترسی ندارید", - "403.message": "به نظر می رسد شما به صفحه ای برخورد کرده اید که دسترسی به آن ندارید.", + "403.message": "به نظر می‌رسد شما به صفحه‌ای برخورد کرده‌اید که شما به آن دسترسی ندارید.", "403.login": "Perhaps you should try logging in?", "404.title": "یافت نشد", "404.message": "You seem to have stumbled upon a page that does not exist.
Return to the home page.
", @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "با موفقیت درون آمده‌اید", "save_changes": "اندوختن تغییرها", "save": "ذخیره", + "create": "Create", "cancel": "Cancel", "close": "بستن", "pagination": "صفحه‌بندی", @@ -60,7 +61,7 @@ "topics": "موضوع ها", "posts": "دیدگاه‌ها", "x-posts": "%1 posts", - "x-topics": "%1 topics", + "x-topics": "1% موضوع‌ها", "x-reputation": "%1 reputation", "best": "بهترین", "controversial": "Controversial", @@ -76,7 +77,7 @@ "reputation": "اعتبار", "lastpost": "آخرین پست", "firstpost": "اولین پست", - "about": "About", + "about": "درباره‌‌ی من ", "read_more": "بیشتر بخوانید", "more": "بیشتر", "none": "None", @@ -135,6 +136,6 @@ "copied": "Copied", "user-search-prompt": "برای پیدا کردن کاربر اینجا چیزی بنویسید...", "hidden": "Hidden", - "sort": "Sort", + "sort": "مرتب‌سازی", "actions": "Actions" } \ No newline at end of file diff --git a/public/language/fa-IR/groups.json b/public/language/fa-IR/groups.json index e6be926797..de58d8bc5b 100644 --- a/public/language/fa-IR/groups.json +++ b/public/language/fa-IR/groups.json @@ -1,7 +1,7 @@ { - "all-groups": "All groups", + "all-groups": "همه‌ی گروه‌ها", "groups": "گروه‌ها", - "members": "Members", + "members": "اعضا", "view_group": "مشاهده گروه", "owner": "مالک گروه", "new_group": "ساخت گروه جدید", @@ -27,7 +27,7 @@ "details.latest_posts": "آخرین پست ها", "details.private": "خصوصی", "details.disableJoinRequests": "غیر فعال کردن درخواستهای عضویت", - "details.disableLeave": "Disallow users from leaving the group", + "details.disableLeave": "به کاربران اجازه خروج از این گروه را نده", "details.grant": "اعطاء/خلع مالکیت", "details.kick": "بیرون انداختن", "details.kick_confirm": "آیا شما مطمئن هستید که می خواهید این عضو از گروه را حذف کنید؟", @@ -37,11 +37,11 @@ "details.member_count": "تعداد اعضا", "details.creation_date": "زمان ساخته شدن", "details.description": "توضیحات", - "details.member-post-cids": "Category IDs to display posts from", + "details.member-post-cids": "شناسه‌ی دسته برای نمایش پست‌ها ", "details.badge_preview": "پیش نمایشِ نشان", "details.change_icon": "تغییر آیکن", - "details.change_label_colour": "Change Label Colour", - "details.change_text_colour": "Change Text Colour", + "details.change_label_colour": "تغییر رنگ لیبل", + "details.change_text_colour": "تغییر رنگ متن", "details.badge_text": "نوشته ای نشان", "details.userTitleEnabled": "نمایش نشان", "details.private_help": "اگر فعال باشد، پیوستن به گروه مستلزم موافقت مالک گروه است", @@ -52,11 +52,11 @@ "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/fa-IR/modules.json b/public/language/fa-IR/modules.json index d69a8e2cf5..dc4a40d7b9 100644 --- a/public/language/fa-IR/modules.json +++ b/public/language/fa-IR/modules.json @@ -1,24 +1,24 @@ { "chat.chatting_with": "چت با", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "شما در حال مشاهده پیام های قدیمی هستید، برای دیدن پیام های اخیر کلیک کنید.", + "chat.placeholder": "پیام چت را اینجا بنویس، عکس‌ها را اینجا درگ و دراپ کن، برای ارسال دکمه Enter را بزن", + "chat.placeholder.mobile": "پیام چت را اینجا بنویس", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", - "chat.chat-with-usernames": "Chat with %1", - "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", + "chat.chat-with-usernames": "چت با %1", + "chat.chat-with-usernames-and-x-others": "چت با %1 و %2 دیگر ", "chat.send": "ارسال", "chat.no_active": "شما هیچ گفتگوی فعالی ندارید.", "chat.user_typing": "%1 در حال نوشتن است...", "chat.user_has_messaged_you": "%1 به شما پیام داده است.", - "chat.see_all": "All chats", - "chat.mark_all_read": "Mark all read", + "chat.see_all": "همه‌ی چت‌ها", + "chat.mark_all_read": "همه را خوانده‌شده بگیر", "chat.no-messages": "مشخص کنید تاریخچه گفتگوها با چه کاربری را می‌خواهید ببینید", "chat.no-users-in-room": "هیچ کاربری در این گفتگو نیست", "chat.recent-chats": "گفتگو های اخیر", "chat.contacts": "تماس‌ها", "chat.message-history": "تاریخچه پیام‌ها", "chat.message-deleted": "Message Deleted", - "chat.options": "تنظیمات چت", + "chat.options": "گزینه‌های چت", "chat.pop-out": "پاپ آپ گفتگو", "chat.minimize": "کوچک کردن", "chat.maximize": "تمام صفحه", @@ -28,7 +28,7 @@ "chat.delete_message_confirm": "آیا مطمئن هستید که می خواهید این پیام را حذف کنید؟", "chat.retrieving-users": "Retrieving users...", "chat.manage-room": "مدیریت چت روم", - "chat.add-user-help": "Search for users here. When selected, the user will be added to the chat. The new user will not be able to see chat messages written before they were added to the conversation. Only room owners () may remove users from chat rooms.", + "chat.add-user-help": "کاربران را در اینجا جستجو کنید. پس از انتخاب، کاربر به چت اضافه می شود. کاربر جدید نمی‌تواند پیام‌های چت نوشته شده قبل از اضافه شدن به مکالمه را ببیند. فقط مالک اتاق () می توانند کاربران را از اتاق های گفتگو حذف کنند.", "chat.confirm-chat-with-dnd-user": "این کاربر وضعیت خود را روی حالت مزاحم نشوید قرار داده است. آیا همچنان می خواهید با او چت کنید؟", "chat.rename-room": "تعویض اسم چت روم", "chat.rename-placeholder": "اسم چت روم را اینجا وارد کنید", @@ -59,7 +59,7 @@ "composer.formatting.strikethrough": "خط خورده", "composer.formatting.code": "کد", "composer.formatting.link": "پیوند", - "composer.formatting.picture": "Image Link", + "composer.formatting.picture": "لینک تصویر", "composer.upload-picture": "بارگذاری عکس", "composer.upload-file": "بارگذاری فایل", "composer.zen_mode": "حالت ذن", @@ -71,7 +71,7 @@ "composer.cancel-scheduling": "Cancel Scheduling", "composer.change-schedule-date": "Change Date", "composer.set-schedule-date": "Set Date", - "composer.discard-all-drafts": "Discard all drafts", + "composer.discard-all-drafts": "لغو همه پیش‌نویس‌ها ", "composer.no-drafts": "You have no drafts", "composer.discard-draft-confirm": "Do you want to discard this draft?", "bootbox.ok": "باشه", diff --git a/public/language/fa-IR/notifications.json b/public/language/fa-IR/notifications.json index e1d6e5928b..b8033cc50b 100644 --- a/public/language/fa-IR/notifications.json +++ b/public/language/fa-IR/notifications.json @@ -1,8 +1,8 @@ { "title": "آگاه‌سازی‌ها", "no_notifs": "هیچ آگاه‌سازی تازه‌ای ندارید", - "see_all": "All notifications", - "mark_all_read": "Mark all read", + "see_all": "همه‌ی اعلان‌ها", + "mark_all_read": "همه را خوانده‌شده علامت بزن ", "back_to_home": "بازگشت به %1", "outgoing_link": "پیوند برون‌رو", "outgoing_link_message": "شما در حال ترک %1 هستید", @@ -14,7 +14,7 @@ "topics": "موضوع ها", "replies": "پاسخ ها", "chat": "گفتگو ها", - "group-chat": "Group Chats", + "group-chat": "چت‌های گروهی", "follows": "دنبال کننده ها", "upvote": "رای های مثبت", "new-flags": "گزارش های جدید", diff --git a/public/language/fa-IR/pages.json b/public/language/fa-IR/pages.json index 99829671f4..88d7fe8ea5 100644 --- a/public/language/fa-IR/pages.json +++ b/public/language/fa-IR/pages.json @@ -6,14 +6,15 @@ "popular-month": "موضوعات پربازدید این ماه", "popular-alltime": "پربازدیدترین موضوعات", "recent": "موضوع‌های تازه", - "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", + "top-day": "موضوعاتی که امروز بیشترین رای را داشتند", + "top-week": "موضوعاتی که این هفته بیشترین رای را داشتن ", + "top-month": "موضوعاتی که این ماه بیشترین رای را داشتند", + "top-alltime": "موضوع‌هایی که بیشترین رای را دارند", "moderator-tools": "ابزار مدیران", "flagged-content": "محتوای گزارش شده", "ip-blacklist": "لیست سیاه IP", "post-queue": "صف پست", + "registration-queue": "Registration Queue", "users/online": "کاربران آنلاین", "users/latest": "آخرین کاربران", "users/sort-posts": "کاربران با بیش‌ترین پست", @@ -23,7 +24,7 @@ "users/search": "جستجوی کاربر", "notifications": "آگاه‌سازی‌ها", "tags": "برچسب‌ها", - "tag": "Topics tagged under "%1"", + "tag": "موضوعات برچسب گذاری شده در زیر"%1"", "register": "ثبت نام یک حساب", "registration-complete": "ثبت نام تکمیل شد", "login": "به حساب خوب وارد شوید", @@ -49,18 +50,18 @@ "account/watched_categories": "دسته بندی های پیگیری شده %1", "account/bookmarks": "%1 پست نشانک گذاری شده است", "account/settings": "تنظیمات کاربر", - "account/settings-of": "Changing settings of %1", + "account/settings-of": "تغییر تنظیمات از %1", "account/watched": "موضوع های دیده شده توسط \"%1\"", "account/ignored": "موضوع های نادیده گرفته شده توسط %1", "account/upvoted": "رای مثبت داده شده به پست ها توسط %1", "account/downvoted": "رای منفی داده شده به پست ها توسط %1", "account/best": "بهترین پست های %1", - "account/controversial": "Controversial posts made by %1", + "account/controversial": "پست‌های با بیشترین امتیاز منفی ایجاد شده توسط %1", "account/blocks": "کاربران مسدود شده توسط %1", "account/uploads": "آپلود های %1", "account/sessions": "Session های ورود", "confirm": "ایمیل تایید شد", - "maintenance.text": "%1 is currently undergoing maintenance.
Please come back another time.", + "maintenance.text": "1% در حال حاضر تحت تعمیر و نگهداری است.
لطفاً زمان دیگری مراجعه کنید.", "maintenance.messageIntro": "علاوه بر این، مدیر این پیام را گذاشته است:", "throttled.text": "%1 به دلیل بارگذاری بیش از حد ، قابل دسترس نمی باشد. لطفا در زمان دیگری دوباره امتحان کنید" } \ No newline at end of file diff --git a/public/language/fa-IR/post-queue.json b/public/language/fa-IR/post-queue.json index c7e8609cfd..69855c9362 100644 --- a/public/language/fa-IR/post-queue.json +++ b/public/language/fa-IR/post-queue.json @@ -25,14 +25,14 @@ "confirm-reject": "Do you want to reject this post?", "confirm-remove": "Do you want to remove this post?", "bulk-actions": "Bulk Actions", - "accept-all": "Accept All", + "accept-all": "تایید همه ", "accept-selected": "Accept Selected", - "reject-all": "Reject All", - "reject-all-confirm": "Do you want to reject all posts?", + "reject-all": "همه را رد کن ", + "reject-all-confirm": "آیا شما می‌خواهید همه پست‌ها را رد کنید؟", "reject-selected": "Reject Selected", "reject-selected-confirm": "Do you want to reject %1 selected posts?", - "remove-all": "Remove all", - "remove-all-confirm": "Do you want to remove all posts?", + "remove-all": "حذف همه", + "remove-all-confirm": "آیا شما می‌خواهید همه‌ی پست‌ها را حذف کنید؟", "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "bulk-accept-success": "%1 posts accepted", diff --git a/public/language/fa-IR/recent.json b/public/language/fa-IR/recent.json index 0781d00353..440772713e 100644 --- a/public/language/fa-IR/recent.json +++ b/public/language/fa-IR/recent.json @@ -7,5 +7,5 @@ "alltime": "همه زمانها", "no_recent_topics": "هیچ موضوع تازه‌ای نیست.", "no_popular_topics": "هیچ موضوع پربازدیدی وجود ندارد", - "load-new-posts": "Load new posts" + "load-new-posts": "بارگذاری پست‌های جدید" } \ No newline at end of file diff --git a/public/language/fa-IR/search.json b/public/language/fa-IR/search.json index 5597b131db..9476764872 100644 --- a/public/language/fa-IR/search.json +++ b/public/language/fa-IR/search.json @@ -7,11 +7,11 @@ "in-titles": "In titles", "in-titles-posts": "In titles and posts", "in-posts": "In posts", - "in-categories": "In categories", + "in-categories": "در دسته‌بندی‌ها", "in-users": "In users", "in-tags": "In tags", "categories": "Categories", - "all-categories": "All categories", + "all-categories": "همه‌ی دسته‌بندی‌ها ", "categories-x": "Categories: %1", "categories-watched-categories": "Categories: Watched categories", "type-a-category": "Type a category", @@ -19,7 +19,7 @@ "tags-x": "Tags: %1", "type-a-tag": "Type a tag", "match-words": "تطابق کلمات", - "match-all-words": "Match all words", + "match-all-words": "تطابق همه‌ی کلمات", "match-any-word": "Match any word", "all": "همه", "any": "هرکدام", @@ -31,7 +31,7 @@ "reply-count": "تعداد پاسخ", "replies": "Replies", "replies-atleast-count": "Replies: At least %1", - "replies-atmost-count": "Replies: At most %1", + "replies-atmost-count": "پاسخ‌ها: حداکثر %1", "at-least": "حداقل", "at-most": "حداکثر", "relevance": "ارتباط", @@ -63,7 +63,7 @@ "time-newer-than-31104000": "Time: Newer than one year", "time-older-than-31104000": "Time: Older than one year", "sort-by": "مرتب‌سازی بر اساس", - "sort": "Sort", + "sort": "مرتب‌سازی", "last-reply-time": "زمان آخرین پاسخ", "topic-title": "عنوان موضوع", "topic-votes": "Topic votes", @@ -96,7 +96,7 @@ "sort-by-user.username-asc": "Sort by: Username in ascending order", "sort-by-category.name-desc": "Sort by: Category in descending order", "sort-by-category.name-asc": "Sort by: Category in ascending order", - "save": "Save", + "save": "ذخیره", "save-preferences": "ذخیره تنظیمات", "clear-preferences": "پاک کردن تنظیمات", "search-preferences-saved": "تنظیمات جستحو ذخیره شد", @@ -105,5 +105,5 @@ "show-results-as-topics": "Show results as topics", "show-results-as-posts": "Show results as posts", "see-more-results": "See more results (%1)", - "search-in-category": "Search in \"%1\"" + "search-in-category": "جستجو در \"%1\"" } \ No newline at end of file diff --git a/public/language/fa-IR/tags.json b/public/language/fa-IR/tags.json index 5aded4f114..36f7bd8100 100644 --- a/public/language/fa-IR/tags.json +++ b/public/language/fa-IR/tags.json @@ -1,7 +1,7 @@ { - "all-tags": "All tags", + "all-tags": "همه‌ی برچسب‌ها", "no_tag_topics": "جُستاری با این برچسب وجود ندارد.", - "no-tags-found": "No tags found", + "no-tags-found": "برچسبی پیدا نشد", "tags": "برچسب‌ها", "enter_tags_here": "برچسب‌ها را اینجا وارد کنید، هر کدام بین %1 و %2 کاراکتر.", "enter_tags_here_short": "برچسب‌ها را وارد کنید...", diff --git a/public/language/fa-IR/themes/harmony.json b/public/language/fa-IR/themes/harmony.json index 57e2def8d3..2f5a48079f 100644 --- a/public/language/fa-IR/themes/harmony.json +++ b/public/language/fa-IR/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", - "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "theme-name": "Harmony Theme", + "skins": "پوسته‌ها", + "collapse": "بستن ", + "expand": "باز کردن", + "login-register-to-search": "برای جستجو وارد شوید و یا ثبت نام کنید ", + "settings.title": "تنظیمات تم ", + "settings.enableQuickReply": "پاسخ سریع را فعال کنید", + "settings.centerHeaderElements": "وسط چین کردن عناصر هدر ", + "settings.mobileTopicTeasers": "نمایش تیزرهای تاپیک در گوشی", + "settings.stickyToolbar": "نوار ابزار چسبیده ", + "settings.stickyToolbar.help": "نوار ابزار در تاپیک و صفحه دسته بدی ها در بالای صفحه ثابت می‌ماند", + "settings.autohideBottombar": "مخفی کردن اتوماتیک منوی پایینی ", + "settings.autohideBottombar.help": "وقتی صفحه به پایین اسکرول می شود، منوی پایین در نمایش گوشی مخفی خواهد شد ", + "settings.chatModals": "فعال کردن پنجره کوچک برای چت " } \ No newline at end of file diff --git a/public/language/fa-IR/themes/persona.json b/public/language/fa-IR/themes/persona.json index e7d1945303..81cc34aef3 100644 --- a/public/language/fa-IR/themes/persona.json +++ b/public/language/fa-IR/themes/persona.json @@ -1,10 +1,10 @@ { - "settings.title": "Theme settings", + "settings.title": "تنظیمات تم", "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", - "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", - "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", - "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", + "settings.mobile-menu-side": "هماهنگ کردن جهت منو های کناری با زبان دستگاه", + "settings.autoHidingNavbar": "به صورت خودکار منوی پایین را در اسکرول پنهان کنید", + "settings.autoHidingNavbar-xs": "صفحه نمایش‌های بسیار کوچک (مثلاً تلفن‌ها در حالت عمودی)", + "settings.autoHidingNavbar-sm": "صفحه نمایش های کوچکتر (مانند تلفن ها، برخی تبلت ها)", "settings.autoHidingNavbar-md": "Medium sized screens (e.g. tablets in landscape mode)", "settings.autoHidingNavbar-lg": "Larger screens (e.g. desktop computers)" } \ No newline at end of file diff --git a/public/language/fa-IR/top.json b/public/language/fa-IR/top.json index b8a05bfa5f..5f9e03d373 100644 --- a/public/language/fa-IR/top.json +++ b/public/language/fa-IR/top.json @@ -1,4 +1,4 @@ { - "title": "Top", + "title": "برترین", "no_top_topics": "No top topics" } \ No newline at end of file diff --git a/public/language/fa-IR/topic.json b/public/language/fa-IR/topic.json index 4676e60c7f..32128f8391 100644 --- a/public/language/fa-IR/topic.json +++ b/public/language/fa-IR/topic.json @@ -12,10 +12,10 @@ "notify_me": "از پاسخ‌های تازه در موضوع آگاه شوید", "quote": "نقل قول", "reply": "پاسخ", - "replies_to_this_post": "%1 پاسخ ", + "replies_to_this_post": "1% پاسخ", "one_reply_to_this_post": "1 پاسخ", "last_reply_time": "آخرین پاسخ", - "reply-as-topic": "پاسخ به موضوع", + "reply-as-topic": "پاسخ به عنوان موضوع", "guest-login-reply": "وارد شوید تا پست بفرستید", "login-to-view": "🔒 برای مشاهده وارد شوید ", "edit": "ویرایش", @@ -32,36 +32,36 @@ "tools": "ابزارها", "locked": "قفل شده است", "pinned": "سنجاق شده", - "pinned-with-expiry": "پین شده تا 1%", + "pinned-with-expiry": "سنجاق‌شده تا %1", "scheduled": "زمان بندی شده", "moved": "منتقل شده", - "moved-from": "جابه‌جا شده از 1%", - "copy-code": "Copy Code", + "moved-from": "جابه‌جا شده از %1", + "copy-code": "کپی کردن کد ", "copy-ip": "کپی IP", "ban-ip": "مسدود کردن IP", "view-history": "تاریخچه ویرایش", - "wrote-ago": "نوشته شده", - "wrote-on": "نوشته شده در ", - "replied-to-user-ago": "پاسخ داده شده به 3% در", - "replied-to-user-on": "پاسخ به 3% در", - "user-locked-topic-ago": "%1 locked this topic %2", - "user-locked-topic-on": "%1 locked this topic on %2", - "user-unlocked-topic-ago": "%1 unlocked this topic %2", - "user-unlocked-topic-on": "%1 unlocked this topic on %2", - "user-pinned-topic-ago": "%1 pinned this topic %2", - "user-pinned-topic-on": "%1 pinned this topic on %2", - "user-unpinned-topic-ago": "%1 unpinned this topic %2", - "user-unpinned-topic-on": "%1 unpinned this topic on %2", - "user-deleted-topic-ago": "%1 deleted this topic %2", - "user-deleted-topic-on": "%1 deleted this topic on %2", - "user-restored-topic-ago": "%1 restored this topic %2", - "user-restored-topic-on": "%1 restored this topic on %2", - "user-moved-topic-from-ago": "%1 moved this topic from %2 %3", - "user-moved-topic-from-on": "%1 moved this topic from %2 on %3", - "user-queued-post-ago": "%1 queued post for approval %3", + "wrote-ago": "نوشته‌شده ", + "wrote-on": "نوشته‌شده در ", + "replied-to-user-ago": "پاسخ داده شده به %3 در", + "replied-to-user-on": "پاسخ به %3 در", + "user-locked-topic-ago": "1% این موضوع را قفل کرد%2", + "user-locked-topic-on": "1% این موضوع را در %2 قفل کرد ", + "user-unlocked-topic-ago": "1% قفل این موضوع را باز کرد %2", + "user-unlocked-topic-on": "1% قفل این موضوع را در %2 باز کرد", + "user-pinned-topic-ago": "1% این موضوع را سنجاق کرد %2", + "user-pinned-topic-on": "1% این موضوع را در %2 سنجاق کرد", + "user-unpinned-topic-ago": "%1 پین این موضوع را برداشت %2", + "user-unpinned-topic-on": " 1% سنجاق این موضوع را در 2% برداشت", + "user-deleted-topic-ago": "1% این موضوع را حذف کرد %2", + "user-deleted-topic-on": "1% این موضوع را در %2 حذف کرد", + "user-restored-topic-ago": "1% این موضوع را بازیابی کرد %2", + "user-restored-topic-on": "1% این موضوع را در %2 بازیابی کرد", + "user-moved-topic-from-ago": "1% این موضوع را از %2 جابه جا کرد %3", + "user-moved-topic-from-on": "1% این موضوع را از %2 جا‌به‌جا کرد%3", + "user-queued-post-ago": "1% صف شده پست برای تایید کردن %3", "user-queued-post-on": "%1 queued post for approval on %3", - "user-referenced-topic-ago": "%1 referenced this topic %3", - "user-referenced-topic-on": "%1 referenced this topic on %3", + "user-referenced-topic-ago": "1% این تاپیک را ارجاع داد %3", + "user-referenced-topic-on": "1% این تاپیک را در %3 ارجاع داد", "user-forked-topic-ago": "%1 forked this topic %3", "user-forked-topic-on": "%1 forked this topic on %3", "bookmark_instructions": "برای بازگشت به آخرین پست در این موضوع اینجا را کلیک کنید.", @@ -70,7 +70,7 @@ "already-flagged": "قبلا گزارش شده", "view-flag-report": "View Flag Report", "resolve-flag": "Resolve Flag", - "merged_message": "This topic has been merged into %2", + "merged_message": "این تاپیک با %2 ادغام شد ", "deleted_message": "این موضوع پاک شده است. تنها کاربرانِ با حق مدیریت موضوع می‌توانند آن را ببینند.", "following_topic.message": "از این پس اگر کسی در این موضوع پست بگذارد، شما آگاه خواهید شد.", "not_following_topic.message": "شما این موضوع را تو فهرست موضوعات خوانده نشده می‌بینید، اما وقتی پست جدیدی ارسال می‌شود آگاه‌سازی دریافت نمی‌کنید.", @@ -111,17 +111,17 @@ "thread_tools.purge": "پاک کردن موضوع", "thread_tools.purge_confirm": "آیا مطمئنید که میمید این موضوع را پاکسازی کنید؟", "thread_tools.merge_topics": "ادغام موضوع ها", - "thread_tools.merge": "Merge Topic", + "thread_tools.merge": "ادغام موضوع", "topic_move_success": "موضوع به \"%1\" منتقل خواهد شد. برای جلوگیری از انتقال کلیک کنید.", "topic_move_multiple_success": "موضوع ها به \"%1\" منتقل خواهد شد. برای جلوگیری از انتقال کلیک کنید.", "topic_move_all_success": "تمام موضوع ها به \"%1\" منتقل خواهند شد. برای جلوگیری از انتقال کلیک کنید.", - "topic_move_undone": "Topic move undone", + "topic_move_undone": "جابه‌جا کردن تاپیک لغو شد ", "topic_move_posts_success": "پست ها منتقل خواهند شد. برای جلوگیری از انتقال کلیک کنید.", - "topic_move_posts_undone": "Post move undone", + "topic_move_posts_undone": "انتقال پست لغو شد ", "post_delete_confirm": "آیا از پاک کردن این پست اطمینان دارید؟", "post_restore_confirm": "آیا از بازگردانی این پست اطمینان دارید؟", "post_purge_confirm": "آیا از پاک کردن این پست اطمینان دارید؟", - "pin-modal-expiry": "Expiration Date", + "pin-modal-expiry": "تاریخ انقضا", "pin-modal-help": "You can optionally set an expiration date for the pinned topic(s) here. Alternatively, you can leave this field blank to have the topic stay pinned until it is manually unpinned.", "load_categories": "بارگذاری دسته‌ها", "confirm_move": "جابه‌جا کردن", @@ -129,19 +129,19 @@ "bookmark": "نشانک", "bookmarks": "نشانک‌ها", "bookmarks.has_no_bookmarks": "شما هیچ پستی را نشانک نکردید", - "copy-permalink": "Copy Permalink", + "copy-permalink": "کپی لینک ثابت ", "loading_more_posts": "بارگذاری پست‌های بیش‌تر", "move_topic": "جابه‌جایی موضوع", "move_topics": "انتقال موضوع", "move_post": "جابه‌جایی موضوع", "post_moved": "پست جابه‌جا شد!", "fork_topic": "شاخه ساختن از موضوع", - "enter-new-topic-title": "Enter new topic title", + "enter-new-topic-title": "عنوان جدید موضوع را وارد کن", "fork_topic_instruction": "Click the posts you want to fork, enter a title for the new topic and click fork topic", "fork_no_pids": "هیچ پستی انتخاب نشده!", "no-posts-selected": "هیچ پستی انتخاب نشده!", "x-posts-selected": "%1 پست انتخاب شده", - "x-posts-will-be-moved-to-y": "%1 post(s) will be moved to \"%2\"", + "x-posts-will-be-moved-to-y": "1% پست به \"%2\" منتقل خواهد شد", "fork_pid_count": "%1 پست انتخاب شده", "fork_success": "موضوع با موفقیت منشعب شد! برای رفتن به موضوع انشعابی اینجا را کلیک کنید.", "delete_posts_instruction": "با کلیک بر روی پست شما می خواهید به حذف/پاکسازی", @@ -150,13 +150,13 @@ "merge-options": "تنظیمات ادغام", "merge-select-main-topic": "موضوع اصلی را انتخاب کنید", "merge-new-title-for-topic": "عنوان جدید برای موضوع", - "topic-id": "Topic ID", + "topic-id": "شناسه موضوع", "move_posts_instruction": "Click the posts you want to move then enter a topic ID or go to the target topic", - "move_topic_instruction": "Select the target category and then click move", + "move_topic_instruction": "دسته مقصد را انتخاب کنید و سپس روی جابه‌جا کردن کلیک کنید", "change_owner_instruction": "Click the posts you want to assign to another user", "composer.title_placeholder": "عنوان موضوعتان را اینجا بنویسید...", - "composer.handle_placeholder": "Enter your name/handle here", - "composer.hide": "Hide", + "composer.handle_placeholder": "نام خود را اینجا وارد کنید", + "composer.hide": "پیش نویس", "composer.discard": "انصراف", "composer.submit": "ارسال", "composer.additional-options": "Additional Options", @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "پاسخ به %1", "composer.new_topic": "موضوع تازه", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "بارگذاری...", "composer.thumb_url_label": "چسباندن نشانی چهرک یک موضوع", "composer.thumb_title": "افزودن یک چهرک به این موضوع", @@ -181,7 +181,7 @@ "newest_to_oldest": "جدید‌ترین به قدیمی‌ترین", "most_votes": "بیشترین رای ها", "most_posts": "بیشترین پست", - "most_views": "Most Views", + "most_views": "بیشترین بازدید‌ها", "stale.title": "آیا مایلید به جای آن یک موضوع جدید ایجاد کنید؟", "stale.warning": "موضوعی که شما در حال پاسخگویی به آن هستید قدیمی می باشد. آیا میلید به جای آن یک موضوع جدید ایجاد کنید و در آن به این موضوع ارجاع دهید؟", "stale.create": "ایجاد یک موضوع جدید", @@ -201,9 +201,9 @@ "timeago_earlier": "%1 قبل", "first-post": "اولین پست", "last-post": "آخرین پست", - "go-to-my-next-post": "Go to my next post", - "no-more-next-post": "You don't have more posts in this topic", + "go-to-my-next-post": "برو به پست بعدی من ", + "no-more-next-post": "شما پست بیشتری در این تاپیک ندارید", "post-quick-reply": "پاسخ سریع", - "navigator.index": "Post %1 of %2", + "navigator.index": "پست %1 از %2", "navigator.unread": "%1 unread" } \ No newline at end of file diff --git a/public/language/fa-IR/user.json b/public/language/fa-IR/user.json index 9be91c1d33..b63f4bfb88 100644 --- a/public/language/fa-IR/user.json +++ b/public/language/fa-IR/user.json @@ -78,7 +78,7 @@ "change_password_success": "کلمه عبور‌تان تازه شد.", "confirm_password": "تکرار کلمه عبور", "password": "گذرواژه", - "username_taken_workaround": "نام کاربری درخواستی شما در حال حاضر گرفته شده است، بنابراین ما آن را کمی تغییر داده‌ایم. شما هم‌اکنون با نام %1 شناخته می‌شوید.", + "username_taken_workaround": "نام کاربری که درخواست کردید قبلاً گرفته شده است، بنابراین ما آن را تغییر داده ایم. شما هم‌اکنون با نام %1 شناخته می‌شوید.", "password_same_as_username": "کلمه ی عبور شما با نام کاربری شما یکسان می باشند ، لطفا کلمه ی عبور دیگری را انتخاب کنید", "password_same_as_email": "کلمه ی عبور شما با ایمیل شما یکسان است، لطفا کلمه عبور دیگری را انتخاب کنید.", "weak_password": "گذرواژه ضعیف", @@ -86,7 +86,7 @@ "upload_a_picture": "یک تصویر بارگذاری کنید", "remove_uploaded_picture": "پاک کردن عکس بارگذاری شده", "upload_cover_picture": "بارگذاری عکس کاور", - "remove_cover_picture_confirm": "آیا شما مطمئن هستید که می خواهید عکس کاور را حذف کنید؟", + "remove_cover_picture_confirm": "آیا شما مطمئنید که می خواهید عکس کاور را حذف کنید؟", "crop_picture": "برش عکس", "upload_cropped_picture": "برش و بارگذاری", "avatar-background-colour": "Avatar background colour", @@ -117,8 +117,8 @@ "paginate_description": "صفحه بندی و نمایش موضوع ها و پست‌ها به جای نمایش بر اساس اسکرول موس", "topics_per_page": "شمار موضوع ها در هر برگه", "posts_per_page": "شمار پست‌ها در هر برگه", - "category-topic-sort": "Category topic sort", - "topic-post-sort": "Topic post sort", + "category-topic-sort": "مرتب‌ سازی دسته موضوع", + "topic-post-sort": "مرتب سازی پست‌های تاپیک", "max_items_per_page": "حداکثر %1", "acp_language": "زبان پنل ادمین", "notifications": "آگاه‌سازی‌ها", @@ -135,12 +135,14 @@ "topic_search_help": "اگر فعال باشد، \"جستجوی درون موضوعی\" جایگزین قابلیت جستجوی پیشفرض مرورگر خواهد شد و این امکان را خواهید داشت که بجای جستجوی آنچه که در صفحه نمایش می بینید، در سرتاسر موضوع جستجو کنید", "update_url_with_post_index": "بروزرسانی آدرس پست در مرورگر هنگام گشت و گذار در موضوعات", "scroll_to_my_post": "پس از ارسال پست، اولین پست جدید نشان بده", - "follow_topics_you_reply_to": "پیگیری موضوع هایی که به آن ها جواب دادید", - "follow_topics_you_create": "پیگیری موضوع هایی که ایجاد کردید", + "follow_topics_you_reply_to": "پیگیری موضوع هایی که شما به آن ها پاسخ دادید", + "follow_topics_you_create": "پیگیری موضوع هایی که شما ایجاد کردید", "grouptitle": "عنوان گروه", "group-order-help": "گروهی را انتخاب کرده و با استفاده از پیکان ها ترتیب عنوان ها را جابه‌جا کنید", "no-group-title": "عنوان گروهی نیست", "select-skin": "انتخاب یک پوسته", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "انتخاب صفحه اصلی", "homepage": "صفحه اصلی", "homepage_description": "یک صفحه را به عنوان خانه انتخاب کنید یا با انتخاب \"هیچکدام\" صفحه‌ی پیش فرض برای شما انتخاب می‌شود. ", @@ -151,7 +153,7 @@ "sso.not-associated": "اتصال حساب به", "sso.dissociate": "لغو اتصال", "sso.dissociate-confirm-title": "Confirm Dissociation", - "sso.dissociate-confirm": "آیا مطمئن هستید میخواهید اتصال حساب %1 به حساب انجمن را لغو کنید؟", + "sso.dissociate-confirm": "آیا مطمئنی می خواهی اتصال %1 به حسابت را لغو کنی؟", "info.latest-flags": "آخرین نشانه گذاری‌ها", "info.no-flags": "پست گزارش شده ای یافت نشد", "info.ban-history": "تاریخچه مسدودیت های اخیر", diff --git a/public/language/fa-IR/users.json b/public/language/fa-IR/users.json index 5333428d13..8310af4027 100644 --- a/public/language/fa-IR/users.json +++ b/public/language/fa-IR/users.json @@ -6,7 +6,7 @@ "most_flags": "بیشترین پرچم‌ها", "search": "جستجو", "enter_username": "یک نام کاربری برای جستجو وارد کنید", - "search-user-for-chat": "جستجوی کاربر برای شروع گفتگو", + "search-user-for-chat": "Search for a user to start chat", "load_more": "بارگذاری بیش‌تر", "users-found-search-took": "%1 کاربر(ها) یافت شد! جستجو %2 ثانیه زمان گرفت.", "filter-by": "فیلتر با", diff --git a/public/language/fi/admin/admin.json b/public/language/fi/admin/admin.json index e87cfabb89..25faab4d88 100644 --- a/public/language/fi/admin/admin.json +++ b/public/language/fi/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB admin hallintapaneeli", "settings-header-contents": "Sisältö", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/fi/admin/advanced/cache.json b/public/language/fi/admin/advanced/cache.json index 54a656b600..4142ffde34 100644 --- a/public/language/fi/admin/advanced/cache.json +++ b/public/language/fi/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Viestivälimuisti", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/fi/admin/advanced/database.json b/public/language/fi/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/fi/admin/advanced/database.json +++ b/public/language/fi/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/fi/admin/advanced/errors.json b/public/language/fi/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/fi/admin/advanced/errors.json +++ b/public/language/fi/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/fi/admin/appearance/customise.json b/public/language/fi/admin/appearance/customise.json index 6abfb179f0..6fce4b0ae5 100644 --- a/public/language/fi/admin/appearance/customise.json +++ b/public/language/fi/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Salli ylätunnisteen kustomointi", "custom-css.livereload": "Salli sivun päivitys livenä", - "custom-css.livereload.description": "Salli tämä, jos haluat mahdollistaa kaikkien tililläsi olevien laitteiden istuntojen päivittymisen, kun tallennat tekemäsi muutokset." + "custom-css.livereload.description": "Salli tämä, jos haluat mahdollistaa kaikkien tililläsi olevien laitteiden istuntojen päivittymisen, kun tallennat tekemäsi muutokset.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/fi/admin/appearance/skins.json b/public/language/fi/admin/appearance/skins.json index 1802516149..09fd5dd017 100644 --- a/public/language/fi/admin/appearance/skins.json +++ b/public/language/fi/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Ladataan ulkoasuja...", "homepage": "Kotisivu", "select-skin": "Valitse ulkoasu", + "revert-skin": "Revert Skin", "current-skin": "Nykyinen ulkoasu", "skin-updated": "Ulkoasu päivitetty", "applied-success": "Ulkoasu \"%1\" valittiin onnistuneesti.", diff --git a/public/language/fi/admin/appearance/themes.json b/public/language/fi/admin/appearance/themes.json index 925d048d74..4930dd85db 100644 --- a/public/language/fi/admin/appearance/themes.json +++ b/public/language/fi/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Haetaan asennettuja teemoja...", "homepage": "Kotisivu", "select-theme": "Valitse teema", + "revert-theme": "Revert Theme", "current-theme": "Nykyinen teema", "no-themes": "Asennettuja teemoja ei löytynyt.", "revert-confirm": "Oletko varma, että haluat palauttaa foorumisi teeman NodeBB-oletusteemaan?", diff --git a/public/language/fi/admin/dashboard.json b/public/language/fi/admin/dashboard.json index a4b404d80d..80ac78d658 100644 --- a/public/language/fi/admin/dashboard.json +++ b/public/language/fi/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Päivitykset", "running-version": "Sinulla on käytössäsi NodeBB v %1.", "keep-updated": "Huolehdi aina, että sinulla on käytössäsi uusin NodeBB-versio tietoturvaparannusten ja bugikorjausten vuoksi.", - "up-to-date": "

Ohjelmistosi on ajan tasalla

", - "upgrade-available": "

Uusi versio (v%1) on julkaistu. Suositellaan NodeBB-version päivitystä.

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

Tämä on vanhentunut NodeBB:n ennakkolevitysversio. Uusi versio (v%1) on julkaistu. Suositellaan NodeBB-version päivitystä.

", - "prerelease-warning": "

Tämä on NodeBB:n ennakkolevitysversio. Versio saattaa sisältää odottamattomia toimimattomuuksia.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Vara-sähköpostituslisäosaa ei löytynyt!", - "running-in-development": "Foorumi pyörii tällä hetkellä kehittäjäntilassa. Foorumi voi tässä tilassa olla altis tietoturvaongelmille; otathan yhteyttä järjestelmän ylläpitäjään.", - "latest-lookup-failed": "

Uusimman saatavilla olevan NodeBB-version haku ei onnistunut.

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Huomautukset", "restart-not-required": "Uudelleenkäynnistystä ei tarvita.", diff --git a/public/language/fi/admin/development/logger.json b/public/language/fi/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/fi/admin/development/logger.json +++ b/public/language/fi/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/fi/admin/extend/plugins.json b/public/language/fi/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/fi/admin/extend/plugins.json +++ b/public/language/fi/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/fi/admin/extend/rewards.json b/public/language/fi/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/fi/admin/extend/rewards.json +++ b/public/language/fi/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/fi/admin/extend/widgets.json b/public/language/fi/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/fi/admin/extend/widgets.json +++ b/public/language/fi/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/fi/admin/manage/admins-mods.json b/public/language/fi/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/fi/admin/manage/admins-mods.json +++ b/public/language/fi/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/fi/admin/manage/categories.json b/public/language/fi/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/fi/admin/manage/categories.json +++ b/public/language/fi/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/fi/admin/manage/groups.json b/public/language/fi/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/fi/admin/manage/groups.json +++ b/public/language/fi/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/fi/admin/manage/privileges.json b/public/language/fi/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/fi/admin/manage/privileges.json +++ b/public/language/fi/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/fi/admin/manage/tags.json b/public/language/fi/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/fi/admin/manage/tags.json +++ b/public/language/fi/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/fi/admin/manage/uploads.json b/public/language/fi/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/fi/admin/manage/uploads.json +++ b/public/language/fi/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/fi/admin/manage/users.json b/public/language/fi/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/fi/admin/manage/users.json +++ b/public/language/fi/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/fi/admin/menu.json b/public/language/fi/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/fi/admin/menu.json +++ b/public/language/fi/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/fi/admin/settings/api.json b/public/language/fi/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/fi/admin/settings/api.json +++ b/public/language/fi/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/fi/admin/settings/general.json b/public/language/fi/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/fi/admin/settings/general.json +++ b/public/language/fi/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/fi/admin/settings/guest.json b/public/language/fi/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/fi/admin/settings/guest.json +++ b/public/language/fi/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/fi/admin/settings/navigation.json b/public/language/fi/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/fi/admin/settings/navigation.json +++ b/public/language/fi/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/fi/admin/settings/post.json b/public/language/fi/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/fi/admin/settings/post.json +++ b/public/language/fi/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/fi/admin/settings/reputation.json b/public/language/fi/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/fi/admin/settings/reputation.json +++ b/public/language/fi/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/fi/admin/settings/social.json b/public/language/fi/admin/settings/social.json index 2d6c8e5690..83412e13b2 100644 --- a/public/language/fi/admin/settings/social.json +++ b/public/language/fi/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Viestin jakaminen", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/fi/admin/settings/tags.json b/public/language/fi/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/fi/admin/settings/tags.json +++ b/public/language/fi/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/fi/admin/settings/user.json b/public/language/fi/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/fi/admin/settings/user.json +++ b/public/language/fi/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/fi/error.json b/public/language/fi/error.json index c7dfb6abd0..39a4632623 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "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", diff --git a/public/language/fi/global.json b/public/language/fi/global.json index a6be2a49a4..88dadbefb6 100644 --- a/public/language/fi/global.json +++ b/public/language/fi/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Olet onnistuneesti kirjautunut sisään", "save_changes": "Tallenna muutokset", "save": "Tallenna", + "create": "Create", "cancel": "Cancel", "close": "Sulje", "pagination": "Sivutus", diff --git a/public/language/fi/modules.json b/public/language/fi/modules.json index 5223522d96..50e0207b75 100644 --- a/public/language/fi/modules.json +++ b/public/language/fi/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/fi/pages.json b/public/language/fi/pages.json index 019213b72a..365df06a07 100644 --- a/public/language/fi/pages.json +++ b/public/language/fi/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Paikalla olevat käyttäjät", "users/latest": "Viimeisimmat käyttäjät", "users/sort-posts": "Käyttäjät joilla eniten viestejä", diff --git a/public/language/fi/themes/harmony.json b/public/language/fi/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/fi/themes/harmony.json +++ b/public/language/fi/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/fi/topic.json b/public/language/fi/topic.json index 63630ae725..20026d743f 100644 --- a/public/language/fi/topic.json +++ b/public/language/fi/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Vastaus viestiin %1", "composer.new_topic": "Uusi aihe", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "ladataan palvelimelle...", "composer.thumb_url_label": "Liitä aiheen aiheen kuvakkeen URL", "composer.thumb_title": "Lisää kuvake tähän aiheeseen", diff --git a/public/language/fi/user.json b/public/language/fi/user.json index 037c246591..f714020dde 100644 --- a/public/language/fi/user.json +++ b/public/language/fi/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Ei ryhmän nimeä", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Valitse kotisivu", "homepage": "Kotisivu", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/fi/users.json b/public/language/fi/users.json index a735704ad5..db92349085 100644 --- a/public/language/fi/users.json +++ b/public/language/fi/users.json @@ -6,7 +6,7 @@ "most_flags": "Eniten ", "search": "Hae", "enter_username": "Syötä käyttäjätunnus hakeaksesi", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Lataa lisää", "users-found-search-took": "%1 käyttäjä(ä) löytyi! Haku kesti %2 sekuntia.", "filter-by": "Suodata", diff --git a/public/language/fr/admin/admin.json b/public/language/fr/admin/admin.json index e8c6d77ef9..ac55751183 100644 --- a/public/language/fr/admin/admin.json +++ b/public/language/fr/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Panneau d'administration NodeBB", "settings-header-contents": "Contenus", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changements non sauvegardés !", - "changes-not-saved-message": "NodeBB a rencontré un problème lors de l'enregistrement de vos modifications ! (%1)" + "changes-not-saved-message": "NodeBB a rencontré un problème lors de l'enregistrement de vos modifications ! (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/fr/admin/advanced/cache.json b/public/language/fr/admin/advanced/cache.json index 130034e50e..06757faf47 100644 --- a/public/language/fr/admin/advanced/cache.json +++ b/public/language/fr/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Cache des messages", "group-cache": "Cache de groupe", "local-cache": "Cache Local", diff --git a/public/language/fr/admin/advanced/database.json b/public/language/fr/admin/advanced/database.json index 7dbc132ec2..7d83d83fa2 100644 --- a/public/language/fr/admin/advanced/database.json +++ b/public/language/fr/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Disponibilité en secondes", "uptime-days": "Disponibilité en jours", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Version de MongoDB", "mongo.storage-engine": "Moteur de stockage", "mongo.collections": "Collections", diff --git a/public/language/fr/admin/advanced/errors.json b/public/language/fr/admin/advanced/errors.json index c738081ead..419e896306 100644 --- a/public/language/fr/admin/advanced/errors.json +++ b/public/language/fr/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Erreurs", "figure-x": "Graphe %1", "error-events-per-day": "Évènements %1 par jour", "error.404": "404 Introuvable", diff --git a/public/language/fr/admin/appearance/customise.json b/public/language/fr/admin/appearance/customise.json index 3f98cc348d..eeff047b45 100644 --- a/public/language/fr/admin/appearance/customise.json +++ b/public/language/fr/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Personnaliser", "custom-css": "CSS/SASS personnalisé", "custom-css.description": "Entrez vos propres déclarations CSS/SASS ici, qui seront appliquées après tous les autres styles.", "custom-css.enable": "Activer le CSS/SASS personnalisé", @@ -12,5 +13,8 @@ "custom-header.enable": "Activer les en-têtes personnalisés", "custom-css.livereload": "Activer le rechargement en direct", - "custom-css.livereload.description": "Activez cette option pour forcer toutes les sessions sur chaque appareil connecté à votre compte à se rafraichir lorsque vous cliquez sur Enregistrer." + "custom-css.livereload.description": "Activez cette option pour forcer toutes les sessions sur chaque appareil connecté à votre compte à se rafraichir lorsque vous cliquez sur Enregistrer.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/fr/admin/appearance/skins.json b/public/language/fr/admin/appearance/skins.json index 38fddfe42e..283e53ebb8 100644 --- a/public/language/fr/admin/appearance/skins.json +++ b/public/language/fr/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Skins personnalisé", + "add-skin": "Ajouter un Skin", + "save-custom-skins": "Sauvegarder le Skin personnalisé", + "save-custom-skins-success": "Sauvegardé avec succès", + "custom-skin-name": "Nom du Skin personnalisé", + "custom-skin-variables": "Variables du Skin personnalisé", "loading": "Chargements des skins…", "homepage": "Page d'accueil", "select-skin": "Sélectionner le skin", + "revert-skin": "Rétablir le Skin", "current-skin": "Skin actuel", "skin-updated": "Skin mis à jour", "applied-success": "Le skin %1 a été appliqué avec succès.", diff --git a/public/language/fr/admin/appearance/themes.json b/public/language/fr/admin/appearance/themes.json index 4295b24107..9fbb9122c5 100644 --- a/public/language/fr/admin/appearance/themes.json +++ b/public/language/fr/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Thèmes", "checking-for-installed": "Vérification des thèmes installés…", "homepage": "Page d'accueil", "select-theme": "Sélectionner ce thème", + "revert-theme": "Rétablir le thème", "current-theme": "Thème actuel", "no-themes": "Aucun thème installé", "revert-confirm": "Êtes-vous sûr de vouloir restaurer le thème NodeBB par défaut ?", diff --git a/public/language/fr/admin/dashboard.json b/public/language/fr/admin/dashboard.json index 722d323b33..9ba7dde267 100644 --- a/public/language/fr/admin/dashboard.json +++ b/public/language/fr/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Mises à jour", "running-version": "NodeBB v%1 est actuellement installé.", "keep-updated": "Assurez-vous que votre version de NodeBB est à jour pour les derniers patchs de sécurité et correctifs de bugs.", - "up-to-date": "

Votre version est à jour

", - "upgrade-available": "

Une nouvelle version (v%1) est disponible. Veuillez mettre à jour NodeBB.

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

Votre version est dépassée. Une nouvelle version (v%1) est disponible. Veuillez mettre à jour NodeBB.

", - "prerelease-warning": "

Ceci est une version préliminaire de NodeBB. Des bugs inattendus peuvent se produire.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Email de secours introuvable!", - "running-in-development": "Le forum est en mode développement. Il peut être sujet à certaines vulnérabilités, veuillez contacter votre administrateur système.", - "latest-lookup-failed": "

Erreur de vérification de la dernière version disponible de NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Informations", "restart-not-required": "Pas de redémarrage nécessaire", diff --git a/public/language/fr/admin/development/logger.json b/public/language/fr/admin/development/logger.json index 003effdb4c..9f5d977514 100644 --- a/public/language/fr/admin/development/logger.json +++ b/public/language/fr/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Réglages journalisation", "logger-settings": "Réglages de la journalisation", "description": "En activant les cases, vous recevrez des journaux dans votre terminal. Si vous spécifiez un chemin, les journaux y seront sauvegardés. La journalisation HTTP est utile pour collecter des statistiques sur les personnes qui accèdent à votre forum. En plus de la journalisation des requêtes HTTP, nous pouvons également journaliser les évènements socket.io. La journalisation socket.io, associée au monitoring redis-cli, peut être très utile pour apprendre les rouages de NodeBB.", "explanation": "Cochez ou décochez simplement les réglages de la journalisation pour l'activer ou la désactiver. Aucun redémarrage n'est nécessaire.", diff --git a/public/language/fr/admin/extend/plugins.json b/public/language/fr/admin/extend/plugins.json index 9b3bb6ce4a..acd679dc03 100644 --- a/public/language/fr/admin/extend/plugins.json +++ b/public/language/fr/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Tendance", "installed": "Installé", "active": "Actif", diff --git a/public/language/fr/admin/extend/rewards.json b/public/language/fr/admin/extend/rewards.json index 9fb342ce60..b0c72b2bcb 100644 --- a/public/language/fr/admin/extend/rewards.json +++ b/public/language/fr/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Récompenses", + "add-reward": "Add reward", "condition-if-users": "Si la propriété de l'utilisateur", "condition-is": "Est :", "condition-then": "Alors :", "max-claims": "Nombre de fois que la récompense peut être obtenue", "zero-infinite": "Entrez 0 pour infini", + "select-reward": "Select reward", "delete": "Supprimer", "enable": "Activer", "disable": "Désactiver", diff --git a/public/language/fr/admin/extend/widgets.json b/public/language/fr/admin/extend/widgets.json index 26e7d3045a..66eb113295 100644 --- a/public/language/fr/admin/extend/widgets.json +++ b/public/language/fr/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Widgets disponibles", "explanation": "Sélectionnez un widget depuis le menu puis glissez-déposez le dans une zone template du widget à gauche.", "none-installed": "Aucun widget trouvé ! Activez le plugin Widget Essentials dans le panneau de configuration des plugins.", diff --git a/public/language/fr/admin/manage/admins-mods.json b/public/language/fr/admin/manage/admins-mods.json index 9c0a5a22d9..d5a6aaa1c5 100644 --- a/public/language/fr/admin/manage/admins-mods.json +++ b/public/language/fr/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrateurs", "global-moderators": "Modérateurs Globaux", "moderators": "Modérateurs", "no-global-moderators": "Aucun Modérateur Global ", "no-sub-categories": "Aucunes sous-catégories", - "subcategories": "%1 Sous-catégories", + "view-children": "View children (%1)", "no-moderators": "Aucun Modérateur", "add-administrator": "Ajouter un Administrateur", "add-global-moderator": "Ajouter un Modérateur Global", diff --git a/public/language/fr/admin/manage/categories.json b/public/language/fr/admin/manage/categories.json index 39f68b7f6d..3340bf8fb1 100644 --- a/public/language/fr/admin/manage/categories.json +++ b/public/language/fr/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Paramètres de la catégorie", + "edit-category": "Edit Category", "privileges": "Privilèges", - + "back-to-categories": "Back to categories", "name": "Nom de la catégorie", "description": "Description de la catégorie", "bg-color": "Couleur d'arrière plan", @@ -15,8 +19,11 @@ "post-queue": "File d'attente", "tag-whitelist": "Liste blanche de mots clés", "upload-image": "Envoyer une image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Enlever", "category-image": "Image de la catégorie", + "image-and-icon": "Image & Icon", "parent-category": "Catégorie parente", "optional-parent-category": "Catégorie parente (optionnel)", "top-level": "Vers le haut", @@ -31,6 +38,7 @@ "disable": "Désactiver", "edit": "Éditer", "analytics": "Statistiques", + "view-category": "Voir la catégorie", "set-order": "Définir l'ordre", "set-order-help": "Configuration des catégories. Vous pouvez déplacer vos catégories dans l'ordre que vous le souhaitez. La commande minimum est de 1, ce qui place la catégorie au sommet.", diff --git a/public/language/fr/admin/manage/groups.json b/public/language/fr/admin/manage/groups.json index 5133ffdaf6..1c73034c21 100644 --- a/public/language/fr/admin/manage/groups.json +++ b/public/language/fr/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Nom du groupe", "badge": "Badge", "properties": "Propriétées", @@ -10,7 +16,7 @@ "edit": "Éditer", "delete": "Supprimer", "privileges": "Privilèges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Rechercher", "create": "Créer un groupe", "description-placeholder": "Une courte description de votre groupe", diff --git a/public/language/fr/admin/manage/privileges.json b/public/language/fr/admin/manage/privileges.json index 0df618a3df..b9b29d5bf3 100644 --- a/public/language/fr/admin/manage/privileges.json +++ b/public/language/fr/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Privilèges de groupe", diff --git a/public/language/fr/admin/manage/tags.json b/public/language/fr/admin/manage/tags.json index 5bf517ed79..7e1ebd3584 100644 --- a/public/language/fr/admin/manage/tags.json +++ b/public/language/fr/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Votre forum n'a pour l'instant aucun sujet avec mots-clés.", "bg-color": "Couleur d'arrière plan", "text-color": "Couleur du texte", "description": "Pour une sélection multiple :\nSélectionnez des mots-clés en cliquant ou en sélectionnant avec votre souris ou utilisez la touche CTRL .", "create": "Créer le mot-clés", + "add-tag": "Add tag", "modify": "Modifier les mots-clés", "rename": "Renommer les mots-clés", "delete": "Supprimer la sélection", diff --git a/public/language/fr/admin/manage/uploads.json b/public/language/fr/admin/manage/uploads.json index 8f1e276a6f..73e359622d 100644 --- a/public/language/fr/admin/manage/uploads.json +++ b/public/language/fr/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Envoyer un fichier", "filename": "Nom du fichier", "usage": "Utilisé dans le message", diff --git a/public/language/fr/admin/manage/users.json b/public/language/fr/admin/manage/users.json index 9f603b68d5..4cbded2a09 100644 --- a/public/language/fr/admin/manage/users.json +++ b/public/language/fr/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Utilisateurs", "edit": "Actions", "make-admin": "Promouvoir Admin", @@ -49,6 +50,10 @@ "users.username": "nom d'utilisateur", "users.email": "e-mail", "users.no-email": "(pas e-mail)", + "users.validated": "Validé", + "users.not-validated": "Non validé", + "users.validation-pending": "Validation en attente", + "users.validation-expired": "Validation expirée", "users.ip": "IP", "users.postcount": "nombre de sujets", "users.reputation": "réputation", diff --git a/public/language/fr/admin/menu.json b/public/language/fr/admin/menu.json index c24c461f4e..9ba612ce00 100644 --- a/public/language/fr/admin/menu.json +++ b/public/language/fr/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Régénérer & Redémarrer votre forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Redémarrer le forum", + "restart": "Restart", "logout": "Déconnexion ", "view-forum": "Voir le forum", diff --git a/public/language/fr/admin/settings/api.json b/public/language/fr/admin/settings/api.json index f610282361..e8215ecfb7 100644 --- a/public/language/fr/admin/settings/api.json +++ b/public/language/fr/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Paramètres", "lead-text": "À partir de cette page, vous pouvez paramétrer l'accès à l'API dans NodeBB.", "intro": "Par défaut, l'API authentifie les utilisateurs en fonction de leur cookie de session, mais NodeBB prend également en charge l'authentification du porteur via des tokens générés via cette page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Cliquez ici pour accéder à la documentation de l'API", "require-https": "Forcer l'utilisation de l'API via HTTPS uniquement", "require-https-caveat": "Remarque: certaines installations impliquant des load balancer peuvent transmettre leurs requêtes à NodeBB via HTTP, auquel cas cette option doit rester désactivée.", "uid": "ID Utilisateur", + "token": "Token", "uid-help-text": "Spécifiez un ID utilisateur à associer à ce token. Si l'ID utilisateur est 0, il sera considéré comme un token maître, qui peut prendre l'identité d'autres utilisateurs en fonction du paramètre _uid", "description": "Description", - "last-seen-ago": "Dernière utilisation .", - "last-seen-on": "Dernière utilisation sur .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "Cette clé n'a jamais été utilisée.", "no-description": "Aucune description spécifiée.", - "token-on-save": "Le token sera généré une fois le formulaire enregistré" + "actions": "Actions", + "edit": "Éditer ", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/fr/admin/settings/general.json b/public/language/fr/admin/settings/general.json index 0f871bec8c..acd5e41788 100644 --- a/public/language/fr/admin/settings/general.json +++ b/public/language/fr/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Réglages du site", "title": "Titre du site", "title.short": "Titre court", "title.short-placeholder": "Si aucun titre court n'est spécifié, le titre du site sera utilisé", "title.url": "URL du lien du titre", "title.url-placeholder": "URL du titre du site", - "title.url-help": "Lorsque le titre est cliqué, il renvoi les utilisateurs à cette adresse. Si laissé vide, l'utilisateur sera envoyé à l'index du forum.
Remarque : il ne s'agit pas de l'URL externe utilisée dans les e-mails, etc. Elle est définie par la propriété url dans config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Nom de votre communauté", "title.show-in-header": "Afficher le titre du site dans l'en-tête", "browser-title": "Titre dans le navigateur", @@ -16,7 +18,7 @@ "description": "Description du site", "keywords": "Mots-clés du site", "keywords-placeholder": "Mots-clés décrivant votre communauté, séparés par des virgules", - "logo": "Logo du site", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Chemin vers un logo à afficher dans l'en-tête du site", "logo.upload": "Télécharger", diff --git a/public/language/fr/admin/settings/guest.json b/public/language/fr/admin/settings/guest.json index 8ddbeba3a4..f8853ee263 100644 --- a/public/language/fr/admin/settings/guest.json +++ b/public/language/fr/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Paramètres", + "guest-settings": "Paramètres d'invité", "handles.enabled": "Autoriser les invités à poster", "handles.enabled-help": "Cette option affiche un nouveau champ qui permet aux invités de choisir un nom qui sera associé à chaque message qu'ils rédigent. Si désactivé, il seront simplement nommés \"Invité\".", "topic-views.enabled": "Autoriser les invités à augmenter le nombre de consultations de sujets", diff --git a/public/language/fr/admin/settings/navigation.json b/public/language/fr/admin/settings/navigation.json index 84fc4025e2..e7f338f81c 100644 --- a/public/language/fr/admin/settings/navigation.json +++ b/public/language/fr/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icône :", "change-icon": "changer", "route": "Route :", diff --git a/public/language/fr/admin/settings/post.json b/public/language/fr/admin/settings/post.json index 9546189788..8f2c807cd7 100644 --- a/public/language/fr/admin/settings/post.json +++ b/public/language/fr/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "Général", "sorting": "Tri des messages", "sorting.post-default": "Tri des messages par défaut", "sorting.oldest-to-newest": "Du plus ancien au plus récent", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Nombre de secondes pendant lesquelles une publication reste modifiable (définissez la valeur sur 0 pour la désactiver)", "restrictions.seconds-delete-after": "Nombre de secondes pendant lesquelles un message reste supprimable (définissez la valeur sur 0 pour la désactiver)", "restrictions.replies-no-delete": "Nombre de réponses avant que les utilisateurs soient pas autorisés à supprimer leurs propres sujets (définissez la valeur sur 0 pour la désactiver)", - "restrictions.min-title-length": "Longueur minimum du titre", - "restrictions.max-title-length": "Longueur maximum du titre", - "restrictions.min-post-length": "Longueur minimum des messages", - "restrictions.max-post-length": "Longueur maximum des messages", + "restrictions.title-length": "Longueur du titre", + "restrictions.post-length": "Longueur du message", "restrictions.days-until-stale": "Jours jusqu'à ce que le sujet soit considéré comme périmé", "restrictions.stale-help": "Si un sujet est considéré comme \"périmé\", un message sera affiché aux utilisateurs tentant de répondre au sujet", "timestamp": "Horodatage", @@ -41,10 +40,9 @@ "teaser.last-reply": "Dernier – Affiche le dernier message, ou \"Aucune réponse\" si il n'y a pas de réponse", "teaser.first": "Premier", "showPostPreviewsOnHover": "Afficher un aperçu des messages au survol des liens", - "unread": "Paramètres des messages non lus", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Nombre de jours pour les messages non-lus", "unread.min-track-last": "Nombre minimum de messages dans le sujet avant de garder en mémoire le dernier message lu", - "recent": "Réglages récents", "recent.max-topics": "Maximum de sujets récents", "recent.categoryFilter.disable": "Désactiver le filtrage des sujets dans les catégories ignorées sur la page /recent", "signature": "Paramètres de signature", diff --git a/public/language/fr/admin/settings/reputation.json b/public/language/fr/admin/settings/reputation.json index a888590efc..a5063ef3a9 100644 --- a/public/language/fr/admin/settings/reputation.json +++ b/public/language/fr/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Procédez comme suit lorsqu'un signalement est résolu", "flags.action-on-reject": "Procédez comme suit lorsqu'un signalement est rejeté", "flags.action.nothing": "Ne rien faire", - "flags.action.rescind": "Annuler la notification envoyée aux modérateurs/administrateurs" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/fr/admin/settings/social.json b/public/language/fr/admin/settings/social.json index 59e9e4e326..3c187dacb0 100644 --- a/public/language/fr/admin/settings/social.json +++ b/public/language/fr/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Partage de message", - "info-plugins-additional": "Les plugins peuvent ajouter de nouveaux réseaux pour partager des messages.", - "save-success": "Sauvegarde réussie !" + "info-plugins-additional": "Les plugins peuvent ajouter de nouveaux réseaux pour partager des messages." } \ No newline at end of file diff --git a/public/language/fr/admin/settings/tags.json b/public/language/fr/admin/settings/tags.json index f3b90ddc05..a2667cfd62 100644 --- a/public/language/fr/admin/settings/tags.json +++ b/public/language/fr/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Gérer les mots-clés", "system-tags": "Gestion des mots-clés", "system-tags-help": "Seuls les utilisateurs privilégiés pourront utiliser ces mots-clés.", + "tags-per-topic": "Tags par sujet", "min-per-topic": "Nombre minimum de mots-clés par sujet", "max-per-topic": "Nombre maximum de mots-clés par sujet", "min-length": "Longueur minimum des mots-clés", diff --git a/public/language/fr/admin/settings/user.json b/public/language/fr/admin/settings/user.json index 69d328e489..1e8fcc0d2c 100644 --- a/public/language/fr/admin/settings/user.json +++ b/public/language/fr/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Longueur maximum du À propos de moi", "terms-of-use": "Conditions générales d'utilisation du forum (Laisser vide pour désactiver)", "user-search": "Rechercher un utilisateur", - "user-search-results-per-page": "Nombre de résultats à afficher", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Réglages par défaut des utilisateurs", "show-email": "Afficher l'adresse e-mail", "show-fullname": "Afficher le nom complet", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 2ac3e6a9f1..bb850baf7f 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "L'utilisateur « %1 » n'a pas d'adresse e-mail.", "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.", + "confirm-email-expired": "Email de confirmation expiré.", "sendmail-not-found": "L'application d'envoi de mail est introuvable, assurez-vous qu'elle est installée et que l'utilisateur ayant démarré NodeBB ait des droits suffisants.", "digest-not-enabled": "Les lettres d'activités de cet utilisateur ne sont pas activés ou la configuration système par défaut n’est pas configurée", "username-too-short": "Nom d'utilisateur trop court", diff --git a/public/language/fr/global.json b/public/language/fr/global.json index 72d58f8c3a..3b0401132f 100644 --- a/public/language/fr/global.json +++ b/public/language/fr/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Vous vous êtes bien connecté", "save_changes": "Enregistrer les changements", "save": "Enregistrer", + "create": "Créer", "cancel": "Annuler", "close": "Fermer", "pagination": "Pagination", diff --git a/public/language/fr/groups.json b/public/language/fr/groups.json index 8fe96b394e..d4a9899b7f 100644 --- a/public/language/fr/groups.json +++ b/public/language/fr/groups.json @@ -1,5 +1,5 @@ { - "all-groups": "All groups", + "all-groups": "Tous les groupes", "groups": "Groupes", "members": "Membres", "view_group": "Voir le groupe", diff --git a/public/language/fr/modules.json b/public/language/fr/modules.json index c6aebc1cef..2a81ace788 100644 --- a/public/language/fr/modules.json +++ b/public/language/fr/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Discuter avec", "chat.placeholder": "Écrivez vos message ici, faites glisser / déposez les images, validez sur entrée pour envoyer", "chat.placeholder.mobile": "Tapez le message ici", - "chat.scroll-up-alert": "Vous consultez des messages plus anciens, cliquez ici pour accéder au message le plus récent.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 autres", "chat.chat-with-usernames": "Discuter avec %1", "chat.chat-with-usernames-and-x-others": "Discuter avec %1 & %2 autres", diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index 47a3633677..6a079c1818 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Contenu signalé", "ip-blacklist": "Liste noire d'IPs", "post-queue": "File d'attente des messages", + "registration-queue": "File d'inscription", "users/online": "Utilisateurs en ligne", "users/latest": "Derniers inscrits", "users/sort-posts": "Utilisateurs avec le plus de messages", diff --git a/public/language/fr/themes/harmony.json b/public/language/fr/themes/harmony.json index 57e2def8d3..dc3c021cc2 100644 --- a/public/language/fr/themes/harmony.json +++ b/public/language/fr/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", + "theme-name": "Thème Harmony", + "skins": "Apparence", + "collapse": "Réduire", + "expand": "Développer", + "login-register-to-search": "Connectez-vous ou inscrivez-vous pour faire une recherche.", + "settings.title": "Configuration du thème", + "settings.enableQuickReply": "Activer les réponses rapide", + "settings.centerHeaderElements": "Centrer les éléments d'en-tête", "settings.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/fr/themes/persona.json b/public/language/fr/themes/persona.json index e7d1945303..c6aec765ad 100644 --- a/public/language/fr/themes/persona.json +++ b/public/language/fr/themes/persona.json @@ -1,7 +1,7 @@ { "settings.title": "Theme settings", "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", + "settings.mobile-menu-side": "Changer la position du menu en version mobiles", "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index 004ce8670a..c7009253f3 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Planification", "composer.replying_to": "En réponse à %1", "composer.new_topic": "Nouveau sujet", - "composer.editing": "Édition", + "composer.editing-in": "Editing post in %1", "composer.uploading": "envoi en cours…", "composer.thumb_url_label": "Coller une URL de vignette du sujet", "composer.thumb_title": "Ajouter une vignette à ce sujet", diff --git a/public/language/fr/user.json b/public/language/fr/user.json index 73de7f3d64..e532394189 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -141,6 +141,8 @@ "group-order-help": "Sélectionnez un groupe et utilisez les flèches pour organiser les titres", "no-group-title": "Aucun titre de groupe", "select-skin": "Sélectionner une apparence", + "default": "Défaut (%1)", + "no-skin": "Aucun Skin", "select-homepage": "Sélectionner une page d'accueil", "homepage": "Page d'accueil", "homepage_description": "Sélectionnez une page à utiliser comme page d'accueil du forum, ou \"Aucune\" pour utiliser la page d'accueil par défaut.", @@ -202,5 +204,5 @@ "emailUpdate.required": "Ce champ est requis.", "emailUpdate.change-instructions": "Un mail de confirmation sera envoyé à l'adresse mail saisie avec un lien unique. L'accès à ce lien confirmera votre propriété de mail et elle deviendra active sur votre compte. À tout moment, vous pouvez mettre à jour votre mail enregistré depuis la page de votre compte.", "emailUpdate.password-challenge": "Veuillez entrer votre mot de passe pour confirmer la propriété du compte.", - "emailUpdate.pending": "Your email address has not yet been confirmed, but an email has been sent out requesting confirmation. If you wish to invalidate that request and send a new confirmation request, please fill in the form below." + "emailUpdate.pending": "Votre adresse e-mail n'a pas encore été confirmée, mais un e-mail a été envoyé pour demander une confirmation. Si vous souhaitez annuler cette demande et renvoyer une demande de confirmation, veuillez remplir le formulaire ci-dessous." } \ No newline at end of file diff --git a/public/language/fr/users.json b/public/language/fr/users.json index 81e5746f1c..21a2ac5df0 100644 --- a/public/language/fr/users.json +++ b/public/language/fr/users.json @@ -6,7 +6,7 @@ "most_flags": "Les plus signalés", "search": "Rechercher", "enter_username": "Entrez le nom d'un utilisateur", - "search-user-for-chat": "Recherchez un utilisateur pour démarrer le chat :", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Charger la suite", "users-found-search-took": "%1 utilisateur(s) trouvé(s)! La recherche a pris %2 secondes.", "filter-by": "Filtrer par", diff --git a/public/language/gl/admin/admin.json b/public/language/gl/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/gl/admin/admin.json +++ b/public/language/gl/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/gl/admin/advanced/cache.json b/public/language/gl/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/gl/admin/advanced/cache.json +++ b/public/language/gl/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/gl/admin/advanced/database.json b/public/language/gl/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/gl/admin/advanced/database.json +++ b/public/language/gl/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/gl/admin/advanced/errors.json b/public/language/gl/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/gl/admin/advanced/errors.json +++ b/public/language/gl/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/gl/admin/appearance/customise.json b/public/language/gl/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/gl/admin/appearance/customise.json +++ b/public/language/gl/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/gl/admin/appearance/skins.json b/public/language/gl/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/gl/admin/appearance/skins.json +++ b/public/language/gl/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/gl/admin/appearance/themes.json b/public/language/gl/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/gl/admin/appearance/themes.json +++ b/public/language/gl/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/gl/admin/dashboard.json b/public/language/gl/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/gl/admin/dashboard.json +++ b/public/language/gl/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/gl/admin/development/logger.json b/public/language/gl/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/gl/admin/development/logger.json +++ b/public/language/gl/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/gl/admin/extend/plugins.json b/public/language/gl/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/gl/admin/extend/plugins.json +++ b/public/language/gl/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/gl/admin/extend/rewards.json b/public/language/gl/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/gl/admin/extend/rewards.json +++ b/public/language/gl/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/gl/admin/extend/widgets.json b/public/language/gl/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/gl/admin/extend/widgets.json +++ b/public/language/gl/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/gl/admin/manage/admins-mods.json b/public/language/gl/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/gl/admin/manage/admins-mods.json +++ b/public/language/gl/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/gl/admin/manage/categories.json b/public/language/gl/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/gl/admin/manage/categories.json +++ b/public/language/gl/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/gl/admin/manage/groups.json b/public/language/gl/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/gl/admin/manage/groups.json +++ b/public/language/gl/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/gl/admin/manage/privileges.json b/public/language/gl/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/gl/admin/manage/privileges.json +++ b/public/language/gl/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/gl/admin/manage/tags.json b/public/language/gl/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/gl/admin/manage/tags.json +++ b/public/language/gl/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/gl/admin/manage/uploads.json b/public/language/gl/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/gl/admin/manage/uploads.json +++ b/public/language/gl/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/gl/admin/manage/users.json b/public/language/gl/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/gl/admin/manage/users.json +++ b/public/language/gl/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/gl/admin/menu.json b/public/language/gl/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/gl/admin/menu.json +++ b/public/language/gl/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/gl/admin/settings/api.json b/public/language/gl/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/gl/admin/settings/api.json +++ b/public/language/gl/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/gl/admin/settings/general.json b/public/language/gl/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/gl/admin/settings/general.json +++ b/public/language/gl/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/gl/admin/settings/guest.json b/public/language/gl/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/gl/admin/settings/guest.json +++ b/public/language/gl/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/gl/admin/settings/navigation.json b/public/language/gl/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/gl/admin/settings/navigation.json +++ b/public/language/gl/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/gl/admin/settings/post.json b/public/language/gl/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/gl/admin/settings/post.json +++ b/public/language/gl/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/gl/admin/settings/reputation.json b/public/language/gl/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/gl/admin/settings/reputation.json +++ b/public/language/gl/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/gl/admin/settings/social.json b/public/language/gl/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/gl/admin/settings/social.json +++ b/public/language/gl/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/gl/admin/settings/tags.json b/public/language/gl/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/gl/admin/settings/tags.json +++ b/public/language/gl/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/gl/admin/settings/user.json b/public/language/gl/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/gl/admin/settings/user.json +++ b/public/language/gl/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/gl/error.json b/public/language/gl/error.json index 5e1674d375..effa37c1f2 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Non se atopa o executable \"sendmail\", por favor, asegúrate de que está instalado no teu sistema e que é accesible polo usuario que executa NodeBB. ", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Nome de usuario demasiado curto", diff --git a/public/language/gl/global.json b/public/language/gl/global.json index 743ba0f5fe..c66ea8404d 100644 --- a/public/language/gl/global.json +++ b/public/language/gl/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Sentidiño!", "save_changes": "Gardar Cambios", "save": "Gardar", + "create": "Create", "cancel": "Cancel", "close": "Pechar ", "pagination": "Paxinación", diff --git a/public/language/gl/modules.json b/public/language/gl/modules.json index b42ae4b2f7..f35c6944b1 100644 --- a/public/language/gl/modules.json +++ b/public/language/gl/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/gl/pages.json b/public/language/gl/pages.json index d7955f4d17..d501ec2ec0 100644 --- a/public/language/gl/pages.json +++ b/public/language/gl/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "Lista negra de IPs", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Usuarios conectados", "users/latest": "Últimos usuarios", "users/sort-posts": "Usuarios con máis temas", diff --git a/public/language/gl/themes/harmony.json b/public/language/gl/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/gl/themes/harmony.json +++ b/public/language/gl/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/gl/topic.json b/public/language/gl/topic.json index 650eb18e3e..a72421dc7a 100644 --- a/public/language/gl/topic.json +++ b/public/language/gl/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "En resposta a %1", "composer.new_topic": "Novo tema", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "subindo...", "composer.thumb_url_label": "Agrega unha URL de miniatura para o tema", "composer.thumb_title": "Agregar miniatura a este tema", diff --git a/public/language/gl/user.json b/public/language/gl/user.json index 4ae5febb94..040fa36f3d 100644 --- a/public/language/gl/user.json +++ b/public/language/gl/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Sen titulo de grupo", "select-skin": "Seleccionar apariencia", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Escolla unha páxina de inicio", "homepage": "Páxina de inicio", "homepage_description": "Escolla unha páxina para o seu uso habitual como a páxina principal do foro ou \"Ningún\" para empregar a páxina de inicio", diff --git a/public/language/gl/users.json b/public/language/gl/users.json index f8e4c06530..d12fdfa7e2 100644 --- a/public/language/gl/users.json +++ b/public/language/gl/users.json @@ -6,7 +6,7 @@ "most_flags": "Máis reportados", "search": "Busca", "enter_username": "Introduce o nome de usuario a procurar", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Cargar máis", "users-found-search-took": "%1 usuario(s) atopado! A procura tomou %2 segundos.", "filter-by": "Filtrar por", diff --git a/public/language/he/admin/admin.json b/public/language/he/admin/admin.json index 92ecde4e27..5fa1d8a035 100644 --- a/public/language/he/admin/admin.json +++ b/public/language/he/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | לוח בקרה למנהל פורום NodeBB", "settings-header-contents": "תוכן", + "changes-saved": "השינויים נשמרו", + "changes-saved-message": "השינויים שלך בתצורת NodeBB נשמרו.", "changes-not-saved": "השינויים לא נשמרו", - "changes-not-saved-message": "NodeBB נתקל בבעיה בשמירת השינויים שלך. (%1)" + "changes-not-saved-message": "NodeBB נתקל בבעיה בשמירת השינויים שלך. (%1)", + "save-changes": "שמור שינויים", + "min": "מינימום:", + "max": "מקסימום:", + "view": "View", + "edit": "עריכה" } \ No newline at end of file diff --git a/public/language/he/admin/advanced/cache.json b/public/language/he/admin/advanced/cache.json index a88a790e55..5607b4ca42 100644 --- a/public/language/he/admin/advanced/cache.json +++ b/public/language/he/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "מטמון", "post-cache": "מטמון פוסטים", "group-cache": "Group Cache", "local-cache": "מטמון מקומי", diff --git a/public/language/he/admin/advanced/database.json b/public/language/he/admin/advanced/database.json index b18bbe3f6a..c8bb1ec8e4 100644 --- a/public/language/he/admin/advanced/database.json +++ b/public/language/he/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "זמן מאתחול אחרון בשניות", "uptime-days": "זמן מאתחול אחרון בימים", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "גרסת MongoDB", "mongo.storage-engine": "מנוע אחסון", "mongo.collections": "אוסף", diff --git a/public/language/he/admin/advanced/errors.json b/public/language/he/admin/advanced/errors.json index ef5e1d870e..eb5715f142 100644 --- a/public/language/he/admin/advanced/errors.json +++ b/public/language/he/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "שגיאות", "figure-x": "דוגמא %1", "error-events-per-day": "%1 ארועים ביום", "error.404": "לא נמצא 404", diff --git a/public/language/he/admin/appearance/customise.json b/public/language/he/admin/appearance/customise.json index 79154872dd..f138c80090 100644 --- a/public/language/he/admin/appearance/customise.json +++ b/public/language/he/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "התאמה אישית", "custom-css": "CSS/SASS מותאם אישית", "custom-css.description": "הזן כאן הצהרות CSS/SASS משלך, שיוחלו לאחר כל הסגנונות האחרים.", "custom-css.enable": "הפעל CSS/SASS מותאם אישית", @@ -12,5 +13,8 @@ "custom-header.enable": "הפעלת HTML מותאם אישית", "custom-css.livereload": "הפעלת טעינה מחדש אוטומטית.", - "custom-css.livereload.description": "הפעלה זו נועדה כדי לרענן את כל החיבורים מכל מכשיר, כאשר תשמרו את הדף המותאם אישית." + "custom-css.livereload.description": "הפעלה זו נועדה כדי לרענן את כל החיבורים מכל מכשיר, כאשר תשמרו את הדף המותאם אישית.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/he/admin/appearance/skins.json b/public/language/he/admin/appearance/skins.json index ea33d800bc..ceb0a6a9b8 100644 --- a/public/language/he/admin/appearance/skins.json +++ b/public/language/he/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "עיצובים", + "bootswatch-skins": "עיצובי Bootswatch", + "custom-skins": "עיצובים מותאמים אישית", + "add-skin": "הוסף עיצוב", + "save-custom-skins": "שמור עיצוב מותאם אישית", + "save-custom-skins-success": "עיצובים מותאמים אישית נשמרו בהצלחה", + "custom-skin-name": "שם עיצוב מותאם אישית", + "custom-skin-variables": "משתני עיצוב מותאם אישית", "loading": "טוען עיצובים", "homepage": "דף הפרוייקט", "select-skin": "בחר עיצוב זה", + "revert-skin": "חזור לעיצוב מקורי", "current-skin": "עיצוב נוכחי", "skin-updated": "עיצוב עודכן", "applied-success": "עיצוב %1 הוחל בהצלחה", diff --git a/public/language/he/admin/appearance/themes.json b/public/language/he/admin/appearance/themes.json index 00210bdbd0..507ccd8534 100644 --- a/public/language/he/admin/appearance/themes.json +++ b/public/language/he/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "ערכות נושא", "checking-for-installed": "בודק ערכות נושא מותקנות...", "homepage": "דף הבית", "select-theme": "בחר ערכת נושא", + "revert-theme": "חזור לערכת נושא מקורית", "current-theme": "ערכת נושא נוכחית", "no-themes": "לא נמצאו ערכות נושא מותקנות", "revert-confirm": "האם אתה בטוח שאתה רוצה לשחזר את ערכת הנושא הרגילה של NodeBB?", diff --git a/public/language/he/admin/dashboard.json b/public/language/he/admin/dashboard.json index b0180cef02..50e58da897 100644 --- a/public/language/he/admin/dashboard.json +++ b/public/language/he/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "עדכונים", "running-version": "הפורום מעודכן לגרסה %1", "keep-updated": "לעדכוני אבטחה מעודכנים ותיקוני באגים, וודא שהפורום שלך עדכני לגרסה האחרונה.", - "up-to-date": "

אתה מעודכן

", - "upgrade-available": "

גרסה חדשה (v%1) שוחררה. שקול האם לעדכן את הפורום שלך.

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

זוהי גירסת קדם-הפצה מיושנת של NodeBB. גרסה חדשה (v%1) שוחרר. שקול האם לעדכן את ה-NodeBB שלך.

", - "prerelease-warning": "

זוהי גירסת קדם-הפצה של NodeBB. באגים בלתי צפויים עלולים להתרחש.

", + "up-to-date": " אתה מעודכן", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "זוהי גרסת טרום-הפצה מיושנת של NodeBB. גרסה חדשה (v%1) שוחררה. שקול לשדרג את ה-NodeBB שלך.", + "prerelease-warning": " זוהי גרסת טרום-הפצה של NodeBB. עלולים להתרחש באגים לא מכוונים.", "fallback-emailer-not-found": "Fallback emailer לא נמצא!", - "running-in-development": "הפורום פועל במצב פיתוח. הפורום עשוי להיות חשוף לפגיעות פוטנציאליות; פנה אל מנהל המערכת שלך.", - "latest-lookup-failed": "

נכשל בבדיקת זמינות גרסה חדשה של הפורום

", + "running-in-development": "הפורום פועל במצב פיתוח. הפורום עשוי להיות חשוף לפגיעויות פוטנציאליות; אנא פנה למנהל המערכת שלך", + "latest-lookup-failed": "לא הצליח לחפש את הגרסה האחרונה הזמינה של NodeBB", "notices": "התראות", "restart-not-required": "לא נדרש אתחול מחדש", diff --git a/public/language/he/admin/development/logger.json b/public/language/he/admin/development/logger.json index 872bcdebb4..5e360652e3 100644 --- a/public/language/he/admin/development/logger.json +++ b/public/language/he/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "הגדרות מנהל הרישום", "description": "על-ידי הפיכת תיבות הסימון לזמינות, תקבל יומני רישום למסוף שלך. אם תציין נתיב, יומני הרישום יישמרו בקובץ במקום זאת. רישום HTTP שימושי לאיסוף נתונים סטטיסטיים אודות מי ומתי אנשים נכנסים לפורום שלך. בנוסף לרישום בקשות ה-HTTP, אנו יכולים גם לרשום אירועי Socket.io, אשר בשילוב עם מודד redis-cli, יכול להיות מאוד מועיל ללימוד הפנימיים של NodeBB.", "explanation": "הפעל או ​בטל את סימון הגדרות הרישום כדי לאפשר או להשבית כניסה במהירות. אין צורך בהפעלה מחדש.", diff --git a/public/language/he/admin/extend/plugins.json b/public/language/he/admin/extend/plugins.json index d7edc82704..31ef5d4573 100644 --- a/public/language/he/admin/extend/plugins.json +++ b/public/language/he/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "תוספים", "trending": "פופולארי", "installed": "הותקן", "active": "פעיל", @@ -12,7 +13,7 @@ "plugin-search-placeholder": "חפש תוספים...", "submit-anonymous-usage": "שלח נתוני שימוש אנונימיים בתוסף.", "reorder-plugins": "סדר מחדש תוספים", - "order-active": "הזמן תוסף פעיל", + "order-active": "סדר תוספים פעילים", "dev-interested": "מתעניין בכתיבת תוספים ל-NodeBB?", "docs-info": "ניתן למצוא תיעוד מלא בנוגע לכתיבת תוסף ב פורטל מסמכי NodeBB..", diff --git a/public/language/he/admin/extend/rewards.json b/public/language/he/admin/extend/rewards.json index 12bc679568..ccad7caf8b 100644 --- a/public/language/he/admin/extend/rewards.json +++ b/public/language/he/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "תגמולים", + "add-reward": "הוסף תגמול", "condition-if-users": "אם", "condition-is": "הינו:", "condition-then": "תגמל ב:", "max-claims": "מספר פעמים בה ניתן לדרוש תגמול", "zero-infinite": "הזן 0 ללא הגבלה", + "select-reward": "בחר תגמול", "delete": "מחק", "enable": "הפעל", "disable": "השבת", diff --git a/public/language/he/admin/extend/widgets.json b/public/language/he/admin/extend/widgets.json index 728fc93a2e..6ece7f45ff 100644 --- a/public/language/he/admin/extend/widgets.json +++ b/public/language/he/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "ווידג'טים", "available": "וידג'טים זמינים", "explanation": "בחר וידג'ט מהתפריט הנפתח ואז גרור ושחרר אותו באזור הווידג'ט של התבנית משמאל.", "none-installed": "לא נמצאו וידג'טים! הפעל את תוספי הוידג'טים ב תוספים בלוח הבקרה.", diff --git a/public/language/he/admin/manage/admins-mods.json b/public/language/he/admin/manage/admins-mods.json index 40d70ee859..5fb5065795 100644 --- a/public/language/he/admin/manage/admins-mods.json +++ b/public/language/he/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "מנהלים", "global-moderators": "מנחים גלובליים", "moderators": "מנחים", "no-global-moderators": "אין מנחים גלובליים", "no-sub-categories": "אין תתי קטגוריות", - "subcategories": "%1 תתי-קטגוריות", + "view-children": "View children (%1)", "no-moderators": "אין מנחים", "add-administrator": "הוסף מנהל", "add-global-moderator": "הוסף מנחה גלובלי", diff --git a/public/language/he/admin/manage/categories.json b/public/language/he/admin/manage/categories.json index c7a20afebe..d96db4e2ba 100644 --- a/public/language/he/admin/manage/categories.json +++ b/public/language/he/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "ניהול קטגוריות", + "add-category": "הוסף קטגוריה", + "jump-to": "קפוץ אל...", "settings": "הגדרות קטגוריות", + "edit-category": "ערוך קטגוריה", "privileges": "הרשאות", - + "back-to-categories": "חזרה לרשימת הקטגוריות", "name": "שם קטגוריה", "description": "תיאור קטגוריה", "bg-color": "צבע רקע", @@ -15,8 +19,11 @@ "post-queue": "תור פוסטים", "tag-whitelist": "רשימה לבנה של תגיות", "upload-image": "העלה תמונה", + "upload": "העלאה", + "select-icon": "בחר סמל", "delete-image": "הסרה", "category-image": "תמונת קטגוריה", + "image-and-icon": "תמונה וסמל", "parent-category": "קטגוריית אב", "optional-parent-category": "קטגוריית הורים (אופציונלי)", "top-level": "רמה עליונה", @@ -31,6 +38,7 @@ "disable": "השבתה", "edit": "עריכה", "analytics": "ניתוח", + "view-category": "הצגת קטגוריה", "set-order": "קביעת סדר", "set-order-help": "הגדרת סדר הקטגוריה תעביר קטגוריה זו לסדר זה ותעדכן את סדר הקטגוריות האחרות לפי הצורך. מינימום קביעת סדר הוא 1 מה שמציב את הקטגוריה בראש.", diff --git a/public/language/he/admin/manage/groups.json b/public/language/he/admin/manage/groups.json index 84aa0f7c68..9100159b77 100644 --- a/public/language/he/admin/manage/groups.json +++ b/public/language/he/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "ניהול קבוצות", + "add-group": "הוסף קבוצה", + "edit-group": "ערוך קבוצה", + "back-to-groups": "חזרה לרשימת הקבוצות", + "view-group": "הצג קבוצה", + "icon-and-title": "סמל וכותרת", "name": "שם קבוצה", "badge": "תגית", "properties": "נתוני קבוצה", @@ -10,7 +16,7 @@ "edit": "ערוך", "delete": "מחק", "privileges": "הרשאות", - "download-csv": "הורד CSV", + "members-csv": "חברים (CSV)", "search-placeholder": "חפש", "create": "צור קבוצה", "description-placeholder": "תאור קצר על הקבוצה שלך", diff --git a/public/language/he/admin/manage/privileges.json b/public/language/he/admin/manage/privileges.json index e1b0eefd30..3d5104b204 100644 --- a/public/language/he/admin/manage/privileges.json +++ b/public/language/he/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "ניהול הרשאות", + "discard-changes": "בטל שינויים", "global": "כללי", "admin": "מנהל", "group-privileges": "הרשאות קבוצות", diff --git a/public/language/he/admin/manage/tags.json b/public/language/he/admin/manage/tags.json index 54382dc52a..53fe48a4d1 100644 --- a/public/language/he/admin/manage/tags.json +++ b/public/language/he/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "ניהול תגים", "none": "בפורום שלך אין עדיין נושאים עם תגותם.", "bg-color": "צבע רקע", "text-color": "צבע טקסט", "description": "בחר תגיות על ידי לחיצה או גרירה, השתמש ב- CTRL כדי לבחור תגיות מרובות.", "create": "צור תג", + "add-tag": "הוסף תג", "modify": "שנה תג", "rename": "שנה שם של תג", "delete": "מחק תגיות שנבחרו", diff --git a/public/language/he/admin/manage/uploads.json b/public/language/he/admin/manage/uploads.json index 0507edec6f..8ce0fae3d1 100644 --- a/public/language/he/admin/manage/uploads.json +++ b/public/language/he/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "ניהול העלאות", "upload-file": "העלה קובץ", "filename": "שם קובץ", "usage": "שימוש בפוסט", diff --git a/public/language/he/admin/manage/users.json b/public/language/he/admin/manage/users.json index 68d3b694b5..0e35cfa297 100644 --- a/public/language/he/admin/manage/users.json +++ b/public/language/he/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "ניהול משתמשים", "users": "משתמשים", "edit": "פעולות", "make-admin": "הפוך למנהל", @@ -49,6 +50,10 @@ "users.username": "שם משתמש", "users.email": "דוא\"ל", "users.no-email": "(אין כתובת דוא\"ל)", + "users.validated": "אימות", + "users.not-validated": "לא מאומת", + "users.validation-pending": "ממתין לאימות", + "users.validation-expired": "תוקף האימות פג", "users.ip": "IP", "users.postcount": "מספר פוסטים", "users.reputation": "מוניטין", diff --git a/public/language/he/admin/menu.json b/public/language/he/admin/menu.json index 19aad36d9f..a0ec4cfc00 100644 --- a/public/language/he/admin/menu.json +++ b/public/language/he/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "מידע", "rebuild-and-restart-forum": "בנה והפעל מחדש את הפורום", + "rebuild-and-restart": "בניה מחדש והפעלה מחדש", "restart-forum": "הפעל מחדש את הפורום", + "restart": "הפעל מחדש", "logout": "התנתק", "view-forum": "כניסה לפורום", diff --git a/public/language/he/admin/settings/api.json b/public/language/he/admin/settings/api.json index f2370a6426..3ae1efca00 100644 --- a/public/language/he/admin/settings/api.json +++ b/public/language/he/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "הגדרות", "lead-text": "מעמוד זה תוכלו להגדיר גישת כתיבה ל-API ב- NodeBB.", "intro": "כברירת מחדל, ה- API של כתיבה מאמת משתמשים בהתבסס על קובץ ה-cookie של ההפעלה שלהם, אך NodeBB תומך גם באימות נושא באמצעות טוקנים (אישורי אבטחה) שנוצרו באמצעות דף זה.", + "warning": "שים לב — יש להתייחס לאסימונים כמו אל סיסמאות. אם הם דולפים, יש לראות בחשבונך כנפרץ. ", "docs": "לחץ כאן כדי לגשת למפרט ה- API המלא", "require-https": "אפשר שימוש בAPI באמצעות HTTPS בלבד", "require-https-caveat": "הערה: התקנות מסוימות הכוללות מאזני עומסים עשויות לשלוח את הבקשות שלהם ל-NodeBB באמצעות HTTP, ובמקרה כזה אפשרות זו צריכה להישאר מושבתת.", "uid": "ID משתמש", + "token": "Token", "uid-help-text": "ציין מזהה משתמש לשיוך לטוקן זה. אם מזהה המשתמש הוא 0, זה ייחשב כטוקןראשי, שיכול לשער את זהותם של משתמשים אחרים על בסיס פרמטר_uid .", "description": "תיאור", - "last-seen-ago": "שימוש אחרון ", - "last-seen-on": "שימוש אחרון ב", + "last-seen": "נראה לאחרונה", + "created": "נוצר", + "create-token": "יצירת טוקן", + "update-token": "עדכון טוקן", + "master-token": "טוקן ראשי", "last-seen-never": "מעולם לא נעשה שימוש במפתח זה.", "no-description": "לא צוין תיאור.", - "token-on-save": "טוקן יוצר לאחר שמירת הטופס" + "actions": "פעולות", + "edit": "עריכה", + "roll": "Roll", + + "delete-confirm": "האם למחוק את הטוקן הזה? לא יהיה ניתן לשחזר אותו.", + "roll-confirm": "האם ליצור מחדש את הטוקן הזה? הטוקן הישן יבוטל מיד ולא יהיה ניתן לשחזרו." } \ No newline at end of file diff --git a/public/language/he/admin/settings/cookies.json b/public/language/he/admin/settings/cookies.json index b765ac30f3..dd4ff8e29e 100644 --- a/public/language/he/admin/settings/cookies.json +++ b/public/language/he/admin/settings/cookies.json @@ -2,7 +2,7 @@ "eu-consent": "הסכמת האיחוד האירופי", "consent.enabled": "מופעל", "consent.message": "התראות", - "consent.acceptance": "Acceptance message", + "consent.acceptance": "הודעת קבלה", "consent.link-text": "Policy Link Text", "consent.link-url": "Policy Link URL", "consent.blank-localised-default": "השאר ריק כדי להשתמש בברירות המחדל המקומיות של NodeBB", diff --git a/public/language/he/admin/settings/general.json b/public/language/he/admin/settings/general.json index 97c974a552..b4995b0c87 100644 --- a/public/language/he/admin/settings/general.json +++ b/public/language/he/admin/settings/general.json @@ -1,44 +1,46 @@ { + "general-settings": "הגדרות כלליות", + "on-this-page": "בעמוד זה:", "site-settings": "הגדרות האתר", "title": "כותרת האתר", "title.short": "כותרת קצרה", "title.short-placeholder": "אם לא הוגדר כותרת קצרה, כותרת האתר ישמש ככותרת", "title.url": "כותרת קישור URL", "title.url-placeholder": "ה-URL של כותרת האתר", - "title.url-help": "בעת לחיצה על הכותרת, המשתמשים ינותבו לכתובת זו. באם יישאר ריק, המשתמשים יישלחו לאינדקס הפורום.
הערה: זו אינה כתובת ה- URL החיצונית המשמשת בהודעות דוא\"ל וכד'. זה נקבע על ידי ה-url המאופיין ב- config.json", + "title.url-help": "לאחר לחיצה על הכותרת, שלח את המשתמש לכתובת זו. אם ריק, המשתמש יישלח לדף הראשי של הפורום. הערה: זו אינה כתובת ה-URL החיצונית המשמשת בהודעות דוא\"ל וכו'. זו הכתובת המוגדרת במאפיין url בקובץ config.json", "title.name": "שם הקהילה שלך", "title.show-in-header": "הצג את כותרת האתר בכותרת העליונה", "browser-title": "כותרת הדפדפן", "browser-title-help": "אם לא צוין כותרת הדפדפן, כותרת האתר ישמש ככותרת", "title-layout": "פריסת כותרת", - "title-layout-help": "הגדר כיצד כותרת הדפדפן תהיה מובנית לדוגמא. {pageTitle} | {browserTitle}", + "title-layout-help": "הגדרה כיצד כותרת הדפדפן תהיה מובנית לדוגמא. {pageTitle} | {browserTitle}", "description.placeholder": "תיאור קצר על הקהילה שלך", "description": "תיאור האתר", "keywords": "מילות מפתח של האתר", "keywords-placeholder": "מילות מפתח המתארות את הקהילה שלך, מופרדות באמצעות פסיקים", - "logo": "לוגו האתר", + "logo-and-icons": "לוגו אתר ואייקונים", "logo.image": "תמונה", "logo.image-placeholder": "נתב ללוגו שיראה בכותרת הפורום", - "logo.upload": "העלה", + "logo.upload": "העלאה", "logo.url": "קישור URL לאייקון", "logo.url-placeholder": "כתובת לוגו האתר", "logo.url-help": "בעת לחיצה על האייקון, המשתמשים ינותבו לכתובת זו. באם יישאר ריק, המשתמשים יישלחו לאינדקס הפורום.
הערה: זו אינה כתובת ה- URL החיצונית המשמשת בהודעות דוא\"ל וכד'. זה נקבע על ידי ה-url המאופיין ב- config.json", "logo.alt-text": "טקסט חלופי", - "log.alt-text-placeholder": "הזן טקסט חלופי לנגישות", + "log.alt-text-placeholder": "הזינו טקסט חלופי לנגישות", "favicon": "פבאייקון - Favicon", - "favicon.upload": "העלה", + "favicon.upload": "העלאה", "pwa": "אפליקציית אינטרנט בסלולרי", "touch-icon": "סמליל דף אינטרנט - Touch Icon", - "touch-icon.upload": "העלה", + "touch-icon.upload": "העלאה", "touch-icon.help": "סמליל דף אינטרנט מופיע כאשר מישהו מסמן את דף האינטרנט שלך או מוסיף את דף האינטרנט שלך למסך הבית שלו, גודל ותבנית מומלצים: 512x512, תבנית PNG בלבד. אם לא הוגדר סמליל דף אינטרנט, NodeBB יחזור להשתמש בסמליל הפבאייקון.", "maskable-icon": "סמליל הניתן להסוואה (במסך הבית)", "maskable-icon.help": "סמליל הניתן להסוואה מופיע בדף הבית של הסוללרי, זהו תמונה אטומה עם מעט ריפוד שהיישום דף הבית שלך יוכל לחתוך אחר כך לצורה ולגודל הרצוי. עדיף לא להסתמך על צורה מסוימת, מכיוון שהצורה שנבחרה בסופו של דבר יכולה להשתנות לפי סוגי מסך בית ופלטפורמה. גודל ותבנית מומלצים: 512x512, תבנית PNG בלבד. אם לא הוגדר אייקון הניתן להסוואה, NodeBB יחזור להשתמש בסמליל דף האינטרנט.", "outgoing-links": "קישורים חיצוניים", - "outgoing-links.warning-page": "השתמש בדף האזהרה לקישורים יוצאים", + "outgoing-links.warning-page": "שימוש בדף האזהרה לקישורים יוצאים", "search": "חיפוש", - "search-default-in": "חפש ב", + "search-default-in": "חיפוש ב", "search-default-in-quick": "חיפוש מהיר ב", - "search-default-sort-by": "מיין לפי", + "search-default-sort-by": "מיון לפי", "outgoing-links.whitelist": "תחומים לרשימה הלבנה לעקיפת דף האזהרה", "site-colors": "מטה-נתונים של צבע אתר", "theme-color": "צבע ערכת נושא", diff --git a/public/language/he/admin/settings/guest.json b/public/language/he/admin/settings/guest.json index ec2440a1bf..539d292411 100644 --- a/public/language/he/admin/settings/guest.json +++ b/public/language/he/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "הגדרות", + "guest-settings": "הגדרות אורחים", "handles.enabled": "אפשר נקודות אחיזה לאורחים", "handles.enabled-help": "אפשרות זו חושפת שדה חדש המאפשר לאורחים לבחור שם שישויך לכל פוסט שהם מבצעים. אם הם מושבתים, הם פשוט יקראו \"אורח\"", "topic-views.enabled": "הגדל מספר צפיות בנושא על-ידי צפיות של אורחים", diff --git a/public/language/he/admin/settings/navigation.json b/public/language/he/admin/settings/navigation.json index f82cbe2ea4..69d79fc3e5 100644 --- a/public/language/he/admin/settings/navigation.json +++ b/public/language/he/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "ניווט", "icon": "סמליל:", "change-icon": "שנה", "route": "נתיב:", diff --git a/public/language/he/admin/settings/post.json b/public/language/he/admin/settings/post.json index 306d84976e..b4447d1364 100644 --- a/public/language/he/admin/settings/post.json +++ b/public/language/he/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "ראשי", "sorting": "מיון פוסטים", "sorting.post-default": "מיון ברירת מחדל של פוסטים", "sorting.oldest-to-newest": "מישן לחדש", @@ -23,10 +24,8 @@ "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.title-length": "אורך כותרת", + "restrictions.post-length": "אורך פוסט", "restrictions.days-until-stale": "ימים עד שנושא נחשב ישן", "restrictions.stale-help": "אם נושא נחשב \"ישן\", תוצג אזהרה למשתמשים המנסים להשיב לנושא זה.", "timestamp": "חותמת זמן", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – הצג את התשובה האחרונה, או ציין \"ללא תשובות\" אם אין תשובות", "teaser.first": "ראשון", "showPostPreviewsOnHover": "הצג תצוגה מקדימה בריחוף על פוסט", - "unread": "הגדרות \"לא נקראו\"", + "unread-and-recent": "הגדרות לא נקראו & אחרונים", "unread.cutoff": "ימי ניתוק ל\"לא נקראו\"", "unread.min-track-last": "פוסטים מינימליים בנושא לפני מעקב אחר קריאה אחרונה", - "recent": "הגדרות פוסטים אחרונים", "recent.max-topics": "מקסימום נושאים בעמוד פוסטים אחרונים", "recent.categoryFilter.disable": "הפיכת סינון נושאים ללא זמין בקטגוריות שהתעלמו מהן בדף פוסטים אחרונים", "signature": "הגדרות חתימה", diff --git a/public/language/he/admin/settings/reputation.json b/public/language/he/admin/settings/reputation.json index db9974f451..85cf78a260 100644 --- a/public/language/he/admin/settings/reputation.json +++ b/public/language/he/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "בצע את הפעולות הבאות כאשר דיווח נפתר", "flags.action-on-reject": "בצע את הפעולות הבאות כאשר דיווח נדחה", "flags.action.nothing": "אל תעשה כלום", - "flags.action.rescind": "בטל את ההודעה שנשלחה למנחים/מנהלי מערכת" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/he/admin/settings/social.json b/public/language/he/admin/settings/social.json index 9c2a35e38f..ec48c60c48 100644 --- a/public/language/he/admin/settings/social.json +++ b/public/language/he/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "שיתוף פוסטים", - "info-plugins-additional": "תוספים יכולים להוסיף כאן רשתות נוספות לשיתוף פוסטים.", - "save-success": "רשתות שיתוף הפוסט נשמרו בהצלחה!" + "info-plugins-additional": "תוספים יכולים להוסיף כאן רשתות נוספות לשיתוף פוסטים." } \ No newline at end of file diff --git a/public/language/he/admin/settings/tags.json b/public/language/he/admin/settings/tags.json index 51d3fd4c1c..be2a1788e7 100644 --- a/public/language/he/admin/settings/tags.json +++ b/public/language/he/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "נהל תגיות", "system-tags": "תגיות מערכת", "system-tags-help": "רק מנהלים יכולים להשתמש בתגית זו", + "tags-per-topic": "תגים פר נושא", "min-per-topic": "מינימום תגיות לנושא", "max-per-topic": "מקסימום תגיות לנושא", "min-length": "אורך תגית מינימלי", diff --git a/public/language/he/admin/settings/uploads.json b/public/language/he/admin/settings/uploads.json index 96d398a357..cb2b2fc786 100644 --- a/public/language/he/admin/settings/uploads.json +++ b/public/language/he/admin/settings/uploads.json @@ -1,45 +1,45 @@ { "posts": "פוסטים", "orphans": "קבצים יתומים", - "private": "הפוך קבצים שהועלו לפרטיים", - "strip-exif-data": "הפשט נתוני EXIF", - "preserve-orphaned-uploads": "שמור את הקבצים שהועלו בדיסק גם לאחר מחיקת הפוסט", + "private": "הפיכת קבצים שהועלו לפרטיים", + "strip-exif-data": "הסרת נתוני EXIF", + "preserve-orphaned-uploads": "שמירת קבצים שהועלו בדיסק השרת אף לאחר מחיקת הפוסט", "orphanExpiryDays": "מספר ימים לשמירת קבצים יתומים", - "orphanExpiryDays-help": "לאחר מספר ימים אלה, העלאות מיותמות יימחקו ממערכת הקבצים.
הגדר ל-0 או השאר ריק כדי להשבית.", - "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 כדי להשבית)", + "orphanExpiryDays-help": "לאחר מספר ימים אלה, העלאות מיותמות יימחקו ממערכת הקבצים.
הגדירו ל-0 או השאירו ריק כדי להשבית.", + "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": "השתמש ברזולוציה נמוכה כדי להקטין את גודל התמונה הממוזערת", + "resize-image-quality-help": "השתמשו ברזולוציה נמוכה כדי להקטין את גודל התמונה הממוזערת", "max-file-size": "גודל קובץ מירבית (בKiB)", - "max-file-size-help": "(בקיביביטס, ברירת מחדל: 2048 KiB)", + "max-file-size-help": "(בקיבי בייטים, ברירת מחדל: 2048 KiB)", "reject-image-width": "רוחב תמונה מקסימלי (בפיקסלים)", - "reject-image-width-help": "תמונות גבוהות יותר יידחו", + "reject-image-width-help": "תמונות רחבות יותר מערך זה יידחו.", "reject-image-height": "גובה תמונה מקסימלי (בפיקסלים)", - "reject-image-height-help": "תמונות גבוהות יותר יידחו", - "allow-topic-thumbnails": "אפשר למשתמשים להעלות תמונה ממוזערת לנושא", + "reject-image-height-help": "תמונות גבוהות יותר מערך זה יידחו", + "allow-topic-thumbnails": "אפשרו למשתמשים להעלות תמונה ממוזערת לנושא", "topic-thumb-size": "גודל תמונה ממוזערת לנושא", "allowed-file-extensions": "סיומות קבצים מאושרים", - "allowed-file-extensions-help": "הכנס כאן רשימת פורמטי קבצים מאושרים (לדוגמא. pdf,xls,doc). רשימה ריקה פירושו שכל הקבצים מאושרים.", - "upload-limit-threshold": "הגבל שיעור העלאות מהמשתמשים ל:", + "allowed-file-extensions-help": "הכניסו כאן רשימת פורמטי קבצים מאושרים (לדוגמא. pdf,xls,doc). השארת השורה ללא תוכן פירושו שכל הקבצים יהיו מאושרים.", + "upload-limit-threshold": "הגבלת שיעור העלאות מהמשתמשים ל:", "upload-limit-threshold-per-minute": "ל %1 דקה", "upload-limit-threshold-per-minutes": "ל %1 דקות", - "profile-avatars": "סמל פרופיל", - "allow-profile-image-uploads": "אפשר למשתמשים להעלאות תמונות פרופיל", - "convert-profile-image-png": "המר העלאות תמונות פרופיל לPNG", - "default-avatar": "סמל אישי ברירת מחדל", - "upload": "העלה", + "profile-avatars": "סמליל פרופיל", + "allow-profile-image-uploads": "אפשרו למשתמשים להעלאות תמונות פרופיל", + "convert-profile-image-png": "המרת העלאת תמונות פרופיל ל-PNG", + "default-avatar": "סמליל ברירת מחדל מותאמת אישית", + "upload": "העלאה", "profile-image-dimension": "מימדי תמונות פרופיל", "profile-image-dimension-help": "(בפיקסלים, ברירת מחדל: 128 פיקסלים)", "max-profile-image-size": "גודל קובץ מקסימלי של תמונות פרופיל", - "max-profile-image-size-help": "(בקיביביטס, ברירת מחדל: 256 KiB)", + "max-profile-image-size-help": "(בקיבי בייטים, ברירת מחדל: 256 KiB)", "max-cover-image-size": "גודל תמונת נושא מקסימלי", - "max-cover-image-size-help": "(בקיביביטס, ברירת מחדל: 2048 KiB)", - "keep-all-user-images": "השאר גרסה קודמת של הסמל ותמונת הנושא על השרת", + "max-cover-image-size-help": "(בקיבי בייטים, ברירת מחדל: 2048 KiB)", + "keep-all-user-images": "השארת גרסאות קודמת של סמליל ותמונות נושא על השרת", "profile-covers": "תמונות נושא", "default-covers": "תמונות נושא ברירת מחדל", - "default-covers-help": "הוסף תמונות נושא ברירת מחדל מופרדות בפסיקים עבור משתמשים שאין להם תמונת נושא שהועלתה" + "default-covers-help": "הוסיפו תמונות נושא ברירת מחדל מופרדות בפסיקים עבור משתמשים שלא העלו תמונת נושא" } diff --git a/public/language/he/admin/settings/user.json b/public/language/he/admin/settings/user.json index dbf298c7ed..3f3942e2b1 100644 --- a/public/language/he/admin/settings/user.json +++ b/public/language/he/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "אורך מקסימום של התיבה 'עלי'", "terms-of-use": "תנאי השימוש של הפורום (השאר ריק כדי להשבית)", "user-search": "חיפוש משתמשים", - "user-search-results-per-page": "מספר התוצאות להצגה", + "user-search-results-per-page": "מספר המשתמשים להצגה בתוצאות החיפוש", "default-user-settings": "הגדרות משתמש ברירת מחדל", "show-email": "הצג כתובת אימייל", "show-fullname": "הצג שם מלא", diff --git a/public/language/he/error.json b/public/language/he/error.json index 6c44cb11d1..43ae9ccccc 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "למשתמש \"%1\" לא הוגדר כתובת דוא\"ל.", "email-confirm-failed": "לא הצלחנו לאשר את הדוא\"ל שלך, נסו שוב מאוחר יותר.", "confirm-email-already-sent": "דוא\"ל האישור כבר נשלח, אנא המתינו %1 דקות כדי לשלוח דוא\"ל נוסף.", + "confirm-email-expired": "פג תוקפו של דוא\"ל האישור", "sendmail-not-found": "תוכנת sendmail לא נמצאה, בדקו שהיא מותקת וניתנת להרצה על ידי המשתמש שמריץ את NodeBB.", "digest-not-enabled": "משתמש זה ביטל את התקצירים, או שברירת המחדל של המערכת היא לכבות תקצירים.", "username-too-short": "שם משתמש קצר מדי", diff --git a/public/language/he/flags.json b/public/language/he/flags.json index 0b61a7b924..2cf36fcbe5 100644 --- a/public/language/he/flags.json +++ b/public/language/he/flags.json @@ -1,91 +1,91 @@ { "state": "מצב", - "reports": "דוחות", - "first-reported": "דווח ראשון", - "no-flags": "הידד! לא נמצאו סימונים.", + "reports": "דיווחים", + "first-reported": "דיווח ראשון", + "no-flags": "הידד! לא נמצאו דיווחים.", "x-flags-found": "%1 דיווחים נמצאו.", "assignee": "מוקצה", "update": "עדכון", "updated": "עודכן", "resolved": "הושלם", "target-purged": "התוכן שסומן נוקה ולא קיים יותר.", - "target-aboutme-empty": "למשתמש זה אין \"אודותיי\" מוגדר.", + "target-aboutme-empty": "למשתמש זה אין \"אודות\" מוגדר.", "graph-label": "דיווחים יומיים", "quick-filters": "סינון מהיר", - "filter-active": "קיים סנן אחד או יותר ברשימת הסימונים הזו", - "filter-reset": "הסר סינון", + "filter-active": "קיים מסנן אחד או יותר פעילים ברשימת דיווחים זו", + "filter-reset": "הסרת סינון", "filters": "אפשרויות סינון", - "filter-reporterId": "מדווח", - "filter-targetUid": "Reportee", - "filter-type": "סוג סימון", - "filter-type-all": "כל התוכן", - "filter-type-post": "פרסום", - "filter-type-user": "משתמש", + "filter-reporterId": "לפי מדווח", + "filter-targetUid": "לפי משתמש עליו דווח", + "filter-type": "סוג דיווח", + "filter-type-all": "כל הדיווחים", + "filter-type-post": "פוסטים", + "filter-type-user": "משתמשים", "filter-state": "מצב", - "filter-assignee": "מוקצה", + "filter-assignee": "מוקצה אל", "filter-cid": "קטגוריה", "filter-quick-mine": "הוקצה עבורי", "filter-cid-all": "כל הקטגוריות", - "apply-filters": "הפעל סינון", + "apply-filters": "הפעלת סינון", "more-filters": "מסננים נוספים", "fewer-filters": "פחות מסננים", "quick-actions": "פעולות מהירות", "flagged-user": "משתמש מסומן", - "view-profile": "צפה בפרופיל", - "start-new-chat": "התחל שיחה חדשה", - "go-to-target": "צפה במטרת הסימון", - "assign-to-me": "הקצה עבורי", - "delete-post": "מחק פוסט", - "purge-post": "מחק לצמיתות", + "view-profile": "צפייה בפרופיל", + "start-new-chat": "התחלת שיחה חדשה", + "go-to-target": "צפייה ביעד הדיווח", + "assign-to-me": "הקצאה עבורי", + "delete-post": "מחיקת פוסט", + "purge-post": "מחיקה לצמיתות", "restore-post": "שחזור פוסט", - "delete": "מחק דיווח", + "delete": "מחיקת דיווח", - "user-view": "צפה בפרופיל", - "user-edit": "ערוך פרופיל", + "user-view": "צפייה בפרופיל", + "user-edit": "עריכת פרופיל", - "notes": "הערות הסימון", - "add-note": "הוסף הערה", - "edit-note": "ערוך הערה", + "notes": "הערות על הדיווח", + "add-note": "הוספת הערה", + "edit-note": "עריכת הערה", "no-notes": "אין הערות", - "delete-note-confirm": "האם אתה בטוח שאתה רוצה למחוק הערה זו?", - "delete-flag-confirm": "האם אתה בטוח שברצונך למחוק את הדיווח הזה?", - "note-added": "נוספה הערה", + "delete-note-confirm": "האם למחוק הערה זו?", + "delete-flag-confirm": "האם למחוק דיווח זה?", + "note-added": "ההערה נוספה", "note-deleted": "ההערה נמחקה", "flag-deleted": "הדיווח נמחק", - "history": "היסטוריית הסימונים למשתמש", - "no-history": "אין הסיטוריית סימונים", + "history": "היסטוריית הדיווחים והחשבון", + "no-history": "אין הסיטוריית דיווחים", "state-all": "כל המצבים", - "state-open": "חדש / פתח", + "state-open": "חדש / נפתח", "state-wip": "תחת עבודה", "state-resolved": "הושלם", "state-rejected": "נדחה", "no-assignee": "לא הוקצה", - "sort": "סדר על-פי", + "sort": "מיון לפי", "sort-newest": "החדש ראשון", "sort-oldest": "הישן ראשון", "sort-reports": "הכי הרבה דיווחים", "sort-all": "כל סוגי הדיווחים", "sort-posts-only": "פוסטים בלבד", "sort-downvotes": "הכי הרבה הצבעות נגד", - "sort-upvotes": "הכי הרבה הצבעות", + "sort-upvotes": "הכי הרבה הצבעות בעד", "sort-replies": "הכי הרבה תגובות", - "modal-title": "תוכן הדיווח", - "modal-body": "אנא ציין את הסיבה לסימון %1 %2 לצורך בקרה. לחלופין, השתמש באחד מכפתורי הדיווח המהיר אם אפשר.", - "modal-reason-spam": "זבל", + "modal-title": "תוכן דיווח", + "modal-body": "אנא ציינו את הסיבה לדיווח %1 %2 לצורך בקרה. לחלופין, השתמשו באחד מכפתורי הדיווח המהיר אם אפשר.", + "modal-reason-spam": "ספאם", "modal-reason-offensive": "פוגעני", - "modal-reason-other": "אחר (ציין מטה)", + "modal-reason-other": "אחר (ציינו למטה)", "modal-reason-custom": "הסיבה לדיווח על התוכן...", - "modal-submit": "שלח דוח", + "modal-submit": "שליחת דיווח", "modal-submit-success": "התוכן סומן לצרכי בקרה", "bulk-actions": "פעולות כלליות", - "bulk-resolve": "השלם דיווח(ים)", + "bulk-resolve": "השלמת דיווחים", "bulk-success": "%1 דיווחים עודכנו", "flagged-timeago-readable": "מדווחים (%2)", "auto-flagged": "[דיווח אוטומטי] פוסט זה קיבל %1 הצבעות למטה." diff --git a/public/language/he/global.json b/public/language/he/global.json index 331ea2917a..afbd346e7b 100644 --- a/public/language/he/global.json +++ b/public/language/he/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "התחברתם בהצלחה", "save_changes": "שמור שינויים", "save": "שמור", + "create": "יצירה", "cancel": "ביטול", "close": "סגור", "pagination": "הגדרות עמוד", diff --git a/public/language/he/modules.json b/public/language/he/modules.json index 4f1e0c397f..181be76630 100644 --- a/public/language/he/modules.json +++ b/public/language/he/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "שוחחו בצ'אט עם", "chat.placeholder": "כתבו תוכן הודעת הצ'אט כאן, ניתן לגרור ולשחרר כאן תמונות, הקישו אנטר לשליחה.", "chat.placeholder.mobile": "הקלד הודעת צ'אט כאן", - "chat.scroll-up-alert": "הנכם צופים כעת בהודעות ישנות. לחצו כאן למעבר להודעה האחרונה.", + "chat.scroll-up-alert": "עבור להודעה האחרונה", "chat.usernames-and-x-others": "%1 ו-%2 אחרים", "chat.chat-with-usernames": "צ'אט עם %1", "chat.chat-with-usernames-and-x-others": "צ'אט עם %1 ו-%2 אחרים", diff --git a/public/language/he/pages.json b/public/language/he/pages.json index b1acd5584a..7101f0912e 100644 --- a/public/language/he/pages.json +++ b/public/language/he/pages.json @@ -14,6 +14,7 @@ "flagged-content": "תוכן מדווח", "ip-blacklist": "רשימת IP שחורה", "post-queue": "פוסטים ממתינים", + "registration-queue": "תור הרשמה", "users/online": "משתמשים מחוברים", "users/latest": "משתמשים אחרונים", "users/sort-posts": "משתמשים עם המונה הגבוה ביותר", diff --git a/public/language/he/recent.json b/public/language/he/recent.json index 43a3363b0e..3656f447ec 100644 --- a/public/language/he/recent.json +++ b/public/language/he/recent.json @@ -4,8 +4,8 @@ "week": "שבוע", "month": "חודש", "year": "שנה", - "alltime": "כל הזמן", - "no_recent_topics": "אין נושאים חדשים", + "alltime": "תמיד", + "no_recent_topics": "אין נושאים חדשים.", "no_popular_topics": "אין נושאים פופולריים.", - "load-new-posts": "טען פוסטים חדשים" + "load-new-posts": "טעינת פוסטים חדשים" } \ No newline at end of file diff --git a/public/language/he/search.json b/public/language/he/search.json index d11bca301c..ed846e4fa4 100644 --- a/public/language/he/search.json +++ b/public/language/he/search.json @@ -1,11 +1,11 @@ { - "type-to-search": "הקלד כדי לחפש", + "type-to-search": "הקלידו כדי לחפש", "results_matching": "נמצאו %1 תוצאות עבור החיפוש \"%2\", (%3 שניות)", "no-matches": "לא נמצאו תוצאות", "advanced-search": "חיפוש מתקדם", "in": "ב", - "in-titles": "בכותרות", - "in-titles-posts": "בכותרות ובהודעות", + "in-titles": "בכותרות הנושאים", + "in-titles-posts": "בכותרות ובפוסטים", "in-posts": "בפוסטים", "in-categories": "בקטגוריות", "in-users": "במשתמשים", @@ -13,25 +13,25 @@ "categories": "קטגוריות", "all-categories": "כל הקטגוריות", "categories-x": "קטגוריות: %1", - "categories-watched-categories": "קטגוריות: קטגוריות שבמעקב", - "type-a-category": "הקלד קטגוריה", + "categories-watched-categories": "קטגוריות: קטגוריות במעקב", + "type-a-category": "הקלדו קטגוריה", "tags": "תגיות", "tags-x": "תגיות: %1", - "type-a-tag": "הקלד תגית", - "match-words": "התאם מילים", - "match-all-words": "התאם את כל המילים", - "match-any-word": "התאם מילה לפחות", + "type-a-tag": "הקלדו תגית", + "match-words": "התאמת מילים", + "match-all-words": "התאמת כל המילים", + "match-any-word": "התאמת מילה אחת לפחות", "all": "הכל", "any": "כל", "posted-by": "פורסם על-ידי", "posted-by-usernames": "פורסם על ידי: %1", - "type-a-username": "הקלד שם משתמש", - "search-child-categories": "חפש בתתי קטגוריות", + "type-a-username": "הקלדו שם משתמש", + "search-child-categories": "חיפוש בתתי קטגוריות", "has-tags": "עם תגיות", "reply-count": "כמות תגובות", - "replies": "תשובות", - "replies-atleast-count": "תשובות: לפחות %1", - "replies-atmost-count": "תשובות: לכל היותר %1", + "replies": "תגובות", + "replies-atleast-count": "תגובות: לפחות %1", + "replies-atmost-count": "תגובות: לכל היותר %1", "at-least": "לפחות", "at-most": "לכל היותר", "relevance": "רלוונטיות", @@ -76,7 +76,7 @@ "ascending": "בסדר עולה", "sort-by-relevance-desc": "מיין לפי: רלוונטיות בסדר יורד", "sort-by-relevance-asc": "מיין לפי: רלוונטיות בסדר עולה", - "sort-by-timestamp-desc": "מיין לפי: רלוונטיות בסדר יורד", + "sort-by-timestamp-desc": "מיין לפי: זמן פרסום בסדר יורד", "sort-by-timestamp-asc": "מיין לפי: זמן פרסום בסדר עולה", "sort-by-votes-desc": "מיין לפי: זמן פרסום בסדר יורד", "sort-by-votes-asc": "מיין לפי: הצבעות בסדר עולה", @@ -97,13 +97,13 @@ "sort-by-category.name-desc": "מיין לפי: קטגוריה בסדר יורד", "sort-by-category.name-asc": "מיין לפי: קטגוריה בסדר עולה", "save": "שמירה", - "save-preferences": "שמור העדפות", - "clear-preferences": "נקה העדפות", - "search-preferences-saved": "חפש העדפות שנשמרו", - "search-preferences-cleared": "חפש העדפות שנוקו", - "show-results-as": "צפה בתוצאות בתור", - "show-results-as-topics": "הצג תוצאות כנושאים", - "show-results-as-posts": "הצג תוצאות כפוסטים", - "see-more-results": "צפה בתוצאות נוספות (%1)", - "search-in-category": "חפש ב-\"%1\"" + "save-preferences": "שמירת העדפות", + "clear-preferences": "ניקוי העדפות", + "search-preferences-saved": "העדפות חיפוש נשמרו", + "search-preferences-cleared": "העדפות חיפוש נוקו", + "show-results-as": "צפייה בתוצאות בתור", + "show-results-as-topics": "הצגת תוצאות כנושאים", + "show-results-as-posts": "הצגת תוצאות כפוסטים", + "see-more-results": "צפייה בתוצאות נוספות (%1)", + "search-in-category": "חיפוש ב-\"%1\"" } \ No newline at end of file diff --git a/public/language/he/themes/harmony.json b/public/language/he/themes/harmony.json index 57e2def8d3..87f56a8343 100644 --- a/public/language/he/themes/harmony.json +++ b/public/language/he/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", - "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "theme-name": "ערכת נושא Harmony", + "skins": "עיצובים", + "collapse": "כיווץ", + "expand": "הרחבה", + "login-register-to-search": "התחברו או הירשמו כדי לחפש.", + "settings.title": "הגדרות ערכת נושא", + "settings.enableQuickReply": "הפעלת תגובה מהירה", + "settings.centerHeaderElements": "מרכוז אלמנטים של כותרת", + "settings.mobileTopicTeasers": "הצגת טיזרים של נושאים בסלולרי", + "settings.stickyToolbar": "סרגל כלים מוצמד בעת גלילה", + "settings.stickyToolbar.help": "סרגל הכלים בדפי נושאים וקטגוריות ייצמד לראש העמוד בעת גלילה", + "settings.autohideBottombar": "הסתרה אוטומטית של סרגל תחתון", + "settings.autohideBottombar.help": "הסרגל התחתון בתצוגת הנייד יוסתר כאשר הדף ייגלל מטה", + "settings.chatModals": "הפעלת צ'אט בחלונית מוקטנת" } \ No newline at end of file diff --git a/public/language/he/themes/persona.json b/public/language/he/themes/persona.json index e7d1945303..dbb6878d0b 100644 --- a/public/language/he/themes/persona.json +++ b/public/language/he/themes/persona.json @@ -1,10 +1,10 @@ { - "settings.title": "Theme settings", - "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", - "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", - "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", - "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", - "settings.autoHidingNavbar-md": "Medium sized screens (e.g. tablets in landscape mode)", - "settings.autoHidingNavbar-lg": "Larger screens (e.g. desktop computers)" + "settings.title": "הגדרות ערכת נושא", + "settings.intro": "אתה יכול להתאים אישית את הגדרות הנושא שלך כאן. ההגדרות מאוחסנות במכשיר שלך, כך שאתה יכול לקבל הגדרות שונות במכשירים שונים (טלפון, טאבלט, שולחן עבודה וכו')", + "settings.mobile-menu-side": "החלף את צדדי תפריטי הצד בנייד", + "settings.autoHidingNavbar": "הסתר אוטומטית את סרגל הניווט בגלילה", + "settings.autoHidingNavbar-xs": "מסכים קטנים מאוד (למשל, טלפונים במצב פורטרט)", + "settings.autoHidingNavbar-sm": "מסכים קטנים יותר (למשל טלפונים, טאבלטים מסוימים)", + "settings.autoHidingNavbar-md": "מסכים בגודל בינוני (למשל טאבלטים במצב לרוחב)", + "settings.autoHidingNavbar-lg": "מסכים גדולים יותר (למשל מחשבים שולחניים)" } \ No newline at end of file diff --git a/public/language/he/topic.json b/public/language/he/topic.json index 9c979501d6..5bd26e66db 100644 --- a/public/language/he/topic.json +++ b/public/language/he/topic.json @@ -44,29 +44,29 @@ "wrote-on": "כתב ב", "replied-to-user-ago": "השיב ל%3 ", "replied-to-user-on": "השיב ל%3 ב", - "user-locked-topic-ago": "%1 נעל את הנושא הזה %2", - "user-locked-topic-on": "%1 נעל את הנושא הזה ב-%2", - "user-unlocked-topic-ago": "%1 ביטל את הנעילה של נושא זה %2", - "user-unlocked-topic-on": "%1 ביטל את הנעילה של נושא זה ב-%2", - "user-pinned-topic-ago": "%1 הצמיד את הנושא הזה %2", - "user-pinned-topic-on": "%1 הצמיד את הנושא הזה ב %2", - "user-unpinned-topic-ago": "%1 ביטל את ההצמדה של נושא זה %2", - "user-unpinned-topic-on": "%1 ביטל את ההצמדה של נושא זה ב %2", - "user-deleted-topic-ago": "%1 מחק את הנושא הזה %2", - "user-deleted-topic-on": "%1 מחק את הנושא הזה ב %2", - "user-restored-topic-ago": "%1 שחזר את הנושא הזה %2", - "user-restored-topic-on": "%1 שחזר את הנושא הזה ב %2", - "user-moved-topic-from-ago": "%1 העביר את הנושא הזה מ-%2 %3", - "user-moved-topic-from-on": "%1 העביר את הנושא הזה מ-%2 ב-%3", + "user-locked-topic-ago": "%1 נעל נושא זה %2", + "user-locked-topic-on": "%1 נעל נושא זה ב-%2", + "user-unlocked-topic-ago": "%1 ביטל את נעילת נושא זה %2", + "user-unlocked-topic-on": "%1 ביטל את נעילת נושא זה ב-%2", + "user-pinned-topic-ago": "%1 הצמיד את נושא זה %2", + "user-pinned-topic-on": "%1 הצמיד נושא זה ב %2", + "user-unpinned-topic-ago": "%1 ביטל את הצמדת נושא זה %2", + "user-unpinned-topic-on": "%1 ביטל את הצמדת נושא זה ב %2", + "user-deleted-topic-ago": "%1 מחק נושא זה %2", + "user-deleted-topic-on": "%1 מחק נושא זה ב %2", + "user-restored-topic-ago": "%1 שחזר נושא זה %2", + "user-restored-topic-on": "%1 שחזר נושא זה ב %2", + "user-moved-topic-from-ago": "%1 העביר נושא זה מ-%2 %3", + "user-moved-topic-from-on": "%1 העביר נושא זה מ-%2 ב-%3", "user-queued-post-ago": "%1 עומד בתור פוסט לאישור %3", "user-queued-post-on": "%1 עומד בתור פוסט לאישור ב-%3", "user-referenced-topic-ago": "%1 התייחס לנושא זה %3", "user-referenced-topic-on": "%1 התייחס לנושא זה ב%3", - "user-forked-topic-ago": "%1 פיצל את הנושא הזה %3", - "user-forked-topic-on": "%1 פיצל את הנושא הזה ב%3", + "user-forked-topic-ago": "%1 פיצל נושא זה %3", + "user-forked-topic-on": "%1 פיצל נושא זה ב%3", "bookmark_instructions": "לחצו כאן כדי לחזור לפוסט האחרון שקראתם בנושא זה.", - "flag-post": "דווח על פוסט זה", - "flag-user": "דווח על משתמש זה", + "flag-post": "דיווח על פוסט זה", + "flag-user": "דיווח על משתמש זה", "already-flagged": "דווח כבר", "view-flag-report": "הצגת דוח דיווחים", "resolve-flag": "השלמת דיווח", @@ -75,7 +75,7 @@ "following_topic.message": "תקבלו התראות כאשר יפורסם פוסט חדש בנושא זה.", "not_following_topic.message": "נושא זה יופיע ברשימת הנושאים שלא נקראו, אולם לא תקבלו התראה כשיפורסם פוסט בנושא זה.", "ignoring_topic.message": "נושא זה לא יופיע יותר ברשימת הנושאים שלא נקראו. תקבלו הודעה כשיזכירו אתכם או כשהפוסט שלכם יקבל הצבעה חיובית", - "login_to_subscribe": "אנא הירשמו או התחברו כדי לעקוב אחרי הנושא הזה.", + "login_to_subscribe": "הירשמו או התחברו כדי לעקוב אחר נושא זה.", "markAsUnreadForAll.success": "נושא זה סומן כלא נקרא לכולם.", "mark_unread": "סימון כלא נקרא", "mark_unread.success": "הנושא סומן כלא נקרא.", @@ -83,7 +83,7 @@ "unwatch": "הפסקת מעקב", "watch.title": "קבלת התראה כאשר יש תגובות חדשות בנושא זה", "unwatch.title": "הפסקת מעקב אחר נושא זה", - "share_this_post": "שתפו פוסט זה", + "share_this_post": "שיתוף פוסט זה", "watching": "במעקב", "not-watching": "לא במעקב", "ignoring": "התעלמות", @@ -106,10 +106,10 @@ "thread_tools.delete": "מחיקת נושא", "thread_tools.delete-posts": "מחיקת פוסטים", "thread_tools.delete_confirm": "האם למחוק נושא זה?", - "thread_tools.restore": "שיחזור נושא", + "thread_tools.restore": "שחזור נושא", "thread_tools.restore_confirm": "האם לשחזר נושא זה?", "thread_tools.purge": "מחיקת נושא לצמיתות", - "thread_tools.purge_confirm": "האם למחוק לצמיתות נושא זה?", + "thread_tools.purge_confirm": "האם למחוק נושא זה לצמיתות?", "thread_tools.merge_topics": "מיזוג נושאים", "thread_tools.merge": "מזג נושא", "topic_move_success": "נושא זה יועבר ל\"%1\". לחצו כאן לביטול.", @@ -137,13 +137,13 @@ "post_moved": "הפוסט הועבר!", "fork_topic": "פיצול נושא", "enter-new-topic-title": "הכניסו כותרת נושא חדשה", - "fork_topic_instruction": "לחץ על הפוסטים שברצונך לפצל, הזן כותרת לנושא החדש ולחץ על פיצול נושא", + "fork_topic_instruction": "לחצו על הפוסטים שברצונך לפצל, הזינו כותרת לנושא החדש ולחצו על פיצול נושא", "fork_no_pids": "לא נבחרו פוסטים!", "no-posts-selected": "לא נבחרו פוסטים!", "x-posts-selected": "%1 פוסטים נבחרו", "x-posts-will-be-moved-to-y": "%1 פוסטים יועברו ל-\"%2\"", "fork_pid_count": "%1 פוסטים נבחרו", - "fork_success": "הפוסט פוצל בהצלחה! לחצו כאן על מנת לעבור לפוסט המפוצל.", + "fork_success": "הפוסט פוצל בהצלחה! לחצו כאן כדי לעבור לפוסט המפוצל.", "delete_posts_instruction": "לחצו על הפוסטים שברצונכם למחוק", "merge_topics_instruction": "לחצו על הנושאים שברצונכם למזג או חפשו אותם", "merge-topic-list-title": "רשימת הנושאים למיזוג", @@ -152,19 +152,19 @@ "merge-new-title-for-topic": "כותרת חדשה לנושא", "topic-id": "מזהה נושא", "move_posts_instruction": "לחצו על הפוסטים שברצונכם להסיר ואז הכניסו מזהה נושא או עברו לנושא היעד", - "move_topic_instruction": "בחר את קטגוריית היעד ולאחר מכן לחץ על העברה", + "move_topic_instruction": "בחרו את קטגוריית היעד ולאחר מכן לחצו על העברה", "change_owner_instruction": "לחצו על הפוסטים בהם תרצו לשנות את שם כותב ההודעה", "composer.title_placeholder": "הכניסו את כותרת הנושא כאן...", - "composer.handle_placeholder": "הזינו את שמכם / כינוי שלכם כאן", - "composer.hide": "הסתר", + "composer.handle_placeholder": "הזינו שם / כינוי שלכם כאן", + "composer.hide": "הסתרה", "composer.discard": "ביטול", "composer.submit": "שליחה", "composer.additional-options": "אפשרויות נוספות", - "composer.post-later": "פרסם מאוחר יותר", + "composer.post-later": "פרסום מאוחר יותר", "composer.schedule": "תיזמון", "composer.replying_to": "תגובה ל%1", "composer.new_topic": "נושא חדש", - "composer.editing": "עורך", + "composer.editing-in": "עריכת פוסט ב-%1", "composer.uploading": "מעלה...", "composer.thumb_url_label": "הדביקו את כתובת ה-URL לתמונה מוקטנת עבור הנושא", "composer.thumb_title": "הוסיפו תמונה מוקטנת לנושא זה", @@ -176,14 +176,14 @@ "more_users": "%1 משתמשים נוספים", "more_guests": "%1 אורחים נוספים", "users_and_others": "%1 ו-%2 אחרים", - "sort_by": "סידור לפי", + "sort_by": "מיון לפי", "oldest_to_newest": "מהישן לחדש", "newest_to_oldest": "מהחדש לישן", "most_votes": "הכי הרבה הצבעות", "most_posts": "הכי הרבה פוסטים", "most_views": "הכי הרבה צפיות", "stale.title": "ליצור נושא חדש במקום זאת?", - "stale.warning": "הנושא בו אתם מגיבים הוא די ישן. האם ברצונכם לפתוח נושא חדש, ולהזכיר את נושא זה בתגובתכם?", + "stale.warning": "הנושא בו אתם מגיבים הוא די ישן. האם ברצונכם לפתוח נושא חדש, ולהזכיר נושא זה בתגובתכם?", "stale.create": "יצירת נושא חדש", "stale.reply_anyway": "שליחת תגובה לנושא זה בכל זאת", "link_back": "תגובה: [%1](%2)", @@ -193,7 +193,7 @@ "diffs.current-revision": "גרסה נוכחית", "diffs.original-revision": "גרסה מקורית", "diffs.restore": "שחזרו לגרסה זו", - "diffs.restore-description": "יתווסף גרסה חדשה להיסטוריית העריכה אחרי השיחזור", + "diffs.restore-description": "לאחר השחזור תתווסף גרסה חדשה להיסטוריית העריכה", "diffs.post-restored": "הפוסט שוחזר בהצלחה לגרסה קודמת", "diffs.delete": "מחיקת גרסה זו", "diffs.deleted": "גרסה זו נמחקה", diff --git a/public/language/he/user.json b/public/language/he/user.json index fbc7f21660..fde17c1370 100644 --- a/public/language/he/user.json +++ b/public/language/he/user.json @@ -132,7 +132,7 @@ "browsing": "הגדרות ניווט", "open_links_in_new_tab": "פתח קישורים חיצוניים בכרטיסייה חדשה", "enable_topic_searching": "הפעל חיפוש בתוך נושא", - "topic_search_help": "החיפוש בתוך הנושא יעקוף את שיטת החיפוש של הדפדפן, ויאפשר לך לחפש בכל הנושא - ולא רק במה שמוצג על המסך, עם זאת בלחיצה נוספת על Ctrl+5 ייפתח לך החיפוש הרגיל של הדפדפן", + "topic_search_help": "החיפוש בתוך הנושא יעקוף את שיטת החיפוש של הדפדפן, ויאפשר לכם לחפש בכל הנושא - ולא רק במה שמוצג על המסך, עם זאת בלחיצה נוספת על Ctrl+F ייפתח לכם החיפוש הרגיל של הדפדפן", "update_url_with_post_index": "עדכון כתובת ה-URL עם אינדקס הפוסט בעת גלישה בנושאים", "scroll_to_my_post": "הצג את הפוסט לאחר פרסום התגובה", "follow_topics_you_reply_to": "עקוב אחר נושאים שהגבת עליהם", @@ -141,6 +141,8 @@ "group-order-help": "בחר קבוצה והשתמש בחצים על מנת לארגן כותרות", "no-group-title": "ללא כותרת לקבוצה", "select-skin": "בחר מראה", + "default": "ברירת מחדל (%1)", + "no-skin": "ללא עיצוב (ברירת מחדל)", "select-homepage": "בחר דף בית", "homepage": "דף הבית", "homepage_description": "בחר דף שיוגדר כדף הבית של הפורום או בחר ב\"כלום\" על מנת להשתמש בדף הבית הברירת מחדל.", diff --git a/public/language/he/users.json b/public/language/he/users.json index a890729496..dc6faf7bd7 100644 --- a/public/language/he/users.json +++ b/public/language/he/users.json @@ -6,7 +6,7 @@ "most_flags": "הכי הרבה דיווחי משתמשים", "search": "חיפוש", "enter_username": "הכנס שם משתמש לחיפוש", - "search-user-for-chat": "חפש משתמש כדי להתחיל צ'אט:", + "search-user-for-chat": "חפש משתמש כדי להתחיל צ'אט", "load_more": "טען עוד", "users-found-search-took": "%1 משתמשים נמצאו! החיפוש ערך %2 שניות.", "filter-by": "פלטר על-פי", diff --git a/public/language/hr/admin/admin.json b/public/language/hr/admin/admin.json index 0dbe9b7fe8..1d7b7d1524 100644 --- a/public/language/hr/admin/admin.json +++ b/public/language/hr/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Administratorska kontrolna ploča", "settings-header-contents": "Sadržaj", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/hr/admin/advanced/cache.json b/public/language/hr/admin/advanced/cache.json index 34f7f2575a..209a2989ca 100644 --- a/public/language/hr/admin/advanced/cache.json +++ b/public/language/hr/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Objava predmemorija", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/hr/admin/advanced/database.json b/public/language/hr/admin/advanced/database.json index e146eba570..80df48e8ed 100644 --- a/public/language/hr/admin/advanced/database.json +++ b/public/language/hr/admin/advanced/database.json @@ -5,12 +5,12 @@ "uptime-seconds": "Na mreži u sekundama", "uptime-days": "Na mreži u danima", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Verzija MongoDB", "mongo.storage-engine": "Način pohrane", "mongo.collections": "Kolekcije", "mongo.objects": "Objekti", - "mongo.avg-object-size": "Avg. Object Size", + "mongo.avg-object-size": "Prosj. veličina objekta", "mongo.data-size": "Veličina datoteke", "mongo.storage-size": "Veličina pohrane", "mongo.index-size": "Veličina indexa", @@ -18,17 +18,17 @@ "mongo.resident-memory": "Rezidentna memorija", "mongo.virtual-memory": "Virtualna memorija", "mongo.mapped-memory": "Mapirana memorija", - "mongo.bytes-in": "Bytes In", - "mongo.bytes-out": "Bytes Out", - "mongo.num-requests": "Number of Requests", + "mongo.bytes-in": "Ulaz u bajtovima", + "mongo.bytes-out": "Izlaz u bajtovima", + "mongo.num-requests": "Broj zahtjeva", "mongo.raw-info": "MongoDB sirove informacije", "mongo.unauthorized": "NodeBB was unable to query the MongoDB database for relevant statistics. Please ensure that the user in use by NodeBB contains the "clusterMonitor" role for the "admin" database.", "redis": "Redis", "redis.version": "Redis verzija", - "redis.keys": "Keys", - "redis.expires": "Expires", - "redis.avg-ttl": "Average TTL", + "redis.keys": "Ključevi", + "redis.expires": "Ističe", + "redis.avg-ttl": "Prosječni TTL", "redis.connected-clients": "Spojeni klijenti", "redis.connected-slaves": "Povezani robovi", "redis.blocked-clients": "Blokirani klijenti", @@ -39,14 +39,14 @@ "redis.iops": "Instante operacije po sekundi", "redis.iinput": "Instantaneous Input Per Second", "redis.ioutput": "Instantaneous Output Per Second", - "redis.total-input": "Total Input", - "redis.total-output": "Total Ouput", + "redis.total-input": "Ukupan ulaz", + "redis.total-output": "Ukupan izlaz", "redis.keyspace-hits": "Keyspace Hits", "redis.keyspace-misses": "Keyspace Misses", "redis.raw-info": "Redis sirova informacija", "postgres": "Postgres", - "postgres.version": "PostgreSQL Version", + "postgres.version": "PostgreSQL Verzija", "postgres.raw-info": "Postgres Raw Info" } diff --git a/public/language/hr/admin/advanced/errors.json b/public/language/hr/admin/advanced/errors.json index 04e9e32776..27e6672478 100644 --- a/public/language/hr/admin/advanced/errors.json +++ b/public/language/hr/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figura %1", "error-events-per-day": "%1 događaja po danu", "error.404": "404 Nije pronađeno", diff --git a/public/language/hr/admin/appearance/customise.json b/public/language/hr/admin/appearance/customise.json index 579eb26a2e..f21d337ba3 100644 --- a/public/language/hr/admin/appearance/customise.json +++ b/public/language/hr/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Omogući uobičajeno zaglavlje", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/hr/admin/appearance/skins.json b/public/language/hr/admin/appearance/skins.json index 1b68ae2ecd..6b4d862251 100644 --- a/public/language/hr/admin/appearance/skins.json +++ b/public/language/hr/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Učitavam Izgled ...", "homepage": "Naslovnica", "select-skin": "Odaberi izgled", + "revert-skin": "Revert Skin", "current-skin": "Trenutni izgled", "skin-updated": "Izgled promijenjen", "applied-success": "%1 izgled je primjenjen", diff --git a/public/language/hr/admin/appearance/themes.json b/public/language/hr/admin/appearance/themes.json index 5eff189d93..7213a1bb01 100644 --- a/public/language/hr/admin/appearance/themes.json +++ b/public/language/hr/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Provjeravam instalirane teme ...", "homepage": "Naslovnica", "select-theme": "Odaberi temu", + "revert-theme": "Revert Theme", "current-theme": "Trenutna tema", "no-themes": "Nisu pronađene instalirane teme", "revert-confirm": "Sigurni ste da želite povratiti zadani NodeBB izgled ?", diff --git a/public/language/hr/admin/dashboard.json b/public/language/hr/admin/dashboard.json index 4d0c5ebb7f..6fa439de2c 100644 --- a/public/language/hr/admin/dashboard.json +++ b/public/language/hr/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Nadogradnje", "running-version": "Ovo je verzija NodeBB v%1.", "keep-updated": "Uvijek se pobrinite da je Vaš NodeBB na najnovijoj verziji za najnovije sigurnosne mjere i popravke grešaka.", - "up-to-date": "

Vaš NodeBB je na najnovijoj verziji

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

Ovo je pre-release verzija NodeBB. Nenamjerne greške su moguće.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum je u razvojnom stanju. Forum bi mogao biti otvoren za napade; Molimo kontaktirajte vašeg sistemskog administratora", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Obavijest", "restart-not-required": "Restart nije potreban", diff --git a/public/language/hr/admin/development/logger.json b/public/language/hr/admin/development/logger.json index e4c9b130f6..1f39f7d0fc 100644 --- a/public/language/hr/admin/development/logger.json +++ b/public/language/hr/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Postavke dnevnika", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Jednostavno potvrdite ili onemogućite postavke prijave da upalite ili ugasite prijave na brzinu.Ponovno pokretanje nije potrebno.", diff --git a/public/language/hr/admin/extend/plugins.json b/public/language/hr/admin/extend/plugins.json index 1413bc4b2c..6b2cc46efd 100644 --- a/public/language/hr/admin/extend/plugins.json +++ b/public/language/hr/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Instalirano", "active": "Aktivno", diff --git a/public/language/hr/admin/extend/rewards.json b/public/language/hr/admin/extend/rewards.json index d8198466a2..01c8312c07 100644 --- a/public/language/hr/admin/extend/rewards.json +++ b/public/language/hr/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Nagrade", + "add-reward": "Add reward", "condition-if-users": "Ako korisnici", "condition-is": "ls:", "condition-then": "Tada:", "max-claims": "Koliko puta nagrada može biti osvojena.", "zero-infinite": "Upišite 0 za beskonačno", + "select-reward": "Select reward", "delete": "Obriši", "enable": "Omogući", "disable": "onemogući", diff --git a/public/language/hr/admin/extend/widgets.json b/public/language/hr/admin/extend/widgets.json index 23e722210b..bc87f4ac64 100644 --- a/public/language/hr/admin/extend/widgets.json +++ b/public/language/hr/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Dostupni dodatci", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/hr/admin/manage/admins-mods.json b/public/language/hr/admin/manage/admins-mods.json index f9bbc63632..541922f2fd 100644 --- a/public/language/hr/admin/manage/admins-mods.json +++ b/public/language/hr/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", - "global-moderators": "Global Moderators", + "global-moderators": "Globalni moderatori", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/hr/admin/manage/categories.json b/public/language/hr/admin/manage/categories.json index 6108057152..3f425ed857 100644 --- a/public/language/hr/admin/manage/categories.json +++ b/public/language/hr/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Postavke kategorije", + "edit-category": "Edit Category", "privileges": "Privilegije", - + "back-to-categories": "Back to categories", "name": "Ime kategorije", "description": "Opis kategorije", "bg-color": "Pozadniska boja", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Učitaj sliku", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Ukloni", "category-image": "Slika kategorije", + "image-and-icon": "Image & Icon", "parent-category": "Roditeljska kategorija", "optional-parent-category": "(Opcionalno) Roditeljska kategorija", "top-level": "Top Level", @@ -31,8 +38,9 @@ "disable": "Onemogući", "edit": "Uredi", "analytics": "Analytics", + "view-category": "View category", - "set-order": "Set order", + "set-order": "Zadaj poredak", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", "select-category": "Odabri kategoriju", diff --git a/public/language/hr/admin/manage/groups.json b/public/language/hr/admin/manage/groups.json index 6053b89617..5153c0eefc 100644 --- a/public/language/hr/admin/manage/groups.json +++ b/public/language/hr/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Ime grupe", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Uredi", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Pretraga", "create": "Kreiraj grupu", "description-placeholder": "Kratki opis grupe", diff --git a/public/language/hr/admin/manage/privileges.json b/public/language/hr/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/hr/admin/manage/privileges.json +++ b/public/language/hr/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/hr/admin/manage/tags.json b/public/language/hr/admin/manage/tags.json index 37e060f83f..3e856b4774 100644 --- a/public/language/hr/admin/manage/tags.json +++ b/public/language/hr/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Vaš forum nema tema sa oznakama", "bg-color": "Pozadinska boja", "text-color": "Boja teksta", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Napravi oznaku", + "add-tag": "Add tag", "modify": "Uredi oznake", "rename": "Rename Tags", "delete": "Obriši odabrane oznake", diff --git a/public/language/hr/admin/manage/uploads.json b/public/language/hr/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/hr/admin/manage/uploads.json +++ b/public/language/hr/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/hr/admin/manage/users.json b/public/language/hr/admin/manage/users.json index 1e0fb7edee..89aa4b8c0e 100644 --- a/public/language/hr/admin/manage/users.json +++ b/public/language/hr/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Korisnici", "edit": "Actions", "make-admin": "Dodaj administratora", @@ -49,6 +50,10 @@ "users.username": "korisničko ime", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputacija", diff --git a/public/language/hr/admin/menu.json b/public/language/hr/admin/menu.json index 7145bdc4fc..d8f0bb0b8c 100644 --- a/public/language/hr/admin/menu.json +++ b/public/language/hr/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "ponovno pokreni forum", + "restart": "Restart", "logout": "Odjava", "view-forum": "Pogledaj forum", diff --git a/public/language/hr/admin/settings/api.json b/public/language/hr/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/hr/admin/settings/api.json +++ b/public/language/hr/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/hr/admin/settings/general.json b/public/language/hr/admin/settings/general.json index 56f975324f..7314e9e26b 100644 --- a/public/language/hr/admin/settings/general.json +++ b/public/language/hr/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Postavke stranice", "title": "Naslov stranice", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Ime Vaše zajednice", "title.show-in-header": "Prikaži naslov stranice u zaglavlju", "browser-title": "Naslov pretraživača", @@ -16,7 +18,7 @@ "description": "Opis foruma", "keywords": "Ključne riječi", "keywords-placeholder": "Ključne riječi koje opisuju Vašu zajednicu, odvojeni zarezom", - "logo": "Logo foruma", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Slika", "logo.image-placeholder": "Putanja logotipa za zaglavlje foruma", "logo.upload": "Učitaj", diff --git a/public/language/hr/admin/settings/guest.json b/public/language/hr/admin/settings/guest.json index 78c75a43e2..7bfe85ba29 100644 --- a/public/language/hr/admin/settings/guest.json +++ b/public/language/hr/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Dozvoli upravljanje gostima", "handles.enabled-help": "Ova opcija omogućava gostima da izaberi ime za svaku objavu koju naprave.Ako je onemogućena gosti će se zvati \"gost\".", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/hr/admin/settings/navigation.json b/public/language/hr/admin/settings/navigation.json index 595b511b94..f26633bb75 100644 --- a/public/language/hr/admin/settings/navigation.json +++ b/public/language/hr/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikona:", "change-icon": "promjena", "route": "Putanja:", diff --git a/public/language/hr/admin/settings/post.json b/public/language/hr/admin/settings/post.json index fa4eaaefcf..bfec5f5045 100644 --- a/public/language/hr/admin/settings/post.json +++ b/public/language/hr/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Redosljed objava", "sorting.post-default": "Zadano sortiranje objava", "sorting.oldest-to-newest": "Starije prema Novijem", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimalna dužina naslova", - "restrictions.max-title-length": "Maksimalna dužina naslova", - "restrictions.min-post-length": "Minimalna dužina objave", - "restrictions.max-post-length": "Maksimalna dužina objave", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "Ako je tema smatran neaktivnim,upozorenje će biti prikazano svim korisnicima koji pokušaju odgovoriti na temu", "timestamp": "Vremenska oznaka", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "Prvi", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Nepročitane postavke", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Nepročitano dani prekinutosti", "unread.min-track-last": "Minimalni broj objava u temi prije praćenja zadnje pročitanog", - "recent": "Nedavne postavke", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "onemogući filtriranje tema u ignoriranim kategorijama na stranici /nedavno", "signature": "Postavke potpisa", diff --git a/public/language/hr/admin/settings/reputation.json b/public/language/hr/admin/settings/reputation.json index 7a2912931e..54894d1fd0 100644 --- a/public/language/hr/admin/settings/reputation.json +++ b/public/language/hr/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/hr/admin/settings/social.json b/public/language/hr/admin/settings/social.json index b6f1c3ee29..8e21f657b3 100644 --- a/public/language/hr/admin/settings/social.json +++ b/public/language/hr/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Dijeljenje objave", - "info-plugins-additional": "Dodaci mogu dodati dodatne mreže za dijeljenje objava.", - "save-success": "Uspješno spremljene mreže za razmjenu objava!" + "info-plugins-additional": "Dodaci mogu dodati dodatne mreže za dijeljenje objava." } \ No newline at end of file diff --git a/public/language/hr/admin/settings/tags.json b/public/language/hr/admin/settings/tags.json index 0a58e9ad9c..6a6dbe78a4 100644 --- a/public/language/hr/admin/settings/tags.json +++ b/public/language/hr/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Najmanje oznaka za temu", "max-per-topic": "Maksimalno oznaka po temi", "min-length": "Minimalna dužina oznake", diff --git a/public/language/hr/admin/settings/user.json b/public/language/hr/admin/settings/user.json index 19fe266984..217a53fe64 100644 --- a/public/language/hr/admin/settings/user.json +++ b/public/language/hr/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maksimalna dužina \"O meni\"", "terms-of-use": "Pravila korištenja foruma (ostavi prazno za isključeno)", "user-search": "Korisnička pretraga", - "user-search-results-per-page": "Broj rezultata za prikaz", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Osnovne korisničke postavke", "show-email": "Prikaži email", "show-fullname": "Prikaži puno ime", diff --git a/public/language/hr/error.json b/public/language/hr/error.json index 438c2e3fff..3e8466c908 100644 --- a/public/language/hr/error.json +++ b/public/language/hr/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail nije pronađen, provjerite da li je instaliran?", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Korisničko ime prekratko", diff --git a/public/language/hr/global.json b/public/language/hr/global.json index e1d24fc211..2554d40335 100644 --- a/public/language/hr/global.json +++ b/public/language/hr/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Uspješno ste se prijavili", "save_changes": "Spremi promjene", "save": "Spremi", + "create": "Create", "cancel": "Cancel", "close": "Zatvori", "pagination": "Stranice", diff --git a/public/language/hr/modules.json b/public/language/hr/modules.json index 5c3182e2ff..2e1446011b 100644 --- a/public/language/hr/modules.json +++ b/public/language/hr/modules.json @@ -1,8 +1,8 @@ { - "chat.chatting_with": "Chat with", + "chat.chatting_with": "Razgovaraj s", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/hr/notifications.json b/public/language/hr/notifications.json index 85d9b0f64f..08576b1d30 100644 --- a/public/language/hr/notifications.json +++ b/public/language/hr/notifications.json @@ -44,7 +44,7 @@ "new_register_multiple": "%1 registracija čeka odobrenje.", "flag_assigned_to_you": "Zastava%1 je dodijeljena vama.", "post_awaiting_review": "Objava čeka pregled", - "profile-exported": "%1 profile exported, click to download", + "profile-exported": "%1 profil izvezen, klikni za preuzimanje", "posts-exported": "%1 posts exported, click to download", "uploads-exported": "%1 uploads exported, click to download", "users-csv-exported": "Users csv exported, click to download", diff --git a/public/language/hr/pages.json b/public/language/hr/pages.json index d78c1b0908..b96c2aa5b1 100644 --- a/public/language/hr/pages.json +++ b/public/language/hr/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Označene objave", "ip-blacklist": "IP crna lista", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online korisnici", "users/latest": "Posljednji korisnici", "users/sort-posts": "Korisnici s najviše objava", diff --git a/public/language/hr/themes/harmony.json b/public/language/hr/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/hr/themes/harmony.json +++ b/public/language/hr/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/hr/topic.json b/public/language/hr/topic.json index aaef591f7b..3bbaf047e7 100644 --- a/public/language/hr/topic.json +++ b/public/language/hr/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Odgovori na %1", "composer.new_topic": "Nova tema", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "slanje...", "composer.thumb_url_label": "Zaljepite URL slike za temu", "composer.thumb_title": "Dodajte slike ovoj temi", @@ -198,7 +198,7 @@ "diffs.delete": "Delete this revision", "diffs.deleted": "Revision deleted", "timeago_later": "%1 later", - "timeago_earlier": "%1 earlier", + "timeago_earlier": "%1 ranije", "first-post": "First post", "last-post": "Last post", "go-to-my-next-post": "Go to my next post", diff --git a/public/language/hr/user.json b/public/language/hr/user.json index bdb5930a41..0bf0120375 100644 --- a/public/language/hr/user.json +++ b/public/language/hr/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Nema imena grupe", "select-skin": "Izaberi izgled", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Izaberi naslovnu", "homepage": "Naslovna", "homepage_description": "Izaberi stranicu ", diff --git a/public/language/hr/users.json b/public/language/hr/users.json index b01eebdfc5..b224dfd163 100644 --- a/public/language/hr/users.json +++ b/public/language/hr/users.json @@ -1,19 +1,19 @@ { - "all-users": "All Users", + "all-users": "Svi korisnici", "latest_users": "Posljednji korisnici", "top_posters": "Najviše objava", "most_reputation": "Najveća reputacija", "most_flags": "Najviše zastava", "search": "Pretraga", "enter_username": "Unesi korisničko ime za pretragu", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Pretraži korisnika za započinjanje razgovora", "load_more": "Učitaj više", "users-found-search-took": "%1user(s) pronađeni! Pretraga je trajala %2 sekundi.", "filter-by": "Filtriraj po", "online-only": "Samo na mreži", "invite": "Pozovi", - "prompt-email": "Emails:", - "groups-to-join": "Groups to be joined when invite is accepted:", + "prompt-email": "Email:", + "groups-to-join": "Grupe u koje će se dodati:", "invitation-email-sent": "Pozivnica poslana %1", "user_list": "Popis korisnika", "recent_topics": "Zadnje teme", diff --git a/public/language/hu/admin/admin.json b/public/language/hu/admin/admin.json index e5972a464f..3cf53e2572 100644 --- a/public/language/hu/admin/admin.json +++ b/public/language/hu/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Adminisztrációs vezérlőpult", "settings-header-contents": "Tartalmak", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "A változtatások nincsenek elmentve", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/hu/admin/advanced/cache.json b/public/language/hu/admin/advanced/cache.json index 0bb92bb8e4..b111597365 100644 --- a/public/language/hu/admin/advanced/cache.json +++ b/public/language/hu/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Hozzászólás gyorsítótár", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/hu/admin/advanced/database.json b/public/language/hu/admin/advanced/database.json index 517a65d68b..cafdbc1ce6 100644 --- a/public/language/hu/admin/advanced/database.json +++ b/public/language/hu/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Üzemidő másodpercben", "uptime-days": "Üzemidő napban", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Verzió", "mongo.storage-engine": "Tárolómotor", "mongo.collections": "Gyűjtemények", diff --git a/public/language/hu/admin/advanced/errors.json b/public/language/hu/admin/advanced/errors.json index 9ad4a82d61..60337822fc 100644 --- a/public/language/hu/admin/advanced/errors.json +++ b/public/language/hu/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Ábra %1", "error-events-per-day": "%1 esemény naponta", "error.404": "404 Nem található", diff --git a/public/language/hu/admin/appearance/customise.json b/public/language/hu/admin/appearance/customise.json index 5801e0511f..2593b4f3fa 100644 --- a/public/language/hu/admin/appearance/customise.json +++ b/public/language/hu/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Egyéni fejléc engedélyezése", "custom-css.livereload": "Élő újratöltés engedélyezése", - "custom-css.livereload.description": "Engedélyezésével fiókod alá eső minden eszközön az összes munkamenet kényszerűen frissül akárhányszor a mentésre kattintasz" + "custom-css.livereload.description": "Engedélyezésével fiókod alá eső minden eszközön az összes munkamenet kényszerűen frissül akárhányszor a mentésre kattintasz", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/hu/admin/appearance/skins.json b/public/language/hu/admin/appearance/skins.json index 9d9e0721f3..ec58e8c5f9 100644 --- a/public/language/hu/admin/appearance/skins.json +++ b/public/language/hu/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Felületek betöltése...", "homepage": "Kezdőoldal", "select-skin": "Felület választása", + "revert-skin": "Revert Skin", "current-skin": "Jelenlegi felület", "skin-updated": "Felület frissítve", "applied-success": "%1 felület sikeresen alkalmazva", diff --git a/public/language/hu/admin/appearance/themes.json b/public/language/hu/admin/appearance/themes.json index 07f5cd2e5c..5dafa43cdb 100644 --- a/public/language/hu/admin/appearance/themes.json +++ b/public/language/hu/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Telepített témák ellenőrzése...", "homepage": "Kezdőoldal", "select-theme": "Téma választása", + "revert-theme": "Revert Theme", "current-theme": "Aktuális téma", "no-themes": "Nem található telepített téma", "revert-confirm": "Biztos vissza akarod állítani az alapértelmezett NodeBB témát?", diff --git a/public/language/hu/admin/dashboard.json b/public/language/hu/admin/dashboard.json index e4e709a565..eeb05d3480 100644 --- a/public/language/hu/admin/dashboard.json +++ b/public/language/hu/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Frissítések", "running-version": "Jelenleg a NodeBB v%1 verzióját futtatod.", "keep-updated": "Mindig tégy róla, hogy a NodeBB naprakész a legfrissebb biztonsági javítások és hibajavítások végett.", - "up-to-date": "

Naprakész vagy

", - "upgrade-available": "

Kiadásra került egy új verzió (v%1). Vedd fontolóra a NodeBB frissítését.

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

Ez egy elavult kiadás előtti verzió. Elérhető egy új (v%1) verzió. Vedd fontolóra a NodeBB frissítését.

", - "prerelease-warning": "

Ez egy elavult kiadás előtti verzió. Nem szándékos hibás működés előfordulhat.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Tartalék email kezelő nem található", - "running-in-development": "A fórum fejlesztői módban fut. A fórum jelenleg sebezhető; vedd fel a kapcsolatot az adminisztrátorokkal.", - "latest-lookup-failed": "

A legfrissebb NodeBB verzió lekérdezése sikertelen

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Értesítések", "restart-not-required": "Nem szükséges az újraindítás", diff --git a/public/language/hu/admin/development/logger.json b/public/language/hu/admin/development/logger.json index 06ab9de008..58a823dff0 100644 --- a/public/language/hu/admin/development/logger.json +++ b/public/language/hu/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Naplózó beállítások", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Egyszerűen jelöld be/töröld a jelölést a naplózó beállításai elől azok menet közbeni engedélyezéséhez illetve tiltásához.", diff --git a/public/language/hu/admin/extend/plugins.json b/public/language/hu/admin/extend/plugins.json index 18f559a666..bf179197c5 100644 --- a/public/language/hu/admin/extend/plugins.json +++ b/public/language/hu/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Népszerűek", "installed": "Telepített", "active": "Aktív", diff --git a/public/language/hu/admin/extend/rewards.json b/public/language/hu/admin/extend/rewards.json index d5fe130fe8..8534e2f820 100644 --- a/public/language/hu/admin/extend/rewards.json +++ b/public/language/hu/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Jutalmak", + "add-reward": "Add reward", "condition-if-users": "Ha a felhasználó", "condition-is": "Kisebb/nagyobb/egyenlő:", "condition-then": "Akkor:", "max-claims": "Hány alkalommal igényelhető a jutalom", "zero-infinite": "Írj 0-t a végtelenhez", + "select-reward": "Select reward", "delete": "Törlés", "enable": "Engedélyezés", "disable": "Tiltás", diff --git a/public/language/hu/admin/extend/widgets.json b/public/language/hu/admin/extend/widgets.json index 6f787f9483..75770689ed 100644 --- a/public/language/hu/admin/extend/widgets.json +++ b/public/language/hu/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Elérhető modulok", "explanation": "Válassz egy modult a legördülő menüből, majd húzd rá az egyik sablon modul területére a bal oldalon.", "none-installed": "Nincs elérhető modul! Aktiváld a widget essentials beépülőt a beépülők oldalon.", diff --git a/public/language/hu/admin/manage/admins-mods.json b/public/language/hu/admin/manage/admins-mods.json index 1e754a8bd0..1174a77ca6 100644 --- a/public/language/hu/admin/manage/admins-mods.json +++ b/public/language/hu/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Adminisztrátorok", "global-moderators": "Globális moderátorok", "moderators": "Moderátorok", "no-global-moderators": "Nincsenek Globális moderátorok", "no-sub-categories": "Nincsenek Alkategóriák", - "subcategories": "%1 alkategória", + "view-children": "View children (%1)", "no-moderators": "Nincsenek Moderátorok", "add-administrator": "Adminisztrátor hozzáadása", "add-global-moderator": "Globális moderátor hozzáadása", diff --git a/public/language/hu/admin/manage/categories.json b/public/language/hu/admin/manage/categories.json index 42b11ebd47..7cec893e3f 100644 --- a/public/language/hu/admin/manage/categories.json +++ b/public/language/hu/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Kategória beállítások", + "edit-category": "Edit Category", "privileges": "Jogosultságok", - + "back-to-categories": "Back to categories", "name": "Kategória neve", "description": "Kategória leírása", "bg-color": "Háttérszín", @@ -15,8 +19,11 @@ "post-queue": "Bejegyzés várólista", "tag-whitelist": "Engedélyezett címkék", "upload-image": "Kép feltöltése", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Kép törlése", "category-image": "Kategóriakép", + "image-and-icon": "Image & Icon", "parent-category": "Szülő kategória", "optional-parent-category": "(Nem kötelező) Szülő kategória", "top-level": "Legfelső szint", @@ -31,6 +38,7 @@ "disable": "Letiltás", "edit": "Szerkesztés", "analytics": "Analitika", + "view-category": "Kategória megtekintése", "set-order": "Sorrend beállítása", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/hu/admin/manage/groups.json b/public/language/hu/admin/manage/groups.json index 9e82e5a05a..d29a7734e3 100644 --- a/public/language/hu/admin/manage/groups.json +++ b/public/language/hu/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Csoport neve", "badge": "Jelvény", "properties": "Tulajdonságok", @@ -10,7 +16,7 @@ "edit": "Szerkesztés", "delete": "Törlés", "privileges": "Jogosultságok", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Keresés", "create": "Csoport létrehozása", "description-placeholder": "A csoport rövid leírása", diff --git a/public/language/hu/admin/manage/privileges.json b/public/language/hu/admin/manage/privileges.json index e5a842f41d..68564ac1c7 100644 --- a/public/language/hu/admin/manage/privileges.json +++ b/public/language/hu/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Globális", "admin": "Adminisztrátor", "group-privileges": "Csoport jogosultságok", diff --git a/public/language/hu/admin/manage/tags.json b/public/language/hu/admin/manage/tags.json index c28d1e9b82..de3bf5bbf1 100644 --- a/public/language/hu/admin/manage/tags.json +++ b/public/language/hu/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Fórumod még nem rendelkezik egy címkékkel ellátott témakörrel sem.", "bg-color": "Háttérszín", "text-color": "Szövegszín", "description": "Válassz ki címkéket kattintással vagy húzással, használd a CTRL-t több cí>mke kiválasztásához.", "create": "Címke létrehozása", + "add-tag": "Add tag", "modify": "Címkék módosítása", "rename": "Címkék átnevezése", "delete": "Kijelölt címkék törlése", diff --git a/public/language/hu/admin/manage/uploads.json b/public/language/hu/admin/manage/uploads.json index 55fe5c12bd..79ec1e871e 100644 --- a/public/language/hu/admin/manage/uploads.json +++ b/public/language/hu/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Fájl feltöltése", "filename": "Fájlnév", "usage": "Használat hozzászólásban", diff --git a/public/language/hu/admin/manage/users.json b/public/language/hu/admin/manage/users.json index 6c673c40bf..329d56b8d9 100644 --- a/public/language/hu/admin/manage/users.json +++ b/public/language/hu/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Felhasználók", "edit": "Akciók", "make-admin": "Adminná léptetés", @@ -49,6 +50,10 @@ "users.username": "felhasználónév", "users.email": "email", "users.no-email": "(nincs email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "hozzászólások száma", "users.reputation": "hírnév", diff --git a/public/language/hu/admin/menu.json b/public/language/hu/admin/menu.json index a19f50b760..2c6f0fd6b0 100644 --- a/public/language/hu/admin/menu.json +++ b/public/language/hu/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Információ", "rebuild-and-restart-forum": "Fórum újraépítése & újraindítása", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Fórum újraindítása", + "restart": "Restart", "logout": "Kilépés", "view-forum": "Fórum megtekintése", diff --git a/public/language/hu/admin/settings/api.json b/public/language/hu/admin/settings/api.json index 31ffbce5f1..59b7558985 100644 --- a/public/language/hu/admin/settings/api.json +++ b/public/language/hu/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Beállítások", "lead-text": "Ezen az oldalon beállíthatod a NodeBB Write API-jának hozzáférését.", "intro": "Alapértelmezetten a Write API a felhasználókat a munkamenet sütijükön keresztül authentikálja, azonban a NodeBB támogatja a Bearer authentikációt tokeneken keresztül, amiket ezen az oldalon generálhatsz.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Kattints ide a teljes API specifikáció megtekintéséhez", "require-https": "API használat korlátozása HTTPS protokollra", "require-https-caveat": "Megjegyzés: Némely telepítések terherléselosztás miatt a kéréseket a NodeBB felé HTTP-n keresztül továbbítják. Ilyen esetekben ezt a beállítást nem szabad bekapcsolni.", "uid": "Felhasználó azonosító", + "token": "Token", "uid-help-text": "Adj meg egy felhasználó azonosítót, hogy társítsd ehhez a tokenhez. Ha a felhasználó azonosító 0, akkor mester tokenként lesz kezelve, ami bármelyik felhasználó identitását képes felvenni a _uid paraméter alapján", "description": "Leírás", - "last-seen-ago": "Utolsó látogatás .", - "last-seen-on": "Utolsó látogatás .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "Ezt a kulcsot soha nem használták.", "no-description": "Nincs leírás megadva.", - "token-on-save": "A token az űrlap mentésekor generálódik" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/hu/admin/settings/general.json b/public/language/hu/admin/settings/general.json index ba10978572..9407f5071b 100644 --- a/public/language/hu/admin/settings/general.json +++ b/public/language/hu/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Weboldal beállítások", "title": "Weboldal címe", "title.short": "Rövid cím", "title.short-placeholder": "Ha nincs rövid cím beállítva, akkor a weboldal címét fogjuk használni", "title.url": "Title Link URL", "title.url-placeholder": "A weboldal címre kattintáskor megnyitandó URL", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "A közösséged neve", "title.show-in-header": "A weboldal címének megjelenítése a fejlécben", "browser-title": "Böngésző cím", @@ -16,7 +18,7 @@ "description": "Weboldal leírása", "keywords": "Weboldal kulcsszavak", "keywords-placeholder": "A közösségedet leíró kulcsszavak, vesszővel elválasztva", - "logo": "Weboldal logó", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Kép", "logo.image-placeholder": "A logó elérési útvonala, amit a fórum fejlécében fogunk megjeleníteni", "logo.upload": "Feltöltés", diff --git a/public/language/hu/admin/settings/guest.json b/public/language/hu/admin/settings/guest.json index 07b9740854..9a65d80c92 100644 --- a/public/language/hu/admin/settings/guest.json +++ b/public/language/hu/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Beállítások", + "guest-settings": "Guest settings", "handles.enabled": "Vendég név beállítás engedélyezése", "handles.enabled-help": "Ez a beállítás engedélyez egy új mezőt, amivel a vendégek minden hozzászólásnál választhatnak egy nevet ami megjelenik ott. Ha nincs engedélyezve, egyszerűen \"Vendég\"-ként jelennek meg.", "topic-views.enabled": "Témakör látogatások számának növelésének engedélyezése vendégek számára", diff --git a/public/language/hu/admin/settings/navigation.json b/public/language/hu/admin/settings/navigation.json index 58c75f53b8..14adda31e1 100644 --- a/public/language/hu/admin/settings/navigation.json +++ b/public/language/hu/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikon:", "change-icon": "módosítás", "route": "Útvonal:", diff --git a/public/language/hu/admin/settings/post.json b/public/language/hu/admin/settings/post.json index f46f0a12af..d92c577c95 100644 --- a/public/language/hu/admin/settings/post.json +++ b/public/language/hu/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Hozzászólások rendezése", "sorting.post-default": "Alapértelmezett rendezés", "sorting.oldest-to-newest": "Régebbitől az újabb felé", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Hány másodpercig maradjanak a hozzászlóások szerkeszthetőek (0: nincs korlátozás)", "restrictions.seconds-delete-after": "Hány másodpercig maradjanak a hozzászólások törölhetőek (0: nincs korlátozás)", "restrictions.replies-no-delete": "Hány hozzászólás után ne törölhessék a felhasználók a saját témaköreiket (0: nincs korlátozás)", - "restrictions.min-title-length": "Cím minimális hossza", - "restrictions.max-title-length": "Cím maximális hossza", - "restrictions.min-post-length": "Hozzászólások minimális hossza", - "restrictions.max-post-length": "Hozzászólások maximális hossza", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Hány nap elteltével számítson egy témakör elhagyatottnak", "restrictions.stale-help": "Ha egy témakör \"elhagyatottnak\" számít, akkor a felhasználók hozzászóláskor egy figyelmeztetést fognak kapni róla.", "timestamp": "Időbélyegek", @@ -41,10 +40,9 @@ "teaser.last-reply": "Utolsó – Utolsó válasz vagy, ha nincsenek válaszok, akkor \"Nincs válasz\" szöveg megjelenítése", "teaser.first": "Első", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Olvasatlansági beállítások", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Hány napig legyen olvasatlan egy hozzászólás", "unread.min-track-last": "Hozzászólások minimális száma egy témakörben, mielőtt a legutóbbi olvasás követése elkezdődik", - "recent": "Legutóbbiak beállításai", "recent.max-topics": "Témakörök maximális száma a /recent oldalon", "recent.categoryFilter.disable": "Témakörök szűrésének kikapcsolása a figyelmen kívül hagyott kategóriákban a /recent oldalon", "signature": "Aláírás beállítások", diff --git a/public/language/hu/admin/settings/reputation.json b/public/language/hu/admin/settings/reputation.json index a412652271..7e686d9250 100644 --- a/public/language/hu/admin/settings/reputation.json +++ b/public/language/hu/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Tegye a következőket, ha egy megjelölés megoldódott", "flags.action-on-reject": "Tegye a következőket, ha egy megjelölés visszautasított", "flags.action.nothing": "Ne csinálj semmit", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/hu/admin/settings/social.json b/public/language/hu/admin/settings/social.json index 8d68baf6c0..ea55df180f 100644 --- a/public/language/hu/admin/settings/social.json +++ b/public/language/hu/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Hozzászólások megosztása", - "info-plugins-additional": "Beépülőkkel további hálózatok adhatók hozzá hozzászólások megosztásához.", - "save-success": "Hozzászólás megosztási beállítások sikeresen elmentve!" + "info-plugins-additional": "Beépülőkkel további hálózatok adhatók hozzá hozzászólások megosztásához." } \ No newline at end of file diff --git a/public/language/hu/admin/settings/tags.json b/public/language/hu/admin/settings/tags.json index b4d77f44bb..bc15c460b1 100644 --- a/public/language/hu/admin/settings/tags.json +++ b/public/language/hu/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Címkék kezelése", "system-tags": "Rendszer címkék", "system-tags-help": "Csak jogosultsággal rendelkező felhasználók láthatják ezeket a címkéket.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Címkék minimum száma témakörönként", "max-per-topic": "Címkék maximális száma témakörönként", "min-length": "Címke minimális hossza", diff --git a/public/language/hu/admin/settings/user.json b/public/language/hu/admin/settings/user.json index e232b1e2ef..751ad4e535 100644 --- a/public/language/hu/admin/settings/user.json +++ b/public/language/hu/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Bemutatkozás maximális hossza", "terms-of-use": "Fórum felhasználási feltételek (Hagyd üresen a kikapcsoláshoz)", "user-search": "Felhasználó keresés", - "user-search-results-per-page": "Megjelenítendő eredmények száma", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Alapértelmezett felhasználói beállítások", "show-email": "Email cím megjelenítése", "show-fullname": "Teljes név megjelenítése", diff --git a/public/language/hu/error.json b/public/language/hu/error.json index fd85b344b4..daa6e50508 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "Nem tudtuk ellenőrizni az e-mail címedet, kérlek próbálkozz később.", "confirm-email-already-sent": "A megerősítéshez szükséges email már el lett küldve, kérlek várj %1 percet az újraküldéshez.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "A levél küldés végrehajtása nem található, kérlek bizonyosodj meg róla, hogy telepítve van és végrehajtható a felhasználó által NodeBB-t futtatva.", "digest-not-enabled": "Ennek a felhasználónak nincs engedélyezve az összefoglaló vagy a rendszer alapértelmezett beállítása nem küld összefoglalókat.", "username-too-short": "Túl rövid felhasználónév", diff --git a/public/language/hu/global.json b/public/language/hu/global.json index 74bd76c320..785fff1ae5 100644 --- a/public/language/hu/global.json +++ b/public/language/hu/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Sikeresen beléptél", "save_changes": "Változások mentése", "save": "Mentés", + "create": "Create", "cancel": "Cancel", "close": "Bezárás", "pagination": "Lapozás", diff --git a/public/language/hu/modules.json b/public/language/hu/modules.json index 43776a4e14..2cdfeab55d 100644 --- a/public/language/hu/modules.json +++ b/public/language/hu/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Csevegés vele", "chat.placeholder": "Írja be ide a csevegőüzenetet, húzza át a képeket, majd nyomja meg az Enter billentyűt a küldéshez", "chat.placeholder.mobile": "Írja be ide a csevegő üzenetet", - "chat.scroll-up-alert": "Régebbi üzeneteket nézel, kattints ide a legfrissebbekhez.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 és mások", "chat.chat-with-usernames": "Csevegés a következővel: %1", "chat.chat-with-usernames-and-x-others": "Csevegés %1 és %2 másik személyekkel", diff --git a/public/language/hu/pages.json b/public/language/hu/pages.json index 3f2ded49b2..0f0e9829a6 100644 --- a/public/language/hu/pages.json +++ b/public/language/hu/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Megjelölt tartalom", "ip-blacklist": "IP tiltólista", "post-queue": "Hozzászólás várólista", + "registration-queue": "Registration Queue", "users/online": "Elérhető felhasználok", "users/latest": "Legújabb felhasználók", "users/sort-posts": "Legtöbbet hozzászóló felhasználók", diff --git a/public/language/hu/themes/harmony.json b/public/language/hu/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/hu/themes/harmony.json +++ b/public/language/hu/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/hu/themes/persona.json b/public/language/hu/themes/persona.json index e7d1945303..4b06414736 100644 --- a/public/language/hu/themes/persona.json +++ b/public/language/hu/themes/persona.json @@ -1,7 +1,7 @@ { "settings.title": "Theme settings", "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", + "settings.mobile-menu-side": "Mobilon a menü az ellentétes oldalon jelenjen meg", "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", diff --git a/public/language/hu/topic.json b/public/language/hu/topic.json index 03c19bd03d..7f57b58d8c 100644 --- a/public/language/hu/topic.json +++ b/public/language/hu/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Időzítés", "composer.replying_to": "Válasz erre: %1", "composer.new_topic": "Új témakör", - "composer.editing": "Szerkesztés", + "composer.editing-in": "Editing post in %1", "composer.uploading": "feltöltés...", "composer.thumb_url_label": "Bélyegkép URL beszúrása", "composer.thumb_title": "Bélyegkép hozzáadása a témakörhöz", diff --git a/public/language/hu/user.json b/public/language/hu/user.json index 01479b9483..9b4bfa6640 100644 --- a/public/language/hu/user.json +++ b/public/language/hu/user.json @@ -141,6 +141,8 @@ "group-order-help": "Válassz ki egy csoportot és használd a nyilakat, hogy elrendezd a címeket", "no-group-title": "Nincs csoportcím", "select-skin": "Válassz egy kinézetet", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Válasz egy kezdőlapot", "homepage": "Kezdőlap", "homepage_description": "Válasz egy oldalt a fórum kezdőlapjához, vagy az alapértelmezett kezdőlaphoz a 'Nincs' lehetőséget.", diff --git a/public/language/hu/users.json b/public/language/hu/users.json index d37ca2a952..b2450928da 100644 --- a/public/language/hu/users.json +++ b/public/language/hu/users.json @@ -6,7 +6,7 @@ "most_flags": "Legtöbb megjelölés", "search": "Keresés", "enter_username": "Írj be egy felhasználónevet kereséshez", - "search-user-for-chat": "Keressen egy felhasználót a csevegés indításához:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "További betöltése", "users-found-search-took": "%1 talált felhasználó! A keresés %2 másodpercig tartott.", "filter-by": "Szűrés", diff --git a/public/language/hy/admin/admin.json b/public/language/hy/admin/admin.json index c212f687ec..066b10b627 100644 --- a/public/language/hy/admin/admin.json +++ b/public/language/hy/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Կառավարման Վահանակ", "settings-header-contents": "Պարունակություն", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Փոփոխությունները պահպանված չեն", - "changes-not-saved-message": "Փոփոխությունների պահպանման հետ խնդիր կա (%1)" + "changes-not-saved-message": "Փոփոխությունների պահպանման հետ խնդիր կա (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/hy/admin/advanced/cache.json b/public/language/hy/admin/advanced/cache.json index 8fdec405c2..04adbf8d13 100644 --- a/public/language/hy/admin/advanced/cache.json +++ b/public/language/hy/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Գրառման քեշ", "group-cache": "Խմբի քեշ", "local-cache": "Տեղական քեշ", diff --git a/public/language/hy/admin/advanced/database.json b/public/language/hy/admin/advanced/database.json index 8ce5449645..3f5ea4c31e 100644 --- a/public/language/hy/admin/advanced/database.json +++ b/public/language/hy/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime վայրկյաններով", "uptime-days": "Աշխատանքի ժամանակ օրերով", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB տարբերակ", "mongo.storage-engine": "Պահեստի շարժիչ", "mongo.collections": "Հավաքածուներ", diff --git a/public/language/hy/admin/advanced/errors.json b/public/language/hy/admin/advanced/errors.json index 8b3d41ab7c..d7924b42da 100644 --- a/public/language/hy/admin/advanced/errors.json +++ b/public/language/hy/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 իրադարձություն օրական", "error.404": "404 Չի գտնվել", diff --git a/public/language/hy/admin/appearance/customise.json b/public/language/hy/admin/appearance/customise.json index aef0e49bfb..c7b6a9224f 100644 --- a/public/language/hy/admin/appearance/customise.json +++ b/public/language/hy/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Միացնել հատուկ Վերնագիրը", "custom-css.livereload": "Միացնել Live Reload-ը", - "custom-css.livereload.description": "Միացրեք սա՝ ձեր հաշվի տակ գտնվող յուրաքանչյուր սարքի բոլոր աշխատաշրջանները ստիպելու համար թարմացնել, երբ սեղմեք «Պահել» կոճակը" + "custom-css.livereload.description": "Միացրեք սա՝ ձեր հաշվի տակ գտնվող յուրաքանչյուր սարքի բոլոր աշխատաշրջանները ստիպելու համար թարմացնել, երբ սեղմեք «Պահել» կոճակը", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/hy/admin/appearance/skins.json b/public/language/hy/admin/appearance/skins.json index 8d5e163d25..82ca95de59 100644 --- a/public/language/hy/admin/appearance/skins.json +++ b/public/language/hy/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Բեռնվում է Skins...", "homepage": "Գլխավոր էջ", "select-skin": "Ընտրել շապիկ ", + "revert-skin": "Revert Skin", "current-skin": "Ընթացիկ շապիկ ", "skin-updated": "Շապիկը թարմացվել է", "applied-success": "%1 շապիկը հաջողությամբ կիրառվեց", diff --git a/public/language/hy/admin/appearance/themes.json b/public/language/hy/admin/appearance/themes.json index 1075a0190d..8d23160e9f 100644 --- a/public/language/hy/admin/appearance/themes.json +++ b/public/language/hy/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Տեղադրված թեմաների ստուգում...", "homepage": "Գլխավոր էջ", "select-theme": "Ընտրեք թեմա", + "revert-theme": "Revert Theme", "current-theme": "Ընթացիկ թեմա", "no-themes": "Տեղադրված թեմաներ չեն գտնվել", "revert-confirm": "Վստա՞հ եք, որ ցանկանում եք վերականգնել կանխադրված NodeBB թեման:", diff --git a/public/language/hy/admin/dashboard.json b/public/language/hy/admin/dashboard.json index c617612f5b..441d5af3fc 100644 --- a/public/language/hy/admin/dashboard.json +++ b/public/language/hy/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Թարմացումներ", "running-version": "Դուք աշխատում եք NodeBB v%1-ում:", "keep-updated": "Միշտ համոզվեք, որ ձեր NodeBB-ն արդիական է անվտանգության վերջին պատչերի և վրիպակների շտկման համար:", - "up-to-date": "Դուք up-to-date-եք", - "upgrade-available": "Թողարկվել է նոր տարբերակ (v%1): Մտածեք ձեր NodeBB-ի թարմացման մասին:", - "prerelease-upgrade-available": "Սա NodeBB-ի նախնական թողարկման հնացած տարբերակն է: Թողարկվել է նոր տարբերակ (v%1): Մտածեք ձեր NodeBB-ի թարմացման մասին:", - "prerelease-warning": "Սա NodeBB-ի նախնական թողարկումն է: Կարող են առաջանալ չնախատեսված սխալներ:", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Հետադարձ էլփոստի ուղարկողը չի գտնվել:", - "running-in-development": "Ֆորումն աշխատում է զարգացման ռեժիմում: Ֆորումը կարող է բաց լինել հնարավոր խոցելիության համար. խնդրում ենք կապվել ձեր համակարգի ադմինիստրատորի հետ:", - "latest-lookup-failed": "Չհաջողվեց փնտրել NodeBB-ի վերջին հասանելի տարբերակը", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Ծանուցումներ", "restart-not-required": "Վերագործարկումը պարտադիր չէ", diff --git a/public/language/hy/admin/development/logger.json b/public/language/hy/admin/development/logger.json index 5ddbe9fb22..f3f5f6b158 100644 --- a/public/language/hy/admin/development/logger.json +++ b/public/language/hy/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Լոգերի կարգավորումներ", "description": "Միացնելով վանդակները, դուք կստանաք տեղեկամատյաններ ձեր տերմինալում: Եթե նշեք ուղի, ապա դրա փոխարեն տեղեկամատյանները կպահվեն ֆայլում: HTTP-ի գրանցումն օգտակար է վիճակագրություն հավաքելու համար, թե ով, երբ և ինչ են մարդիկ մուտք գործում ձեր ֆորումում: Բացի HTTP հարցումները գրանցելուց, մենք կարող ենք նաև գրանցել socket.io իրադարձությունները: Socket.io-ի գրանցումը, redis-cli մոնիտորի հետ համատեղ, կարող է շատ օգտակար լինել NodeBB-ի ինտերիերը սովորելու համար:", "explanation": "Պարզապես ստուգեք/անջատեք գրանցման կարգավորումները՝ արագ գրանցումը միացնելու կամ անջատելու համար: Վերագործարկման կարիք չկա:", diff --git a/public/language/hy/admin/extend/plugins.json b/public/language/hy/admin/extend/plugins.json index afe9e21040..3fa5a27f84 100644 --- a/public/language/hy/admin/extend/plugins.json +++ b/public/language/hy/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "թրենդային", "installed": "Տեղադրված", "active": "Ակտիվ", diff --git a/public/language/hy/admin/extend/rewards.json b/public/language/hy/admin/extend/rewards.json index d6cc07117f..85e500c073 100644 --- a/public/language/hy/admin/extend/rewards.json +++ b/public/language/hy/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Պարգևներ", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Պահանջվում է պարգևատրման գումարը ", "zero-infinite": "Մուտքագրեք 0 անսահմանության համար", + "select-reward": "Select reward", "delete": "Ջնջել", "enable": "Միացնել", "disable": "Անջատել", diff --git a/public/language/hy/admin/extend/widgets.json b/public/language/hy/admin/extend/widgets.json index ec3268ae0b..068333334b 100644 --- a/public/language/hy/admin/extend/widgets.json +++ b/public/language/hy/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Հասանելի վիդջեթներ", "explanation": "Բացվող ընտրացանկից ընտրեք վիջեթ, այնուհետև քաշեք և թողեք այն ձախ կողմում գտնվող ձևանմուշի վիդջեթի տարածք:", "none-installed": "Վիջեթներ չեն գտնվել: Ակտիվացրեք վիջեթի հիմնական հավելվածը plugins կառավարման վահանակում:", diff --git a/public/language/hy/admin/manage/admins-mods.json b/public/language/hy/admin/manage/admins-mods.json index 290105ef43..b315aa315a 100644 --- a/public/language/hy/admin/manage/admins-mods.json +++ b/public/language/hy/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Ադմինիստրատորներ", "global-moderators": "Ընդհանուր մոդերատորներ", "moderators": "Մոդերատորներ ", "no-global-moderators": "Ընդհանուր մոդերատորներ չկան", "no-sub-categories": "Ենթակատեգորիաներ չկան", - "subcategories": " %1 ենթակատեգորիաներ", + "view-children": "View children (%1)", "no-moderators": "Մոդերատորներ չկան", "add-administrator": "Ավելացնել ադմինիստրատոր", "add-global-moderator": "Ավելացնել ընդհանուր մոդերատոր", diff --git a/public/language/hy/admin/manage/categories.json b/public/language/hy/admin/manage/categories.json index e14f435c7c..af1fb7d6a4 100644 --- a/public/language/hy/admin/manage/categories.json +++ b/public/language/hy/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Կատեգորիայի կարգավորումներ", + "edit-category": "Edit Category", "privileges": "Արտոնություններ", - + "back-to-categories": "Back to categories", "name": "Կատեգորիայի անվանումը", "description": "Կատեգորիայի նկարագրություն", "bg-color": "Ֆոնի գույնը", @@ -15,8 +19,11 @@ "post-queue": "Գրառման հերթ", "tag-whitelist": "Նշեք Whitelist", "upload-image": "Վերբեռնել նկար", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Հեռացնել ", "category-image": "Կատեգորիայի նկար ", + "image-and-icon": "Image & Icon", "parent-category": "Ծնողի կատեգորիա", "optional-parent-category": "(Ըստ ցանկության) Ծնողի կատեգորիա", "top-level": "Բարձր մակարդակ", @@ -31,6 +38,7 @@ "disable": "Անջատել", "edit": "Խմբագրել ", "analytics": "Վերլուծություն", + "view-category": "Դիտել կատեգորիա ", "set-order": "Սահմանել կարգը", "set-order-help": "Կատեգորիայի կարգը սահմանելը այս կատեգորիան կտեղափոխի այդ կարգը և անհրաժեշտության դեպքում կթարմացնի այլ կատեգորիաների հերթականությունը: Նվազագույն պատվերը 1-ն է, որը դասակարգում է վերևում:", diff --git a/public/language/hy/admin/manage/groups.json b/public/language/hy/admin/manage/groups.json index 73f6c6c6ab..1c44f03c5a 100644 --- a/public/language/hy/admin/manage/groups.json +++ b/public/language/hy/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Խմբի անուն", "badge": "Նշան", "properties": "Հատկություններ", @@ -10,7 +16,7 @@ "edit": "Խմբագրել ", "delete": "Ջնջել", "privileges": "Արտոնություններ ", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Որոնում ", "create": "Ստեղծել խումբ", "description-placeholder": "Ձեր խմբի մասին կարճ նկարագրություն", diff --git a/public/language/hy/admin/manage/privileges.json b/public/language/hy/admin/manage/privileges.json index 190927aaa9..879f739906 100644 --- a/public/language/hy/admin/manage/privileges.json +++ b/public/language/hy/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Ընդհանուր", "admin": "Ադմին", "group-privileges": "Group Privileges", diff --git a/public/language/hy/admin/manage/tags.json b/public/language/hy/admin/manage/tags.json index 94f9c5f199..bec196ad91 100644 --- a/public/language/hy/admin/manage/tags.json +++ b/public/language/hy/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Ձեր ֆորումում դեռևս պիտակներով թեմաներ չկան:", "bg-color": "Ֆոնի գույն ", "text-color": "Տեքստի գույն ", "description": "Ընտրեք պիտակներ՝ սեղմելով կամ քաշելով, օգտագործեք CTRL՝ մի քանի պիտակներ ընտրելու համար:", "create": "Ստեղծել պիտակ ", + "add-tag": "Add tag", "modify": "Փոփոխել պիտակները", "rename": "Վերանվանել Tags", "delete": "Ջնջել ընտրված պիտակները", diff --git a/public/language/hy/admin/manage/uploads.json b/public/language/hy/admin/manage/uploads.json index e108e1704d..cc6506c508 100644 --- a/public/language/hy/admin/manage/uploads.json +++ b/public/language/hy/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Ներբեռնել ֆայլ", "filename": "Ֆայլի անունը", "usage": "Գրառման օգտագործումը", diff --git a/public/language/hy/admin/manage/users.json b/public/language/hy/admin/manage/users.json index 6ad3a29d03..3c68fe3661 100644 --- a/public/language/hy/admin/manage/users.json +++ b/public/language/hy/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Օգտատերեր", "edit": "Գործողություններ", "make-admin": "Դարձնել Ադմին", @@ -49,6 +50,10 @@ "users.username": "օգտատիրոջ անուն ", "users.email": "էլ. փոստ", "users.no-email": "էլ. փոստ չկա", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "հետհաշվարկ", "users.reputation": "վարկանիշ", diff --git a/public/language/hy/admin/menu.json b/public/language/hy/admin/menu.json index f1d71bea7b..e9eb8657d1 100644 --- a/public/language/hy/admin/menu.json +++ b/public/language/hy/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Տեղեկատվություն", "rebuild-and-restart-forum": "Վերակառուցել և վերագործարկել ֆորումը", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Վերագործարկել Ֆորումը", + "restart": "Restart", "logout": "Դուրս գալ", "view-forum": "Դիտել ֆորումը", diff --git a/public/language/hy/admin/settings/api.json b/public/language/hy/admin/settings/api.json index f5530ad449..e11fd4debc 100644 --- a/public/language/hy/admin/settings/api.json +++ b/public/language/hy/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Կարգավորումներ ", "lead-text": "Այս էջից դուք կարող եք կարգավորել մուտքը դեպի «Write API» NodeBB-ում:", "intro": " Write API-ն նույնականացնում է օգտատերերին՝ հիմնվելով նրանց նստաշրջանի cookie-ի վրա, սակայն NodeBB-ն աջակցում է նաև կրող նույնականացումը այս էջի միջոցով ստեղծվող նշանների միջոցով:", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Սեղմեք այստեղ՝ API-ի ամբողջական ճշգրտմանը մուտք գործելու համար", "require-https": "Պահանջել API-ի օգտագործում միայն HTTPS-ի միջոցով", "require-https-caveat": "Նշում․ որոշ տեղադրումներ, որոնք ներառում են բեռի հավասարակշռողներ, կարող են իրենց հարցումները փոխանցել NodeBB-ին՝ օգտագործելով HTTP, որի դեպքում այս տարբերակը պետք է մնա անջատված։", "uid": "Օգտատիրոջ ID", + "token": "Token", "uid-help-text": "Նշեք Օգտատիրոջ ID՝ այս նշանի հետ կապելու համար: Եթե օգտատիրոջ ID-ն 0 է, ապա այն կհամարվի հիմնական նշան, որը կարող է ենթադրել այլ օգտատերերի ինքնությունը՝ հիմնվելով _uid պարամետրի վրա:", "description": "Նկարագրություն", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Ոչ մի նկարագրություն նշված չէ:", - "token-on-save": "Ձևաթուղթը կստեղծվի, երբ ձևը պահպանվի" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/hy/admin/settings/general.json b/public/language/hy/admin/settings/general.json index b9aa42fb91..cdf5927022 100644 --- a/public/language/hy/admin/settings/general.json +++ b/public/language/hy/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Կայքի կարգավորումներ", "title": "Կայքի անվանումը", "title.short": "Կարճ վերնագիր", "title.short-placeholder": "Եթե կարճ վերնագիր նշված չէ, կայքի անվանումը կօգտագործվի", "title.url": "Վերնագրի հղումի URL", "title.url-placeholder": "Կայքի վերնագրի URL-ը", - "title.url-help": "Երբ վերնագիրը սեղմված է, ուղարկեք օգտատերերին այս հասցեով: Եթե դատարկ մնա, օգտատերիրոջը կուղարկվի ֆորումի ինդեքս: Նշում. սա էլ-նամակներում օգտագործվող արտաքին URL-ը չէ և այլն: Այն սահմանված է config.json-ի url հատկությամբ:", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Ձեր համայնքի անունը", "title.show-in-header": "Ցույց տալ կայքի անվանումը վերնագրում", "browser-title": "Բրաուզերի անվանումը", @@ -16,7 +18,7 @@ "description": "Կայքի նկարագրություն", "keywords": "Կայքի հիմնաբառեր", "keywords-placeholder": "Ձեր համայնքը նկարագրող հիմնաբառեր՝ բաժանված ստորակետերով", - "logo": "Կայքի լոգոն", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Նկար ", "logo.image-placeholder": "Ճանապարհ դեպի լոգո՝ ֆորումի վերնագրում ցուցադրելու համար", "logo.upload": "Վերբեռնել", diff --git a/public/language/hy/admin/settings/guest.json b/public/language/hy/admin/settings/guest.json index 53f958a6e0..4f4946d811 100644 --- a/public/language/hy/admin/settings/guest.json +++ b/public/language/hy/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Կարգավորումներ", + "guest-settings": "Guest settings", "handles.enabled": "Թույլատրել guest handles", "handles.enabled-help": "Այս ընտրանքը բացահայտում է նոր դաշտ, որը թույլ է տալիս հյուրերին ընտրել անուն՝ իրենց կատարած յուրաքանչյուր գրառման հետ կապելու համար: Եթե անջատված են, նրանք պարզապես կանվանվեն «Հյուր»", "topic-views.enabled": "Թույլ տվեք հյուրերին ավելացնել թեմայի դիտումների քանակը", diff --git a/public/language/hy/admin/settings/navigation.json b/public/language/hy/admin/settings/navigation.json index c2e14e3df5..d89758fb60 100644 --- a/public/language/hy/admin/settings/navigation.json +++ b/public/language/hy/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Պատկեր", "change-icon": "փոփոխություն ", "route": "Ուղեգիծ", diff --git a/public/language/hy/admin/settings/post.json b/public/language/hy/admin/settings/post.json index d7456322f2..bbbbe6280f 100644 --- a/public/language/hy/admin/settings/post.json +++ b/public/language/hy/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Գրառումների տեսակավորում", "sorting.post-default": "Գրառումների հիմնական տեսակավորում", "sorting.oldest-to-newest": "Ամենահնից նորագույնը", @@ -23,10 +24,8 @@ "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.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Օրեր, մինչև թեման հնացած համարվի", "restrictions.stale-help": "Եթե թեման համարվում է «հնացած», ապա նախազգուշացում կցուցադրվի այն օգտատերերին, ովքեր կփորձեն պատասխանել այդ թեմային:", "timestamp": "Ժամացույց", @@ -41,10 +40,9 @@ "teaser.last-reply": "Վերջին & ndash; Ցույց տալ վերջին պատասխանը կամ «Պատասխաններ չկան» տեղապահ, եթե պատասխաններ չկան", "teaser.first": "Առաջին", "showPostPreviewsOnHover": "Ցույց տալ հաղորդագրությունների նախադիտումը, երբ մկնիկը սեղմում է", - "unread": "Չընթերցված կարգավորումներ", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Չընթերցված անջատման օրեր", "unread.min-track-last": "Նվազագույն գրառումները թեմայում մինչև վերջին ընթերցվածը հետևելը", - "recent": "Վերջին կարգավորումները", "recent.max-topics": "Առավելագույն թեմաները /վերջին", "recent.categoryFilter.disable": "Անջատել թեմաների զտումը անտեսված կատեգորիաներում /վերջին էջում", "signature": "Ստորագրության կարգավորումներ", diff --git a/public/language/hy/admin/settings/reputation.json b/public/language/hy/admin/settings/reputation.json index 27df7d5fbc..1988149c3f 100644 --- a/public/language/hy/admin/settings/reputation.json +++ b/public/language/hy/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Երբ դրոշը լուծվում է, արեք հետևյալը", "flags.action-on-reject": "Երբ դրոշը մերժվում է, արեք հետևյալը", "flags.action.nothing": "Ոչինչ Չանել ", - "flags.action.rescind": "Չեղարկել մոդերատորներին/ադմինիստրատորներին ուղարկված ծանուցումը" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/hy/admin/settings/social.json b/public/language/hy/admin/settings/social.json index 26814f1310..e3e5351dd2 100644 --- a/public/language/hy/admin/settings/social.json +++ b/public/language/hy/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Կիսվել հրապարակումով", - "info-plugins-additional": "Փլագինները կարող են ավելացնել լրացուցիչ ցանցեր՝ հրապարակումների փոխանակման համար:", - "save-success": "Հրապարակումների փոխանակման ցանցերը հաջողությամբ պահպանվեցին:" + "info-plugins-additional": "Փլագինները կարող են ավելացնել լրացուցիչ ցանցեր՝ հրապարակումների փոխանակման համար:" } \ No newline at end of file diff --git a/public/language/hy/admin/settings/tags.json b/public/language/hy/admin/settings/tags.json index cb64618da0..201ba5a98a 100644 --- a/public/language/hy/admin/settings/tags.json +++ b/public/language/hy/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Կառավարել թագերը", "system-tags": "Համակարգի պիտակներ", "system-tags-help": "Միայն արտոնյալ օգտատերերերը կկարողանան օգտագործել այս պիտակները: ", + "tags-per-topic": "Tags per topic", "min-per-topic": "Նվազագույն պիտակներ մեկ թեմայի համար", "max-per-topic": "Առավելագույն պիտակներ յուրաքանչյուր թեմայի համար", "min-length": "Պիտակի նվազագույն երկարությունը", diff --git a/public/language/hy/admin/settings/user.json b/public/language/hy/admin/settings/user.json index b7526cc3ac..bfe839b172 100644 --- a/public/language/hy/admin/settings/user.json +++ b/public/language/hy/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": " Իմ մասին առավելագույն երկարությունը", "terms-of-use": "Ֆորումի Օգտագործման պայմաններ (Անջատելու համար դատարկ թողեք)", "user-search": "Օգտատիրոջ որոնում", - "user-search-results-per-page": "Ցուցադրվող արդյունքների քանակը", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Օգտատիրոջ հիմնական կարգավորումներ", "show-email": "Ցույց տալ էլ.նամակը", "show-fullname": "Ցույց տալ լրիվ անունը", diff --git a/public/language/hy/error.json b/public/language/hy/error.json index 981da1a0f0..3b93ebc43c 100644 --- a/public/language/hy/error.json +++ b/public/language/hy/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Օգտատերը «%1» չունի էլփոստի հավաքածու:", "email-confirm-failed": "Մենք չկարողացանք հաստատել Ձեր էլ.փոստը, խնդրում ենք փորձել ավելի ուշ։", "confirm-email-already-sent": "Հաստատման էլ.նամակն արդեն ուղարկվել է, խնդրում ենք սպասել %1 րոպե՝ ևս մեկ ուղարկելու համար:", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail գործարկիչը չի գտնվել, համոզվեք, որ այն տեղադրված է և գործարկվում է NodeBB-ով աշխատող օգտատիրոջ կողմից:", "digest-not-enabled": "Այս օգտատիրոջը միացված չեն ամփոփումները, կամ համակարգի հիմնական կազմաձևված չէ ամփոփումներ ուղարկելու համար", "username-too-short": "Մուտքանունը շատ կարճ է", diff --git a/public/language/hy/global.json b/public/language/hy/global.json index 769d102863..f3a871d487 100644 --- a/public/language/hy/global.json +++ b/public/language/hy/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Դուք հաջողությամբ մուտք գործեցիք", "save_changes": "Պահպանել փոփոխությունները", "save": "Պահպանել", + "create": "Create", "cancel": "Cancel", "close": "Փակել", "pagination": "Էջադրում", diff --git a/public/language/hy/modules.json b/public/language/hy/modules.json index fc11d5f148..3223ffdd2e 100644 --- a/public/language/hy/modules.json +++ b/public/language/hy/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Զրուցել ", "chat.placeholder": "Գրեք հաղորդագրություն այստեղ, տեղադրեք նկարներ, սեղմեք \"enter\" ուղարկելու համար", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Դուք նայում եք ավելի հին հաղորդագրություններ, սեղմեք այստեղ՝ վերջին հաղորդագրությանը գնալու/տեսնելու համար:", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/hy/pages.json b/public/language/hy/pages.json index 5b3d919304..50eb6bdd7e 100644 --- a/public/language/hy/pages.json +++ b/public/language/hy/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Դրոշված կոնտենտ", "ip-blacklist": "IP սև ցուցակ", "post-queue": "Գրառման Queue", + "registration-queue": "Registration Queue", "users/online": "Առցանց օգտատերեր", "users/latest": "Ամենավերջին օգտատերերը", "users/sort-posts": "Ամենաշատ գրառումներով օգտատերերը", diff --git a/public/language/hy/themes/harmony.json b/public/language/hy/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/hy/themes/harmony.json +++ b/public/language/hy/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/hy/topic.json b/public/language/hy/topic.json index e67a806183..8656434f70 100644 --- a/public/language/hy/topic.json +++ b/public/language/hy/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Ժամանակացույց", "composer.replying_to": "Պատասխանում է %1-ին", "composer.new_topic": "Նոր թեմա", - "composer.editing": "Խմբագրում", + "composer.editing-in": "Editing post in %1", "composer.uploading": "վերբեռնում...", "composer.thumb_url_label": "Տեղադրեք թեմայի մանրապատկերի URL", "composer.thumb_title": "Ավելացրեք մանրապատկեր այս թեմային", diff --git a/public/language/hy/user.json b/public/language/hy/user.json index 5fc0b36fd4..a8d9d0e3e5 100644 --- a/public/language/hy/user.json +++ b/public/language/hy/user.json @@ -141,6 +141,8 @@ "group-order-help": "Ընտրեք խումբ և օգտագործեք սլաքները վերնագրեր պատվիրելու համար", "no-group-title": "Խմբի վերնագիր չկա", "select-skin": "Ընտրեք շապիկ", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Ընտրեք գլխավոր էջ", "homepage": "Գլխավոր էջ", "homepage_description": "Ընտրեք էջ՝ որպես ֆորումի գլխավոր էջ օգտագործելու համար, կամ «Ոչ մեկը»՝ կանխադրված գլխավոր էջն օգտագործելու համար:", diff --git a/public/language/hy/users.json b/public/language/hy/users.json index 7f492b05f5..7ed47e2fd2 100644 --- a/public/language/hy/users.json +++ b/public/language/hy/users.json @@ -6,7 +6,7 @@ "most_flags": "Դրոշակներ", "search": "Որոնում", "enter_username": "Գրեք անուն և որոնեք", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Բեռնել ավելին", "users-found-search-took": "Գտնվեց %1 օգտվող։ Որոնումը տևեց %2 վայրկյան։", "filter-by": "Ֆիլտրել ըստ", diff --git a/public/language/id/admin/admin.json b/public/language/id/admin/admin.json index 1e135597e7..c98a0b8c34 100644 --- a/public/language/id/admin/admin.json +++ b/public/language/id/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Kontrol Panel Admin NodeBB", "settings-header-contents": "Konten", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Perubahan Tidak Disimpan", - "changes-not-saved-message": "NodeBB mengalami masalah saat menyimpan perubahan Anda. (%1)" + "changes-not-saved-message": "NodeBB mengalami masalah saat menyimpan perubahan Anda. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/id/admin/advanced/cache.json b/public/language/id/admin/advanced/cache.json index edbb7f87ba..81ae827ba0 100644 --- a/public/language/id/admin/advanced/cache.json +++ b/public/language/id/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Cache Kiriman", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/id/admin/advanced/database.json b/public/language/id/admin/advanced/database.json index f7d8650db8..7f9a96f75c 100644 --- a/public/language/id/admin/advanced/database.json +++ b/public/language/id/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Menyala dalam Detik", "uptime-days": "Menyala dalam Hari", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Versi MongoDB", "mongo.storage-engine": "Mesin Penyimpanan", "mongo.collections": "Koleksi", diff --git a/public/language/id/admin/advanced/errors.json b/public/language/id/admin/advanced/errors.json index d6b5af4eaa..cf99408649 100644 --- a/public/language/id/admin/advanced/errors.json +++ b/public/language/id/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figur %1", "error-events-per-day": "%1 tindakan per hari", "error.404": "404 Tidak Ditemukan", diff --git a/public/language/id/admin/appearance/customise.json b/public/language/id/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/id/admin/appearance/customise.json +++ b/public/language/id/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/id/admin/appearance/skins.json b/public/language/id/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/id/admin/appearance/skins.json +++ b/public/language/id/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/id/admin/appearance/themes.json b/public/language/id/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/id/admin/appearance/themes.json +++ b/public/language/id/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/id/admin/dashboard.json b/public/language/id/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/id/admin/dashboard.json +++ b/public/language/id/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/id/admin/development/logger.json b/public/language/id/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/id/admin/development/logger.json +++ b/public/language/id/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/id/admin/extend/plugins.json b/public/language/id/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/id/admin/extend/plugins.json +++ b/public/language/id/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/id/admin/extend/rewards.json b/public/language/id/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/id/admin/extend/rewards.json +++ b/public/language/id/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/id/admin/extend/widgets.json b/public/language/id/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/id/admin/extend/widgets.json +++ b/public/language/id/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/id/admin/manage/admins-mods.json b/public/language/id/admin/manage/admins-mods.json index 8e322def29..e3c1d5eff8 100644 --- a/public/language/id/admin/manage/admins-mods.json +++ b/public/language/id/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrator", "global-moderators": "Moderator Global", "moderators": "Moderators", "no-global-moderators": "Tidak ada Moderator Global", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Tidak ada Moderator", "add-administrator": "Tambah Administrator", "add-global-moderator": "Tambah Moderator Global", diff --git a/public/language/id/admin/manage/categories.json b/public/language/id/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/id/admin/manage/categories.json +++ b/public/language/id/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/id/admin/manage/groups.json b/public/language/id/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/id/admin/manage/groups.json +++ b/public/language/id/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/id/admin/manage/privileges.json b/public/language/id/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/id/admin/manage/privileges.json +++ b/public/language/id/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/id/admin/manage/tags.json b/public/language/id/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/id/admin/manage/tags.json +++ b/public/language/id/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/id/admin/manage/uploads.json b/public/language/id/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/id/admin/manage/uploads.json +++ b/public/language/id/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/id/admin/manage/users.json b/public/language/id/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/id/admin/manage/users.json +++ b/public/language/id/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/id/admin/menu.json b/public/language/id/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/id/admin/menu.json +++ b/public/language/id/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/id/admin/settings/api.json b/public/language/id/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/id/admin/settings/api.json +++ b/public/language/id/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/id/admin/settings/general.json b/public/language/id/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/id/admin/settings/general.json +++ b/public/language/id/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/id/admin/settings/guest.json b/public/language/id/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/id/admin/settings/guest.json +++ b/public/language/id/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/id/admin/settings/navigation.json b/public/language/id/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/id/admin/settings/navigation.json +++ b/public/language/id/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/id/admin/settings/post.json b/public/language/id/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/id/admin/settings/post.json +++ b/public/language/id/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/id/admin/settings/reputation.json b/public/language/id/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/id/admin/settings/reputation.json +++ b/public/language/id/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/id/admin/settings/social.json b/public/language/id/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/id/admin/settings/social.json +++ b/public/language/id/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/id/admin/settings/tags.json b/public/language/id/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/id/admin/settings/tags.json +++ b/public/language/id/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/id/admin/settings/user.json b/public/language/id/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/id/admin/settings/user.json +++ b/public/language/id/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/id/error.json b/public/language/id/error.json index 7004b379fe..a5c4c74ff2 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Username terlalu pendek", diff --git a/public/language/id/global.json b/public/language/id/global.json index dc07b8ef33..fbd9df6b84 100644 --- a/public/language/id/global.json +++ b/public/language/id/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Kamu sudah login", "save_changes": "Menyimpan perubahan", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Tutup", "pagination": "Halaman", diff --git a/public/language/id/modules.json b/public/language/id/modules.json index ebf21e53b0..551ef4ac4f 100644 --- a/public/language/id/modules.json +++ b/public/language/id/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Berbincang dengan", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/id/pages.json b/public/language/id/pages.json index 352a54bc07..c1ed0e5bd6 100644 --- a/public/language/id/pages.json +++ b/public/language/id/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online Users", "users/latest": "Latest Users", "users/sort-posts": "Users with the most posts", diff --git a/public/language/id/themes/harmony.json b/public/language/id/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/id/themes/harmony.json +++ b/public/language/id/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/id/topic.json b/public/language/id/topic.json index 7b66f986fa..add9fd3e79 100644 --- a/public/language/id/topic.json +++ b/public/language/id/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Membalas ke %1", "composer.new_topic": "Topik Baru", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "mengunggah...", "composer.thumb_url_label": "Tempelkan URL gambar mini topik", "composer.thumb_title": "Tambah gambar mini untuk topik ini", diff --git a/public/language/id/user.json b/public/language/id/user.json index 6e4e9647ea..5a759613f4 100644 --- a/public/language/id/user.json +++ b/public/language/id/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/id/users.json b/public/language/id/users.json index 2078c6d4a6..869bc78a80 100644 --- a/public/language/id/users.json +++ b/public/language/id/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Pencarian", "enter_username": "Masukkan nama pengguna untuk mencari", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Tampilkan Lebih Banyak", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", "filter-by": "Filter By", diff --git a/public/language/it/admin/admin.json b/public/language/it/admin/admin.json index abd39a3f27..549a8457c6 100644 --- a/public/language/it/admin/admin.json +++ b/public/language/it/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Pannello di controllo amministratore NodeBB", "settings-header-contents": "Contenuti", + "changes-saved": "Modifiche salvate", + "changes-saved-message": "Le tue modifiche alla configurazione di NodeBB sono state salvate.", "changes-not-saved": "Modifiche non salvate", - "changes-not-saved-message": "NodeBB ha incontrato un problema nel salvare le tue modifiche. (%1)" + "changes-not-saved-message": "NodeBB ha incontrato un problema nel salvare le tue modifiche. (%1)", + "save-changes": "Salva le modifiche", + "min": "Min:", + "max": "Max:", + "view": "Visualizza", + "edit": "Modifica" } \ No newline at end of file diff --git a/public/language/it/admin/advanced/cache.json b/public/language/it/admin/advanced/cache.json index 2a023ace90..0ea2fbed9c 100644 --- a/public/language/it/admin/advanced/cache.json +++ b/public/language/it/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Cache Post", "group-cache": "Cache di gruppo", "local-cache": "Cache locale", diff --git a/public/language/it/admin/advanced/database.json b/public/language/it/admin/advanced/database.json index ca0a1cb8aa..69e3f4bcfc 100644 --- a/public/language/it/admin/advanced/database.json +++ b/public/language/it/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Tempo di caricamento in secondi", "uptime-days": "Tempo di caricamento in giorni", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Versione MongoDB", "mongo.storage-engine": "Motore di archiviazione", "mongo.collections": "Collezioni", diff --git a/public/language/it/admin/advanced/errors.json b/public/language/it/admin/advanced/errors.json index aff94ff327..2a915e8ed2 100644 --- a/public/language/it/admin/advanced/errors.json +++ b/public/language/it/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errori", "figure-x": "Figura %1", "error-events-per-day": "%1 eventi per giorno", "error.404": "404 Non trovato", diff --git a/public/language/it/admin/appearance/customise.json b/public/language/it/admin/appearance/customise.json index 6e03598ce8..b8990fa7f7 100644 --- a/public/language/it/admin/appearance/customise.json +++ b/public/language/it/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Personalizza", "custom-css": "CSS/SASS personalizzato", "custom-css.description": "Inserisci qui le tue dichiarazioni CSS/SASS, che saranno applicate dopo tutti gli altri stili.", "custom-css.enable": "Abilita CSS/SASS personalizzato", @@ -12,5 +13,8 @@ "custom-header.enable": "Abilita Intestazione personalizzata", "custom-css.livereload": "Abilita Ricarica Istantanea", - "custom-css.livereload.description": "Abilitala per forzare tutte le sessioni su ogni dispositivo sotto il tuo account ad aggiornarsi ogni volta che si fa clic su Salva" + "custom-css.livereload.description": "Abilitala per forzare tutte le sessioni su ogni dispositivo sotto il tuo account ad aggiornarsi ogni volta che si fa clic su Salva", + "bsvariables": "_variables.scss", + "bsvariables.description": "Sovrascrivi qui le variabili di bootstrap. Puoi anche usare uno strumento come bootstrap.build e incollare qui il risultato.
Le modifiche richiedono una ricostruzione e un riavvio.", + "bsvariables.enable": "Abilita _variables.scss" } \ No newline at end of file diff --git a/public/language/it/admin/appearance/skins.json b/public/language/it/admin/appearance/skins.json index fee91909b9..b948545053 100644 --- a/public/language/it/admin/appearance/skins.json +++ b/public/language/it/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skin", + "bootswatch-skins": "Skin Bootswatch", + "custom-skins": "Skin personalizzate", + "add-skin": "Aggiungi Skin", + "save-custom-skins": "Salvare Skin personalizzate", + "save-custom-skins-success": "Skin personalizzate salvate con successo", + "custom-skin-name": "Nome skin personalizzato", + "custom-skin-variables": "Variabili skin personalizzate", "loading": "Caricamento Skin...", "homepage": "Pagina Iniziale", "select-skin": "Seleziona la Skin", + "revert-skin": "Ripristina skin", "current-skin": "Skin corrente", "skin-updated": "Skin aggiornata", "applied-success": "%1 skin è stata applicata con successo", diff --git a/public/language/it/admin/appearance/themes.json b/public/language/it/admin/appearance/themes.json index 27ab006674..1f8166cb5f 100644 --- a/public/language/it/admin/appearance/themes.json +++ b/public/language/it/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Temi", "checking-for-installed": "Verifica dei temi installati.....", "homepage": "Pagina Iniziale", "select-theme": "Seleziona Tema", + "revert-theme": "Ripristina tema", "current-theme": "Tema corrente", "no-themes": "Nessun tema installato trovato", "revert-confirm": "Sei sicuro di voler ripristinare al tema predefinito di NodeBB?", diff --git a/public/language/it/admin/dashboard.json b/public/language/it/admin/dashboard.json index 85e3c0aede..7a9535a418 100644 --- a/public/language/it/admin/dashboard.json +++ b/public/language/it/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Aggiornamenti", "running-version": "Stai eseguendo NodeBB v%1.", "keep-updated": "Assicurati sempre che il tuo NodeBB sia aggiornato con le ultime patch di sicurezza e correzioni per bug.", - "up-to-date": "

Seiaggiornato

", - "upgrade-available": "

È stata rilasciata una nuova versione (v%1). Considera di aggiornare il tuo NodeBB.

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

Questa è una versione pre-release sorpassata di NodeBB. È stata rilasciata una nuova versione (v%1). Considerare di aggiornare il tuo NodeBB.

", - "prerelease-warning": "

Questa è una versione pre-release di NodeBB. Possono verificarsi bug non intenzionali.

", + "up-to-date": "Sei aggiornato ", + "upgrade-available": "È stata rilasciata una nuova versione (v%1). Considera l'aggiornamento del tuo NodeBB.", + "prerelease-upgrade-available": "Questa è una versione preliminare obsoleta di NodeBB. È stata rilasciata una nuova versione (v%1). Considera l'aggiornamento del tuo NodeBB.", + "prerelease-warning": "Questa è una versione preliminare di NodeBB. Potrebbero verificarsi bug indesiderati. ", "fallback-emailer-not-found": "Email di recupero non trovata!", - "running-in-development": "Forum è in esecuzione in modalità sviluppo. Il forum potrebbe essere aperto a potenziali vulnerabilità; si prega di contattare il proprio amministratore di sistema.", - "latest-lookup-failed": "

Ricerca dell'ultima versione disponibile di NodeBB non riuscita

", + "running-in-development": "Il forum è in esecuzione in modalità di sviluppo. Il forum può essere aperto a potenziali vulnerabilità; si prega di contattare l'amministratore di sistema", + "latest-lookup-failed": "Impossibile cercare l'ultima versione disponibile di NodeBB", "notices": "Annunci", "restart-not-required": "Riavvio non richiesto", diff --git a/public/language/it/admin/development/logger.json b/public/language/it/admin/development/logger.json index 2e3d19ccd7..4a773d1340 100644 --- a/public/language/it/admin/development/logger.json +++ b/public/language/it/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Registratore", "logger-settings": "Impostazioni del Registratore", "description": "Abilitando le caselle di controllo, riceverai i registri sul tuo terminale. Se specifichi un percorso, i registri saranno invece salvati in un file. La registrazione HTTP è utile per raccogliere statistiche su chi, quando e quali persone accedono al tuo forum. Oltre a registrare le richieste HTTP, possiamo anche registrare gli eventi socket.io. La registrazione Socket.io, in combinazione con il monitoraggio redis-cli, può essere molto utile per l'apprendimento dell'interno di NodeBBB.", "explanation": "È sufficiente selezionare/deselezionare le impostazioni di registrazione per abilitare o disabilitare la registrazione al volo. Non è necessario riavviare.", diff --git a/public/language/it/admin/extend/plugins.json b/public/language/it/admin/extend/plugins.json index c5841b2ad2..1aa54ae856 100644 --- a/public/language/it/admin/extend/plugins.json +++ b/public/language/it/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugin", "trending": "Di tendenza", "installed": "Installato", "active": "Attivo", diff --git a/public/language/it/admin/extend/rewards.json b/public/language/it/admin/extend/rewards.json index 7778999fbd..87ac281d6a 100644 --- a/public/language/it/admin/extend/rewards.json +++ b/public/language/it/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Premi", + "add-reward": "Aggiungi premio", "condition-if-users": "Se l'utente", "condition-is": "È:", "condition-then": "Allora:", "max-claims": "Numero di volte che il premio è reclamabile", "zero-infinite": "Inserisci 0 per infinito", + "select-reward": "Seleziona premio", "delete": "Elimina", "enable": "Abilita", "disable": "Disabilita", diff --git a/public/language/it/admin/extend/widgets.json b/public/language/it/admin/extend/widgets.json index e538963574..9b69cc35f4 100644 --- a/public/language/it/admin/extend/widgets.json +++ b/public/language/it/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widget", "available": "Widget disponibili", "explanation": "Selezionare un widget dal menu a discesa e poi trascinalo e rilascialo nell'area widget di un modello a sinistra.", "none-installed": "Nessun widget trovato! Attivare il plugin essenziale per i widget nel pannello di controllo dei plugin.", diff --git a/public/language/it/admin/manage/admins-mods.json b/public/language/it/admin/manage/admins-mods.json index 076b8d9043..9ecf11548d 100644 --- a/public/language/it/admin/manage/admins-mods.json +++ b/public/language/it/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Gestisci amministratori e mod", "administrators": "Amministratori", "global-moderators": "Moderatori Globali", "moderators": "Moderatori", "no-global-moderators": "Nessun Moderatore Globale", "no-sub-categories": "Nessuna sottocategoria", - "subcategories": "%1 sottocategorie", + "view-children": "Visualizza figli (%1)", "no-moderators": "Nessun Moderatore", "add-administrator": "Aggiungi Amministratore", "add-global-moderator": "Aggiungi Moderatore Globale", diff --git a/public/language/it/admin/manage/categories.json b/public/language/it/admin/manage/categories.json index b46897636f..8c0f4d0347 100644 --- a/public/language/it/admin/manage/categories.json +++ b/public/language/it/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Gestisci categorie", + "add-category": "Aggiungi categoria", + "jump-to": "Vai a...", "settings": "Impostazioni Categoria", + "edit-category": "Modifica categoria", "privileges": "Privilegi", - + "back-to-categories": "Torna alle categorie", "name": "Nome Categoria", "description": "Descrizione categoria", "bg-color": "Colore sfondo", @@ -15,8 +19,11 @@ "post-queue": "Coda post", "tag-whitelist": "Whitelist tag", "upload-image": "Caricamento Immagine", + "upload": "Carica", + "select-icon": "Seleziona icona", "delete-image": "Rimuove", "category-image": "Immagine di Categoria", + "image-and-icon": "Immagine e icona", "parent-category": "Categoria Padre", "optional-parent-category": "Categoria Padre (Opzionale)", "top-level": "Livello superiore", @@ -31,6 +38,7 @@ "disable": "Disabilita", "edit": "Modifica", "analytics": "Analitica", + "view-category": "Visualizza categoria", "set-order": "Imposta ordine", "set-order-help": "L'impostazione dell'ordine della categoria sposterà questa categoria in quell'ordine e aggiornerà l'ordine delle altre categorie, se necessario. L'ordine minimo è 1 che mette la categoria in cima.", diff --git a/public/language/it/admin/manage/groups.json b/public/language/it/admin/manage/groups.json index 5d64c0d44e..11363639ed 100644 --- a/public/language/it/admin/manage/groups.json +++ b/public/language/it/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Gestisci gruppi", + "add-group": "Aggiungi gruppo", + "edit-group": "Modifica gruppo", + "back-to-groups": "Torna ai gruppi", + "view-group": "Visualizza gruppo", + "icon-and-title": "Icona e titolo", "name": "Nome del gruppo", "badge": "Badge", "properties": "Proprieta", @@ -10,7 +16,7 @@ "edit": "Modifica", "delete": "Cancella", "privileges": "Privilegi", - "download-csv": "CSV", + "members-csv": "Membri (CSV)", "search-placeholder": "Cerca", "create": "Crea Gruppo", "description-placeholder": "Una breve descrizione del tuo gruppo", diff --git a/public/language/it/admin/manage/privileges.json b/public/language/it/admin/manage/privileges.json index e2e904537b..9b34dd9889 100644 --- a/public/language/it/admin/manage/privileges.json +++ b/public/language/it/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Gestisci privilegi", + "discard-changes": "Annulla le modifiche", "global": "Globale", "admin": "Amministratore", "group-privileges": "Privilegi di gruppo", diff --git a/public/language/it/admin/manage/tags.json b/public/language/it/admin/manage/tags.json index 836d2b525e..49b7898070 100644 --- a/public/language/it/admin/manage/tags.json +++ b/public/language/it/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Gestisci tag", "none": "Il tuo forum non ha ancora discussioni con tag.", "bg-color": "Colore di sfondo", "text-color": "Colore del testo", "description": "Seleziona i tag facendo clic o trascinando, utilizza CTRL per selezionare più tag.", "create": "Crea tag", + "add-tag": "Aggiungi Tag", "modify": "Modifica i tag", "rename": "Rinomina i tag", "delete": "Elimina i tag selezionati", diff --git a/public/language/it/admin/manage/uploads.json b/public/language/it/admin/manage/uploads.json index 5d992eec52..5f40192943 100644 --- a/public/language/it/admin/manage/uploads.json +++ b/public/language/it/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Gestisci caricamenti", "upload-file": "Carica file", "filename": "Nome file", "usage": "Uso post", diff --git a/public/language/it/admin/manage/users.json b/public/language/it/admin/manage/users.json index 3c9d678bef..334b721ef9 100644 --- a/public/language/it/admin/manage/users.json +++ b/public/language/it/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Gestisci utenti", "users": "Utenti", "edit": "Azioni", "make-admin": "Crea Amministratore", @@ -22,7 +23,7 @@ "invite": "Invita via email", "new": "Nuovo utente", "filter-by": "Filtra per", - "pills.unvalidated": "Non Validato", + "pills.unvalidated": "Non convalidato", "pills.validated": "Convalidato", "pills.banned": "Bannato", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(nessuna email)", + "users.validated": "Convalidato", + "users.not-validated": "Non convalidato", + "users.validation-pending": "In attesa di convalida", + "users.validation-expired": "Convalida scaduta", "users.ip": "IP", "users.postcount": "numero di post", "users.reputation": "reputazione", diff --git a/public/language/it/admin/menu.json b/public/language/it/admin/menu.json index 54c2f69bcc..6cfa55b521 100644 --- a/public/language/it/admin/menu.json +++ b/public/language/it/admin/menu.json @@ -17,7 +17,7 @@ "manage/post-queue": "Coda post", "manage/groups": "Gruppi", "manage/ip-blacklist": "Lista degli IP bloccati", - "manage/uploads": "Uploads", + "manage/uploads": "Caricamenti", "manage/digest": "Riepilogo", "section-settings": "Impostazioni", @@ -29,7 +29,7 @@ "settings/user": "Utenti", "settings/group": "Gruppi", "settings/guest": "Ospiti", - "settings/uploads": "Uploads", + "settings/uploads": "Caricamenti", "settings/languages": "Lingue", "settings/post": "Post", "settings/chat": "Chat", @@ -48,7 +48,7 @@ "section-appearance": "Stile", "appearance/themes": "Themi", - "appearance/skins": "Skins", + "appearance/skins": "Skin", "appearance/customise": "Contenuto Personalizato (HTML/JS/CSS)", "section-extend": "Estendere", @@ -58,7 +58,7 @@ "section-social-auth": "Autenticazione Social", - "section-plugins": "Plugins", + "section-plugins": "Plugin", "extend/plugins.install": "Installazione Plugin", "section-advanced": "Avanzato", @@ -72,7 +72,9 @@ "development/info": "Informazioni", "rebuild-and-restart-forum": "Rebuild & Riavvia Forum", + "rebuild-and-restart": "Ricostruisci e riavvia", "restart-forum": "Riavvia Forum", + "restart": "Riavvio", "logout": "Esci", "view-forum": "Vista Forum", diff --git a/public/language/it/admin/settings/api.json b/public/language/it/admin/settings/api.json index fc7bf8aec7..86a6c83b9d 100644 --- a/public/language/it/admin/settings/api.json +++ b/public/language/it/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Impostazioni", "lead-text": "Da questa pagina è possibile configurare l'accesso alle API di scrittura in NodeBB.", "intro": "Per impostazione predefinita, l'API di scrittura autentica gli utenti in base al cookie di sessione, ma NodeBB supporta anche l'autenticazione Bearer tramite token generati tramite questa pagina.", + "warning": "Attenzione — trattare i token come password. Se sono trapelati, il tuo account dovrebbe essere considerato compromesso.", "docs": "Clicca qui per accedere alle specifiche complete dell'API", "require-https": "Richiedi utilizzo API solo tramite HTTPS", "require-https-caveat": "Nota:Alcune installazioni che coinvolgono bilanciatori del carico possono inviare tramite proxy le loro richieste a NodeBB utilizzando HTTP, nel qual caso questa opzione dovrebbe rimanere disabilitata.", "uid": "ID utente", + "token": "Token", "uid-help-text": "Specificare un ID utente da associare a questo token. Se l'ID utente è 0, sarà considerato un token master, che può assumere l'identità di altri utenti in base al parametro _uid", "description": "Descrizione", - "last-seen-ago": "Ultimo utilizzo .", - "last-seen-on": "Ultimo utilizzo il .", + "last-seen": "Ultimo visto", + "created": "Creato", + "create-token": "Crea token", + "update-token": "Aggiorna token", + "master-token": "Token principale", "last-seen-never": "Questa chiave non è mai stata usata.", "no-description": "Nessuna descrizione specificata.", - "token-on-save": "Il token sarà generato una volta salvato il modulo" + "actions": "Azioni", + "edit": "Modifica", + "roll": "Rigenerare", + + "delete-confirm": "Sei sicuro di voler eliminare questo token? Non sarà recuperabile.", + "roll-confirm": "Sei sicuro di voler rigenerare questo token? Il vecchio token sarà immediatamente revocato e non sarà recuperabile." } \ No newline at end of file diff --git a/public/language/it/admin/settings/general.json b/public/language/it/admin/settings/general.json index c556adf46c..487414a983 100644 --- a/public/language/it/admin/settings/general.json +++ b/public/language/it/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "Impostazioni generali", + "on-this-page": "In questa pagina:", "site-settings": "Impostazioni Sito", "title": "Titolo Sito", "title.short": "Titolo abbreviato", "title.short-placeholder": "Se non specifichi un titolo abbreviato, verrà utilizzato il titolo completo", "title.url": "Link URL Titolo", "title.url-placeholder": "L'URL del titolo del sito", - "title.url-help": "Quando il titolo viene cliccato, invia gli utenti a questo indirizzo. Se lasciato vuoto, l'utente sarà inviato all'indice del forum.
Nota: Questo non è l'URL esterno usato nelle email, ecc. Questo è impostato dalla proprietà url in config.json", + "title.url-help": "Quando si fa clic sul titolo, inviare gli utenti a questo indirizzo. Se lasciato vuoto, l'utente sarà inviato all'indice del forum. Nota: Non si tratta dell'URL esterno utilizzato nelle email, ecc. Questo è impostato dalla proprietà url in config.json", "title.name": "Il Nome della Comunità", "title.show-in-header": "Mostra Titolo Sito nell'Intestazione", "browser-title": "Titolo Browser", @@ -16,7 +18,7 @@ "description": "Descrizione del sito", "keywords": "Parole chiave del sito", "keywords-placeholder": "Parole chiave che descrivono la vostra comunità, separate da virgole", - "logo": "Logo del sito", + "logo-and-icons": "Logo e icone del sito", "logo.image": "Immagine", "logo.image-placeholder": "Percorso del logo da visualizzare sull'intestazione del forum", "logo.upload": "Carica", diff --git a/public/language/it/admin/settings/guest.json b/public/language/it/admin/settings/guest.json index 273aa7bf3f..6798438054 100644 --- a/public/language/it/admin/settings/guest.json +++ b/public/language/it/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Impostazioni", + "guest-settings": "Impostazioni dell'ospite", "handles.enabled": "Consenti nome utente ospite", "handles.enabled-help": "Questa opzione mostra un nuovo campo che permette agli ospiti di scegliere un nome da associare ad ogni post che fanno. Se disabilitata, saranno semplicemente chiamati \"Ospite\".", "topic-views.enabled": "Consentire agli ospiti di aumentare il numero di visualizzazioni della discussione", diff --git a/public/language/it/admin/settings/navigation.json b/public/language/it/admin/settings/navigation.json index 6fea607018..c422cefc0d 100644 --- a/public/language/it/admin/settings/navigation.json +++ b/public/language/it/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigazione", "icon": "Icona:", "change-icon": "modifica", "route": "Percorso:", diff --git a/public/language/it/admin/settings/post.json b/public/language/it/admin/settings/post.json index 76cd524c6b..fa1ba18af2 100644 --- a/public/language/it/admin/settings/post.json +++ b/public/language/it/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "Generale", "sorting": "Ordinamento Post", "sorting.post-default": "Ordinamento Post Predefinito", "sorting.oldest-to-newest": "Dal meno recente al più recente", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Numero di secondi per i quali il post rimane modificabile (imposta a 0 per disabilitare)", "restrictions.seconds-delete-after": "Numero di secondi per i quali il post rimane cancellabile (imposta a 0 per disabilitare)", "restrictions.replies-no-delete": "Numero di risposte dopo le quali l'utente non può più cancellare le proprie discussioni (imposta a 0 per disabilitare)", - "restrictions.min-title-length": "Lunghezza Minima Titolo", - "restrictions.max-title-length": "Lunghezza Massima Titolo", - "restrictions.min-post-length": "Lunghezza Minima Post", - "restrictions.max-post-length": "Lunghezza Massima Post", + "restrictions.title-length": "Lunghezza titolo", + "restrictions.post-length": "Lunghezza post", "restrictions.days-until-stale": "Giorni prima che l'argomento sia considerato vecchio", "restrictions.stale-help": "Se un argomento è considerato \"non aggiornato\", verrà mostrato un avviso agli utenti che tentano di rispondere a tale argomento.", "timestamp": "Data e Ora", @@ -41,10 +40,9 @@ "teaser.last-reply": "Ultimo – Mostra l'ultima risposta o un segnaposto \"Nessuna risposta\" se non risposto", "teaser.first": "Primo", "showPostPreviewsOnHover": "Mostra un'anteprima dei post quando il mouse ci passa sopra", - "unread": "Impostazioni non Lette", + "unread-and-recent": "Impostazioni Non letti e Recenti", "unread.cutoff": "Giorni di interruzione non letti", "unread.min-track-last": "Post minimi nell'argomento prima del monitoraggio dell'ultima lettura", - "recent": "Impostazioni Recenti", "recent.max-topics": "Numero massimo di discussioni in atto/recenti", "recent.categoryFilter.disable": "Disabilita il filtro delle discussioni nelle categorie ignorate nella /pagina recente", "signature": "Impostazioni della Firma", diff --git a/public/language/it/admin/settings/reputation.json b/public/language/it/admin/settings/reputation.json index e98fc9bcec..c751b2badb 100644 --- a/public/language/it/admin/settings/reputation.json +++ b/public/language/it/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Esegui le seguenti operazioni quando una segnalazione viene risolta", "flags.action-on-reject": "Esegui le seguenti operazioni quando una segnalazione viene rifiutata", "flags.action.nothing": "Non fare nulla", - "flags.action.rescind": "Annulla l'invio della notifica ai moderatori/amministratori" + "flags.action.rescind": "Annulla la notifica inviata ai moderatori/amministratori" } \ No newline at end of file diff --git a/public/language/it/admin/settings/social.json b/public/language/it/admin/settings/social.json index 0a2eeb5181..d4dd33b59b 100644 --- a/public/language/it/admin/settings/social.json +++ b/public/language/it/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Condivisione Post", - "info-plugins-additional": "I plugin possono aggiungere reti aggiuntive per la condivisione dei post.", - "save-success": "Salvato con successo Reti Condivisione Post!" + "info-plugins-additional": "I plugin possono aggiungere reti aggiuntive per la condivisione dei post." } \ No newline at end of file diff --git a/public/language/it/admin/settings/tags.json b/public/language/it/admin/settings/tags.json index aa2cf0e354..0f9edcd307 100644 --- a/public/language/it/admin/settings/tags.json +++ b/public/language/it/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Gestisci tag", "system-tags": "Tag del sistema", "system-tags-help": "Solo gli utenti privilegiati potranno usare questi tag.", + "tags-per-topic": "Tag per discussione", "min-per-topic": "Tag minimi per discussione", "max-per-topic": "Tag massimi per discussione", "min-length": "Lunghezza minima tag", diff --git a/public/language/it/admin/settings/uploads.json b/public/language/it/admin/settings/uploads.json index 0c67ddd9c9..bf09fdd0dc 100644 --- a/public/language/it/admin/settings/uploads.json +++ b/public/language/it/admin/settings/uploads.json @@ -29,9 +29,9 @@ "upload-limit-threshold-per-minutes": "Per %1 minuti", "profile-avatars": "Avatar del Profilo", "allow-profile-image-uploads": "Abilita gli utenti ad effettuare il caricamento delle immagini nel profilo", - "convert-profile-image-png": "Converti l'immagine del profilo a PNG", + "convert-profile-image-png": "Converti in PNG l'immagine caricata per il profilo", "default-avatar": "Personalizzazione Predefinita Avatar", - "upload": "Caricamento", + "upload": "Carica", "profile-image-dimension": "Dimensione Immagine del profilo", "profile-image-dimension-help": "(in pixel, predefinito: 128 pixel)", "max-profile-image-size": "Dimensione Massima Immagine del Profile", diff --git a/public/language/it/admin/settings/user.json b/public/language/it/admin/settings/user.json index b6c27f03cc..0c58ef90e7 100644 --- a/public/language/it/admin/settings/user.json +++ b/public/language/it/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Massima Lunghezza Riguardo a Me", "terms-of-use": "Termini di Utilizzo del Forum (Lasciare vuoto per disabilitare)", "user-search": "Ricerca Utente", - "user-search-results-per-page": "Numero di risultati per visualizzazioni", + "user-search-results-per-page": "Numero di utenti da visualizzare nei risultati di ricerca", "default-user-settings": "Impostazioni Utente Predefinite", "show-email": "Mostra email ", "show-fullname": "Mostra nome completo", diff --git a/public/language/it/error.json b/public/language/it/error.json index 1dd44a3a88..bca3af9820 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "L'utente \"%1\" non ha impostato 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.", + "confirm-email-expired": "Email di conferma scaduta", "sendmail-not-found": "Impossibile trovare l'eseguibile di sendmail, per favore assicurati che sia installato ed eseguibile dall'utente che esegue NodeBB.", "digest-not-enabled": "Questo utente non ha riepiloghi attivi o l'impostazione predefinita del sistema non è configurata per l'invio di riepiloghi", "username-too-short": "Nome utente troppo corto", @@ -60,7 +61,7 @@ "no-post": "Il Post non esiste", "no-group": "Il Gruppo non esiste", "no-user": "L'Utente non esiste", - "no-teaser": "Teaser non esiste", + "no-teaser": "L'anteprima non esiste", "no-flag": "Segnalazione non esiste", "no-chat-room": "La stanza chat non esiste", "no-privileges": "Non hai abbastanza privilegi per questa azione.", @@ -97,7 +98,7 @@ "too-many-tags": "Troppi Tag. Le discussioni non possono avere più di %1 Tag", "cant-use-system-tag": "Non puoi usare questo tag di sistema.", "cant-remove-system-tag": "Non puoi rimuovere questo tag di sistema.", - "still-uploading": "Per favore attendere il completamento degli uploads.", + "still-uploading": "Per favore attendi il completamento dei caricamenti.", "file-too-big": "La dimensione massima consentita è di %1 kB - si prega di caricare un file più piccolo", "guest-upload-disabled": "Il caricamento da ospite è stato disattivato", "cors-error": "Impossibile caricare immagine a causa di CORS non configurato opportunamente", @@ -145,7 +146,7 @@ "cant-purge-main-post": "Non puoi eliminare definitivamente il post principale, per favore elimina invece la discussione", "topic-thumbnails-are-disabled": "Le miniature della Discussione sono disabilitate.", "invalid-file": "File non valido", - "uploads-are-disabled": "Uploads disabilitati", + "uploads-are-disabled": "Caricamenti disabilitati", "signature-too-long": "Spiacenti, la tua firma non può essere più lunga di %1 caratteri.", "about-me-too-long": "Spiacenti, il testo non può essere più lungo di %1 caratteri.", "cant-chat-with-yourself": "Non puoi chattare con te stesso!", diff --git a/public/language/it/global.json b/public/language/it/global.json index a45fe7e2f4..235fa2c35f 100644 --- a/public/language/it/global.json +++ b/public/language/it/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Accesso effettuato con successo", "save_changes": "Salva Modifiche", "save": "Salva", + "create": "Crea", "cancel": "Annulla", "close": "Chiudi", "pagination": "Impaginazione", @@ -121,7 +122,7 @@ "enter_page_number": "Inserisci il numero della pagina", "upload_file": "Carica file", "upload": "Carica", - "uploads": "Caricati", + "uploads": "Caricamenti", "allowed-file-types": "Le estensioni permesse dei file sono %1", "unsaved-changes": "Hai delle modifiche non salvate. Sei sicuro che vuoi lasciare la pagina?", "reconnecting-message": "Sembra che la tua connessione a %1 sia stata persa, per favore attendi mentre proviamo a riconnetterti.", diff --git a/public/language/it/modules.json b/public/language/it/modules.json index 9ab8e7df84..417a5faf5d 100644 --- a/public/language/it/modules.json +++ b/public/language/it/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Messaggia con", "chat.placeholder": "Digita il messaggio di chat qui, trascina le immagini, premi invio per inviare", "chat.placeholder.mobile": "Digita il messaggio di chat qui", - "chat.scroll-up-alert": "Stai guardando i messaggi più vecchi, clicca qui per andare al messaggio più recente.", + "chat.scroll-up-alert": "Vai al messaggio più recente", "chat.usernames-and-x-others": "%1 & %2 altri", "chat.chat-with-usernames": "Chatta con %1", "chat.chat-with-usernames-and-x-others": "Chatta con %1 e altri %2", diff --git a/public/language/it/pages.json b/public/language/it/pages.json index 0952533bd5..b382c770c6 100644 --- a/public/language/it/pages.json +++ b/public/language/it/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Contenuti Segnalati", "ip-blacklist": "Blacklist degli IP", "post-queue": "Coda post", + "registration-queue": "Coda di registrazione", "users/online": "Utenti Online", "users/latest": "Ultimi Utenti", "users/sort-posts": "Utenti maggiori contributori", diff --git a/public/language/it/themes/harmony.json b/public/language/it/themes/harmony.json index 57e2def8d3..661a9f7ac5 100644 --- a/public/language/it/themes/harmony.json +++ b/public/language/it/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", - "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "theme-name": "Tema Armonia", + "skins": "Skin", + "collapse": "Collassa", + "expand": "Espandi", + "login-register-to-search": "Accedi o registrati per effettuare la ricerca.", + "settings.title": "Impostazioni tema", + "settings.enableQuickReply": "Abilita risposta rapida", + "settings.centerHeaderElements": "Centra elementi dell'intestazione", + "settings.mobileTopicTeasers": "Mostra le anteprime delle discussioni su mobile", + "settings.stickyToolbar": "Barra degli strumenti adesiva", + "settings.stickyToolbar.help": "La barra degli strumenti nelle pagine delle discussioni e delle categorie si attacca alla parte superiore della pagina.", + "settings.autohideBottombar": "Nascondi automaticamente la barra inferiore", + "settings.autohideBottombar.help": "La barra inferiore nella visualizzazione mobile sarà nascosta quando la pagina viene fatta scorrere verso il basso.", + "settings.chatModals": "Abilita i modali della chat" } \ No newline at end of file diff --git a/public/language/it/themes/persona.json b/public/language/it/themes/persona.json index e7d1945303..f6e027e4f6 100644 --- a/public/language/it/themes/persona.json +++ b/public/language/it/themes/persona.json @@ -1,10 +1,10 @@ { - "settings.title": "Theme settings", - "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", - "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", - "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", - "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", - "settings.autoHidingNavbar-md": "Medium sized screens (e.g. tablets in landscape mode)", - "settings.autoHidingNavbar-lg": "Larger screens (e.g. desktop computers)" + "settings.title": "Impostazioni tema", + "settings.intro": "Puoi personalizzare le impostazioni del tema qui. Le impostazioni sono memorizzate in base al dispositivo, quindi puoi avere impostazioni diverse su dispositivi diversi (telefono, tablet, desktop, ecc.)", + "settings.mobile-menu-side": "Cambia da che parte è attivo ogni menu mobile", + "settings.autoHidingNavbar": "Nascondi automaticamente la barra di navigazione durante lo scorrimento", + "settings.autoHidingNavbar-xs": "Schermi molto piccoli (ad es. telefoni in modalità verticale)", + "settings.autoHidingNavbar-sm": "Schermi più piccoli (ad es. telefoni, alcuni tablet)", + "settings.autoHidingNavbar-md": "Schermi di medie dimensioni (ad es. tablet in modalità orizzontale)", + "settings.autoHidingNavbar-lg": "Schermi più grandi (ad es. computer desktop)" } \ No newline at end of file diff --git a/public/language/it/topic.json b/public/language/it/topic.json index a023a1f113..f947fcb09a 100644 --- a/public/language/it/topic.json +++ b/public/language/it/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Pianifica", "composer.replying_to": "Rispondendo a %1", "composer.new_topic": "Nuova Discussione", - "composer.editing": "Modifica", + "composer.editing-in": "Modifica post in %1", "composer.uploading": "caricamento...", "composer.thumb_url_label": "Incolla l'URL della miniatura per la discussione", "composer.thumb_title": "Aggiungi una miniatura a questa discussione", diff --git a/public/language/it/user.json b/public/language/it/user.json index 5131f2cd49..6c4a4a64ca 100644 --- a/public/language/it/user.json +++ b/public/language/it/user.json @@ -141,6 +141,8 @@ "group-order-help": "Seleziona un gruppo e usa le frecce per ordinare i titoli", "no-group-title": "Nessun titolo al gruppo", "select-skin": "Seleziona uno Skin", + "default": "Predefinito (%1)", + "no-skin": "Nessuna skin", "select-homepage": "Seleziona una Pagina Iniziale", "homepage": "Pagina Iniziale", "homepage_description": "Seleziona una pagina da usare come pagina iniziale o \"Nessuna\" per usare quella di default.", diff --git a/public/language/it/users.json b/public/language/it/users.json index 387ff153fa..cb1ace1cc5 100644 --- a/public/language/it/users.json +++ b/public/language/it/users.json @@ -6,7 +6,7 @@ "most_flags": "Più segnalati", "search": "Cerca", "enter_username": "Inserisci il nome utente da cercare", - "search-user-for-chat": "Cerca un utente per avviare la chat:", + "search-user-for-chat": "Cerca un utente per avviare la chat", "load_more": "Carica di più", "users-found-search-took": "%1 utente(i) trovato! La ricerca ha impiegato %2 secondi.", "filter-by": "Filtra per", diff --git a/public/language/ja/admin/admin.json b/public/language/ja/admin/admin.json index c354d0291f..73676e27a3 100644 --- a/public/language/ja/admin/admin.json +++ b/public/language/ja/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1| NodeBB管理画面", "settings-header-contents": "コンテンツ", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/ja/admin/advanced/cache.json b/public/language/ja/admin/advanced/cache.json index bd02037b88..df01c34cf4 100644 --- a/public/language/ja/admin/advanced/cache.json +++ b/public/language/ja/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "投稿キャッシュ", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/ja/admin/advanced/database.json b/public/language/ja/admin/advanced/database.json index 89ac74de61..0d32032d80 100644 --- a/public/language/ja/admin/advanced/database.json +++ b/public/language/ja/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "秒単位の稼働時間", "uptime-days": "日単位の稼働時間", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDBのバージョン", "mongo.storage-engine": "ストレージエンジン", "mongo.collections": "コレクション", diff --git a/public/language/ja/admin/advanced/errors.json b/public/language/ja/admin/advanced/errors.json index 7ca0092ff5..105c9384aa 100644 --- a/public/language/ja/admin/advanced/errors.json +++ b/public/language/ja/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "%1を見つける", "error-events-per-day": "%1 日あたりのイベント", "error.404": "404 Not Found", diff --git a/public/language/ja/admin/appearance/customise.json b/public/language/ja/admin/appearance/customise.json index 2fcb519cb8..a6611d99ff 100644 --- a/public/language/ja/admin/appearance/customise.json +++ b/public/language/ja/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "カスタムヘッダーを有効にする", "custom-css.livereload": "ライブリロードを有効にする", - "custom-css.livereload.description": "これを有効にすると、保存ボタンをクリックするたびにアカウントのすべてのデバイスのすべてのセッションが強制的に更新されます。" + "custom-css.livereload.description": "これを有効にすると、保存ボタンをクリックするたびにアカウントのすべてのデバイスのすべてのセッションが強制的に更新されます。", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/ja/admin/appearance/skins.json b/public/language/ja/admin/appearance/skins.json index 045a17ecd7..ece69f3932 100644 --- a/public/language/ja/admin/appearance/skins.json +++ b/public/language/ja/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "スキンを読み込んでいます...", "homepage": "ホームページ", "select-skin": "スキン選択", + "revert-skin": "Revert Skin", "current-skin": "現在のスキン", "skin-updated": "スキンがアップデートされました", "applied-success": "スキン %1 が正常に適用されました", diff --git a/public/language/ja/admin/appearance/themes.json b/public/language/ja/admin/appearance/themes.json index 198684fe29..6946dcffa5 100644 --- a/public/language/ja/admin/appearance/themes.json +++ b/public/language/ja/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "インストール済みテーマをチェックしています...", "homepage": "ホームページ", "select-theme": "テーマを選択", + "revert-theme": "Revert Theme", "current-theme": "現在のテーマ", "no-themes": "インストールされたテーマが見つかりませんでした", "revert-confirm": "本当にNodeBBのテーマをデフォルトに復元してもよろしいですか?", diff --git a/public/language/ja/admin/dashboard.json b/public/language/ja/admin/dashboard.json index 1f4f26d5b5..bec6cf5b67 100644 --- a/public/language/ja/admin/dashboard.json +++ b/public/language/ja/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "更新", "running-version": "NodeBB v%1 を実行しています。", "keep-updated": "常に最新のセキュリティパッチとバグ修正のためにNodeBBが最新であることを確認してください。", - "up-to-date": "

あなたは最新の状態です。

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

これはNodeBBのプレリリース版です。意図しないバグが発生することがあります。

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "フォーラムが開発モードで動作しています。フォーラムの動作が脆弱かもしれませんので、管理者に問い合わせてください。", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "通知", "restart-not-required": "再起動は必要ありません", diff --git a/public/language/ja/admin/development/logger.json b/public/language/ja/admin/development/logger.json index 864efda349..3e6943e340 100644 --- a/public/language/ja/admin/development/logger.json +++ b/public/language/ja/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "ロガー設定", "description": "チェックボックスをオンにすると、ターミナルにログが送信されます。パスを指定した場合、ログはファイルに保存されます。HTTPロギングは誰が、いつ、どんなユーザがあなたのフォーラムにアクセスしたかに関する統計を収集するのに便利です。HTTPリクエストだけでなく、socket.ioイベントのロギングをすることもできます。redis-cliモニタと組み合わせたsocket.ioロギングは、NodeBBの内部を学習するのに非常に役立ちます。", "explanation": "ロギング設定をオンまたはオフにするだけで、瞬時にロギングを有効または無効にすることができます。再起動する必要はありません。", diff --git a/public/language/ja/admin/extend/plugins.json b/public/language/ja/admin/extend/plugins.json index 67a7e90ae1..01c36a0ecc 100644 --- a/public/language/ja/admin/extend/plugins.json +++ b/public/language/ja/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "インストール済み", "active": "アクティブ", diff --git a/public/language/ja/admin/extend/rewards.json b/public/language/ja/admin/extend/rewards.json index 72ef6500b8..3c7e0a4d7a 100644 --- a/public/language/ja/admin/extend/rewards.json +++ b/public/language/ja/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "報酬", + "add-reward": "Add reward", "condition-if-users": "ユーザーの", "condition-is": ":", "condition-then": "それから:", "max-claims": "報酬が請求可能な金額", "zero-infinite": "無限に0を入力します。", + "select-reward": "Select reward", "delete": "削除", "enable": "有効", "disable": "無効", diff --git a/public/language/ja/admin/extend/widgets.json b/public/language/ja/admin/extend/widgets.json index c98f530b53..8a409a4652 100644 --- a/public/language/ja/admin/extend/widgets.json +++ b/public/language/ja/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "利用可能なウィジェット", "explanation": "ドロップダウンメニューからウィジェットを選択し、左のテンプレートのウィジェットエリアにドラッグ&ドロップします。", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/ja/admin/manage/admins-mods.json b/public/language/ja/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/ja/admin/manage/admins-mods.json +++ b/public/language/ja/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/ja/admin/manage/categories.json b/public/language/ja/admin/manage/categories.json index 388c342602..9a51f63699 100644 --- a/public/language/ja/admin/manage/categories.json +++ b/public/language/ja/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "カテゴリ設定", + "edit-category": "Edit Category", "privileges": "特権", - + "back-to-categories": "Back to categories", "name": "カテゴリ名", "description": "カテゴリの説明", "bg-color": "背景色", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "画像をアップロード", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "削除", "category-image": "カテゴリ画像", + "image-and-icon": "Image & Icon", "parent-category": "親カテゴリ", "optional-parent-category": "(任意)親カテゴリ", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "無効", "edit": "編集", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/ja/admin/manage/groups.json b/public/language/ja/admin/manage/groups.json index eb01720856..52e3906d04 100644 --- a/public/language/ja/admin/manage/groups.json +++ b/public/language/ja/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "グループ名", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "編集", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "検索", "create": "グループを作成", "description-placeholder": "あなたのグループについての簡単な説明", diff --git a/public/language/ja/admin/manage/privileges.json b/public/language/ja/admin/manage/privileges.json index 857fbec2fe..bcf6b55a33 100644 --- a/public/language/ja/admin/manage/privileges.json +++ b/public/language/ja/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "グローバル", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/ja/admin/manage/tags.json b/public/language/ja/admin/manage/tags.json index 2faef60272..53bc15c5d5 100644 --- a/public/language/ja/admin/manage/tags.json +++ b/public/language/ja/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "あなたのフォーラムにはまだタグが付いていません。", "bg-color": "背景カラー", "text-color": "テキストカラー", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "タグを作成", + "add-tag": "Add tag", "modify": "タグを変更", "rename": "Rename Tags", "delete": "指定されたタグを削除", diff --git a/public/language/ja/admin/manage/uploads.json b/public/language/ja/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/ja/admin/manage/uploads.json +++ b/public/language/ja/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/ja/admin/manage/users.json b/public/language/ja/admin/manage/users.json index 99127f3f8d..e7aa34eed4 100644 --- a/public/language/ja/admin/manage/users.json +++ b/public/language/ja/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "ユーザー", "edit": "Actions", "make-admin": "管理者にする", @@ -49,6 +50,10 @@ "users.username": "ユーザー名", "users.email": "メール", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "投稿カウント", "users.reputation": "評価", diff --git a/public/language/ja/admin/menu.json b/public/language/ja/admin/menu.json index 8769bc3143..09589fd6ae 100644 --- a/public/language/ja/admin/menu.json +++ b/public/language/ja/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "情報", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "フォーラムを再開", + "restart": "Restart", "logout": "ログアウト", "view-forum": "フォーラムを表示", diff --git a/public/language/ja/admin/settings/api.json b/public/language/ja/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/ja/admin/settings/api.json +++ b/public/language/ja/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/ja/admin/settings/general.json b/public/language/ja/admin/settings/general.json index d37f057bc1..9935419dd2 100644 --- a/public/language/ja/admin/settings/general.json +++ b/public/language/ja/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "サイト設定", "title": "サイトタイトル", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "サイトタイトルのURL", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "あなたのコミュニティ名", "title.show-in-header": "ヘッダーにサイトタイトルを表示する", "browser-title": "ブラウザ", @@ -16,7 +18,7 @@ "description": "サイトの説明", "keywords": "サイトのキーワード", "keywords-placeholder": "あなたのコミュニティを記述するキーワード、カンマ区切り", - "logo": "サイトロゴ", + "logo-and-icons": "Site Logo & Icons", "logo.image": "画像", "logo.image-placeholder": "フォーラムのヘッダーに表示するロゴのパス", "logo.upload": "アップロード", diff --git a/public/language/ja/admin/settings/guest.json b/public/language/ja/admin/settings/guest.json index 629e93d809..94efb6ff4a 100644 --- a/public/language/ja/admin/settings/guest.json +++ b/public/language/ja/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "ゲストハンドルを有効にする", "handles.enabled-help": "このオプションでは新しい投稿が表示される時に、ゲストは自分が投稿する各投稿に関連付ける名前を選択できます。無効にすると、単に「ゲスト」と呼ばれます。", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/ja/admin/settings/navigation.json b/public/language/ja/admin/settings/navigation.json index a0ad2436f1..e586e49ea0 100644 --- a/public/language/ja/admin/settings/navigation.json +++ b/public/language/ja/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "アイコン:", "change-icon": "変更", "route": "ルート:", diff --git a/public/language/ja/admin/settings/post.json b/public/language/ja/admin/settings/post.json index 9562312fd7..59316e8df5 100644 --- a/public/language/ja/admin/settings/post.json +++ b/public/language/ja/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "投稿の並び順", "sorting.post-default": "標準のポスト並び順", "sorting.oldest-to-newest": "新しい順に", @@ -23,10 +24,8 @@ "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.min-title-length": "タイトルの最小文字数", - "restrictions.max-title-length": "タイトルの最大文字数", - "restrictions.min-post-length": "投稿の最小文字数", - "restrictions.max-post-length": "投稿の最大文字数", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "スレッドが「古い」とみなされた場合、そのスレッドに返信しようとするユーザーに警告が表示されます。", "timestamp": "タイムスタンプ", @@ -41,10 +40,9 @@ "teaser.last-reply": "最後–最新の返信を表示するか、返信がない場合は「返信なし」のプレースホルダを表示する", "teaser.first": "最初", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "未読の設定", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "未読のカットオフ日", "unread.min-track-last": "最後に読み込みを行う前に追跡するスレッドの最小投稿数", - "recent": "最近の設定", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "最近のページで無視されたカテゴリのトピックのフィルタリングを無効にする", "signature": "署名の設定", diff --git a/public/language/ja/admin/settings/reputation.json b/public/language/ja/admin/settings/reputation.json index 0e3e3dfcd8..db1e9764d5 100644 --- a/public/language/ja/admin/settings/reputation.json +++ b/public/language/ja/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/ja/admin/settings/social.json b/public/language/ja/admin/settings/social.json index 211d840d69..d6dc0e7129 100644 --- a/public/language/ja/admin/settings/social.json +++ b/public/language/ja/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "投稿共有", - "info-plugins-additional": "プラグインは投稿を共有するために追加のネットワークを設定することができます", - "save-success": "投稿共有ネットワークを正常に保存しました!" + "info-plugins-additional": "プラグインは投稿を共有するために追加のネットワークを設定することができます" } \ No newline at end of file diff --git a/public/language/ja/admin/settings/tags.json b/public/language/ja/admin/settings/tags.json index 085327dd72..ea2fbe4fa4 100644 --- a/public/language/ja/admin/settings/tags.json +++ b/public/language/ja/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "スレッドごとの最小タグ数", "max-per-topic": "スレッドごとの最大タグ数", "min-length": "タグの最小文字数", diff --git a/public/language/ja/admin/settings/user.json b/public/language/ja/admin/settings/user.json index 6d15cf9b20..4e4191e1bb 100644 --- a/public/language/ja/admin/settings/user.json +++ b/public/language/ja/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "概要の最大文字数", "terms-of-use": "フォーラム利用規約(空白のままにしておくと無効になります)", "user-search": "ユーザーを検索", - "user-search-results-per-page": "結果数を表示", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "デフォルトユーザー設定", "show-email": "メールを表示", "show-fullname": "フルネームで表示", diff --git a/public/language/ja/error.json b/public/language/ja/error.json index 4aed9dbf33..6dd1b14526 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "メールアドレスの確認が出来ませんでした。再度お試しください。", "confirm-email-already-sent": "確認のメールは既に送信されています。再度送信するには、%1分後に再度お試しください。", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmailの実行ファイルが見つかりませんでした。インストールされ、ユーザーによってNodeBBが実行されていることを確認してください。", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "ユーザー名が短すぎます", diff --git a/public/language/ja/global.json b/public/language/ja/global.json index 9a960c2e4d..c286ed19dc 100644 --- a/public/language/ja/global.json +++ b/public/language/ja/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "ログインできました", "save_changes": "保存する", "save": "保存", + "create": "Create", "cancel": "Cancel", "close": "閉じる", "pagination": "ページ", diff --git a/public/language/ja/modules.json b/public/language/ja/modules.json index 1c4bc0633e..b478224153 100644 --- a/public/language/ja/modules.json +++ b/public/language/ja/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "とチャット", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/ja/pages.json b/public/language/ja/pages.json index 4d42dc1698..5c5872313e 100644 --- a/public/language/ja/pages.json +++ b/public/language/ja/pages.json @@ -14,6 +14,7 @@ "flagged-content": "フラグ付きコンテンツ", "ip-blacklist": "IPブラックリスト", "post-queue": "投稿キュー", + "registration-queue": "Registration Queue", "users/online": "オンラインのユーザー", "users/latest": "最近のユーザー", "users/sort-posts": "ほとんどの投稿を持つユーザー", diff --git a/public/language/ja/themes/harmony.json b/public/language/ja/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/ja/themes/harmony.json +++ b/public/language/ja/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/ja/topic.json b/public/language/ja/topic.json index d227c65724..52befd5df0 100644 --- a/public/language/ja/topic.json +++ b/public/language/ja/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "%1へ返答中", "composer.new_topic": "新規スレッド", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "アップロード中...", "composer.thumb_url_label": "スレッドのサムネイルのURLを入力して", "composer.thumb_title": "スレッドにサムネイルを追加", diff --git a/public/language/ja/user.json b/public/language/ja/user.json index 19a2d47c2a..2eccff9c40 100644 --- a/public/language/ja/user.json +++ b/public/language/ja/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "グループ名がありません", "select-skin": "スキンを選んで下さい", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "ホームページの設定", "homepage": "ホームページ", "homepage_description": "フォーラムのホームに指定するページを選んで下さい。デフォルトのホームページを使用する場合は’None’を選んで下さい。", diff --git a/public/language/ja/users.json b/public/language/ja/users.json index 73c4096d1d..340b38567d 100644 --- a/public/language/ja/users.json +++ b/public/language/ja/users.json @@ -6,7 +6,7 @@ "most_flags": "最も多いフラグ", "search": "検索", "enter_username": "ユーザー名を入力", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "もっと見る", "users-found-search-took": "%1人のユーザーを見つけました!(検索まで%2秒掛かりました。)", "filter-by": "フィルタ", diff --git a/public/language/ko/admin/admin.json b/public/language/ko/admin/admin.json index 8f68581166..eea7e10b16 100644 --- a/public/language/ko/admin/admin.json +++ b/public/language/ko/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB 관리자 제어판", "settings-header-contents": "컨텐츠", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/ko/admin/advanced/cache.json b/public/language/ko/admin/advanced/cache.json index 8b8b37cf3c..30b375ebb4 100644 --- a/public/language/ko/admin/advanced/cache.json +++ b/public/language/ko/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "포스트 캐시", "group-cache": "그룹 캐시", "local-cache": "자체 캐시", diff --git a/public/language/ko/admin/advanced/database.json b/public/language/ko/admin/advanced/database.json index c950133824..56e45e3434 100644 --- a/public/language/ko/admin/advanced/database.json +++ b/public/language/ko/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "초 단위의 가동 시간", "uptime-days": "일간 가동시간", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB 버젼", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/ko/admin/advanced/errors.json b/public/language/ko/admin/advanced/errors.json index 12512e51d4..d318d5c035 100644 --- a/public/language/ko/admin/advanced/errors.json +++ b/public/language/ko/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "그래프 %1", "error-events-per-day": "일일 %1 이벤트 발생 횟수", "error.404": "404 Not Found", diff --git a/public/language/ko/admin/appearance/customise.json b/public/language/ko/admin/appearance/customise.json index 8b8a1e2511..6361d6ea2f 100644 --- a/public/language/ko/admin/appearance/customise.json +++ b/public/language/ko/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "사용자 정의 헤더 활성화", "custom-css.livereload": "실시간 새로고침 허용", - "custom-css.livereload.description": "세이브를 누를 때마다 당신의 계정에 속한 디바이스의 모든 세션들이 새로고침 되게 하려면 이것을 활성화하세요." + "custom-css.livereload.description": "세이브를 누를 때마다 당신의 계정에 속한 디바이스의 모든 세션들이 새로고침 되게 하려면 이것을 활성화하세요.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/ko/admin/appearance/skins.json b/public/language/ko/admin/appearance/skins.json index f365ad8c9e..f5e316555b 100644 --- a/public/language/ko/admin/appearance/skins.json +++ b/public/language/ko/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "스킨 불러오는 중...", "homepage": "홈페이지", "select-skin": "스킨 선택", + "revert-skin": "Revert Skin", "current-skin": "현재 스킨", "skin-updated": "스킨 업데이트 됨", "applied-success": "%1 스킨 적용 완료", diff --git a/public/language/ko/admin/appearance/themes.json b/public/language/ko/admin/appearance/themes.json index a596dc76ef..c1626bc130 100644 --- a/public/language/ko/admin/appearance/themes.json +++ b/public/language/ko/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "설치된 테마 확인 중...", "homepage": "홈페이지", "select-theme": "테마 선택", + "revert-theme": "Revert Theme", "current-theme": "현재 테마", "no-themes": "설치된 테마 없음", "revert-confirm": "정말 NodeBB 기본 테마로 복원하시겠습니까?", diff --git a/public/language/ko/admin/dashboard.json b/public/language/ko/admin/dashboard.json index 87ef63264a..e13e4c3b01 100644 --- a/public/language/ko/admin/dashboard.json +++ b/public/language/ko/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "업데이트", "running-version": "NodeBB v%1를 사용 중입니다.", "keep-updated": "사용 중인 NodeBB의 보안 및 오류 해결을 위해 항상 최신 버전으로 유지하세요.", - "up-to-date": "

최신 버전입니다

", - "upgrade-available": "

새로운 버전(v%1)이 출시되었습니다. 사용중인 NodeBB의 업데이트를 고려해보세요.

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

사용하는 NodeBB 버전이 오래되었습니다. 새로운 버전(v%1)이 출시되었습니다. 사용중인 NodeBB의 업데이트를 고려해보세요.

", - "prerelease-warning": "

이것은 정식 발표 전 버전의 NodeBB입니다. 예상치 못한 오류가 발생할 수 있습니다.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "대체 이메일이 없습니다!", - "running-in-development": "포럼이 개발자 모드로 실행되고 있습니다. 잠재적 취약점에 노출되어 있을 수 있으니 시스템 관리자에게 문의하세요.", - "latest-lookup-failed": "

NodeBB의 최신 버전을 확인하는데 실패했습니다.

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "알림", "restart-not-required": "재시작 필요 없음", diff --git a/public/language/ko/admin/development/logger.json b/public/language/ko/admin/development/logger.json index 775ddb7564..9ab5bb9083 100644 --- a/public/language/ko/admin/development/logger.json +++ b/public/language/ko/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "로그 설정", "description": "체크 박스를 활성화하면, 터미널에서 로그를 볼 수 있게 됩니다. 만약 파일 경로를 지정하면, 로그가 지정한 파일에 대신 저장됩니다. HTTP 기록은 누가, 언제, 무엇을 포럼에서 했는지에 대한 통계를 내는 데 유용합니다. HTTP 리퀘스트들을 기록할 뿐 아니라, socket.io 이벤트들도 기록할 수 있습니다. Socket.io 기록은 redis-cli 모니터와 함께 사용하면 NodeBB의 내부 사항을 모니터하는 데 아주 유용할 수 있습니다.", "explanation": "원하실 때 로그 설정을 활성화/비활성화 하십시오. 재시작할 필요는 없습니다.", diff --git a/public/language/ko/admin/extend/plugins.json b/public/language/ko/admin/extend/plugins.json index aea2277f7e..057736b8ed 100644 --- a/public/language/ko/admin/extend/plugins.json +++ b/public/language/ko/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "인기 플러그인", "installed": "설치됨", "active": "활성화", diff --git a/public/language/ko/admin/extend/rewards.json b/public/language/ko/admin/extend/rewards.json index be8bd8cf85..39f654e074 100644 --- a/public/language/ko/admin/extend/rewards.json +++ b/public/language/ko/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "보상", + "add-reward": "Add reward", "condition-if-users": "만약 사용자의", "condition-is": "다음의 조건을 충족한다면:", "condition-then": "다음과 같은 행동을 취합니다:", "max-claims": "보상을 받을 수 있는 횟수", "zero-infinite": "무제한으로 설정하려면 0으로 설정", + "select-reward": "Select reward", "delete": "삭제", "enable": "활성화", "disable": "비활성화", diff --git a/public/language/ko/admin/extend/widgets.json b/public/language/ko/admin/extend/widgets.json index c8e512ed5b..99eda050d7 100644 --- a/public/language/ko/admin/extend/widgets.json +++ b/public/language/ko/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "사용 가능한 위젯", "explanation": "드롭다운 메뉴에서 위젯을 선택하고 왼쪽에 있는 템플릿의 위젯 위치로 드래그하여 옮기세요.", "none-installed": "위젯이 없습니다! 플러그인 설정 메뉴에서 widget essentials 플러그인을 설치하세요.", diff --git a/public/language/ko/admin/manage/admins-mods.json b/public/language/ko/admin/manage/admins-mods.json index ffd10f957b..9e7c247c15 100644 --- a/public/language/ko/admin/manage/admins-mods.json +++ b/public/language/ko/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "관리자", "global-moderators": "통합 조정자", "moderators": "Moderators", "no-global-moderators": "통합 조정자 없음", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "조정자 없음", "add-administrator": "관리자 추가", "add-global-moderator": "통합 조정자 추가", diff --git a/public/language/ko/admin/manage/categories.json b/public/language/ko/admin/manage/categories.json index 692d1ee508..abb4733ec9 100644 --- a/public/language/ko/admin/manage/categories.json +++ b/public/language/ko/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "카테고리 설정", + "edit-category": "Edit Category", "privileges": "권한", - + "back-to-categories": "Back to categories", "name": "카테고리 이름", "description": "카테고리 설명", "bg-color": "배경 색상", @@ -15,8 +19,11 @@ "post-queue": "게시 대기열", "tag-whitelist": "태그 화이트리스트", "upload-image": "이미지 업로드", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "제거", "category-image": "카테고리 이미지", + "image-and-icon": "Image & Icon", "parent-category": "상위 카테고리", "optional-parent-category": "(선택) 상위 카테고리", "top-level": "최고 레벨", @@ -31,6 +38,7 @@ "disable": "비활성화", "edit": "편집", "analytics": "애널리틱스", + "view-category": "카테고리 보기", "set-order": "순서 설정", "set-order-help": "카테고리의 순서를 설정하면 해당 위치로 순서가 변경되며 다른 카테고리의 순서도 함께 변경됩니다. 최소 설정값은 1이며 최상단에 위치됩니다.", diff --git a/public/language/ko/admin/manage/groups.json b/public/language/ko/admin/manage/groups.json index f16766a0d9..0dd42f0418 100644 --- a/public/language/ko/admin/manage/groups.json +++ b/public/language/ko/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "그룹 이름", "badge": "뱃지", "properties": "속성", @@ -10,7 +16,7 @@ "edit": "수정", "delete": "제거", "privileges": "권한", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "검색", "create": "그룹 생성", "description-placeholder": "그룹에 대한 짧은 설명", diff --git a/public/language/ko/admin/manage/privileges.json b/public/language/ko/admin/manage/privileges.json index be83f9124f..d35f66f75d 100644 --- a/public/language/ko/admin/manage/privileges.json +++ b/public/language/ko/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "글로벌", "admin": "관리자", "group-privileges": "그룹 권한 설정", diff --git a/public/language/ko/admin/manage/tags.json b/public/language/ko/admin/manage/tags.json index a183a1fb21..20b0cfa292 100644 --- a/public/language/ko/admin/manage/tags.json +++ b/public/language/ko/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "현재 포럼에 태그가 달린 화제가 없습니다.", "bg-color": "배경 색상", "text-color": "텍스트 색상", "description": "클릭이나 드래그로 태그를 선택하고, CTRL로 여러 개의 태그를 선택하세요.", "create": "태그 생성", + "add-tag": "Add tag", "modify": "태그 수정", "rename": "태그 이름 바꾸기", "delete": "선택된 태그 삭제", diff --git a/public/language/ko/admin/manage/uploads.json b/public/language/ko/admin/manage/uploads.json index 6a5fcf9282..e1c3f64a0d 100644 --- a/public/language/ko/admin/manage/uploads.json +++ b/public/language/ko/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "파일 업로드", "filename": "파일명", "usage": "등록된 글", diff --git a/public/language/ko/admin/manage/users.json b/public/language/ko/admin/manage/users.json index a19dc135e1..494c4024f1 100644 --- a/public/language/ko/admin/manage/users.json +++ b/public/language/ko/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "사용자", "edit": "작업", "make-admin": "관리자 등록", @@ -49,6 +50,10 @@ "users.username": "사용자명", "users.email": "이메일", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "글 개수", "users.reputation": "인지도", diff --git a/public/language/ko/admin/menu.json b/public/language/ko/admin/menu.json index f495308092..e2acae1c82 100644 --- a/public/language/ko/admin/menu.json +++ b/public/language/ko/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "정보", "rebuild-and-restart-forum": "리빌드 & 포럼 재시작", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "포럼 재시작", + "restart": "Restart", "logout": "로그아웃", "view-forum": "포럼 보기", diff --git a/public/language/ko/admin/settings/api.json b/public/language/ko/admin/settings/api.json index af6c41071f..56af3cb20f 100644 --- a/public/language/ko/admin/settings/api.json +++ b/public/language/ko/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "설정", "lead-text": "이 설정 화면에서 NodeBB에 Write API의 연결을 설정할 수 있습니다.", "intro": "기본적으로 Write API는 세션 쿠키를 기반으로 사용자를 인증하지만 NodeBB는 이 페이지를 통해 생성된 토큰을 통해 Bearer 인증도 지원합니다.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "여기를 클릭해서 자세한 API 설정 방법 확인", "require-https": "API 사용을 HTTPS 접속으로만 허용", "require-https-caveat": "참고: Load balancer와 관련된 일부 설치에서는 HTTP를 사용하여 요청을 NodeBB에 프록시하므로 이 옵션을 사용하지 않도록 설정해야 합니다.", "uid": "User ID", + "token": "Token", "uid-help-text": "이 토큰과 연결할 User ID를 지정하세요. User ID가 0일 경우 master 토큰으로 간주되어 다른 사용자의 정보를 _uid 패러미터를 통해 알 수 있게 됩니다.", "description": "설명", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "설명 없음", - "token-on-save": "현재 설정 저장 후 토큰 생성" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/ko/admin/settings/general.json b/public/language/ko/admin/settings/general.json index c20abb4195..46bcce6735 100644 --- a/public/language/ko/admin/settings/general.json +++ b/public/language/ko/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "사이트 설정", "title": "사이트 이름", "title.short": "짧은 이름", "title.short-placeholder": "짧은 제목이 설정되지 않으면 일반 사이트 이름을 로고처럼 사용합니다.", "title.url": "Title Link URL", "title.url-placeholder": "사이트 이름을 눌렀을 때 이동할 URL", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "커뮤니티 이름", "title.show-in-header": "상단바에 사이트 이름 표시", "browser-title": "브라우저 타이틀", @@ -16,7 +18,7 @@ "description": "사이트 설명", "keywords": "사이트 키워드", "keywords-placeholder": "콤마(,)로 분리된 커뮤니티를 묘사하는 키워드들", - "logo": "사이트 로고", + "logo-and-icons": "Site Logo & Icons", "logo.image": "사진", "logo.image-placeholder": "로고 파일 저장 위치", "logo.upload": "업로드", diff --git a/public/language/ko/admin/settings/guest.json b/public/language/ko/admin/settings/guest.json index 2406fdffe3..c252faa745 100644 --- a/public/language/ko/admin/settings/guest.json +++ b/public/language/ko/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "설정", + "guest-settings": "Guest settings", "handles.enabled": "비회원 닉네임 설정 허가", "handles.enabled-help": "이 옵션은 비회원들이 포스트를 작성할 때 이름을 적는 공간을 제공합니다. 이 옵션이 비활성화 상태라면 \"Guest\" 라고 표시될 것입니다.", "topic-views.enabled": "비회원의 방문으로 화제 조회수 증가", diff --git a/public/language/ko/admin/settings/navigation.json b/public/language/ko/admin/settings/navigation.json index cd2ce253db..55611b9347 100644 --- a/public/language/ko/admin/settings/navigation.json +++ b/public/language/ko/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "아이콘:", "change-icon": "변경", "route": "경로:", diff --git a/public/language/ko/admin/settings/post.json b/public/language/ko/admin/settings/post.json index 4635b87996..08df6b8aaf 100644 --- a/public/language/ko/admin/settings/post.json +++ b/public/language/ko/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "포스트 정렬", "sorting.post-default": "기본 포스트 정렬", "sorting.oldest-to-newest": "오래된순", @@ -23,10 +24,8 @@ "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.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "신선한 화제 지속 기간", "restrictions.stale-help": "게시글이 신선한 화제 지속 기간을 지나면, 지루한 화제로 판단하고 해당 화제에 답글을 작성하는 모든 사용자에게 경고 메세지를 발송합니다.", "timestamp": "시간 표기", @@ -41,10 +40,9 @@ "teaser.last-reply": "최근 - 최근 작성된 답글을 보여주고 답글이 없을 경우 \"답글 없음\" 표시", "teaser.first": "첫 글", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "읽지 않음 목록 설정", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "읽지 않음 표시 기간", "unread.min-track-last": "마지막으로 읽은 글 추적 기능을 사용할 최소 글 수", - "recent": "최근 목록 설정", "recent.max-topics": "최근 목록에 표시할 화제 갯수", "recent.categoryFilter.disable": "최근 목록에서 무시 중인 카테고리의 화제 포함", "signature": "서명 설정", diff --git a/public/language/ko/admin/settings/reputation.json b/public/language/ko/admin/settings/reputation.json index 42ccf3753b..1115dfaf58 100644 --- a/public/language/ko/admin/settings/reputation.json +++ b/public/language/ko/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/ko/admin/settings/social.json b/public/language/ko/admin/settings/social.json index 56a8fe660b..e558c7f36e 100644 --- a/public/language/ko/admin/settings/social.json +++ b/public/language/ko/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "포스트 공유", - "info-plugins-additional": "플러그인을 이용해서 포스트를 공유할 수 있는 네트워크를 추가할 수 있습니다.", - "save-success": "포스트를 공유할 네트워크 추가 완료!" + "info-plugins-additional": "플러그인을 이용해서 포스트를 공유할 수 있는 네트워크를 추가할 수 있습니다." } \ No newline at end of file diff --git a/public/language/ko/admin/settings/tags.json b/public/language/ko/admin/settings/tags.json index 0e90bbf493..6827a7dc96 100644 --- a/public/language/ko/admin/settings/tags.json +++ b/public/language/ko/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "태그 관리", "system-tags": "시스템 태그", "system-tags-help": "관리자와 조정자들만 해당 태그들을 사용할 수 있습니다.", + "tags-per-topic": "Tags per topic", "min-per-topic": "화제 별 최소 태그", "max-per-topic": "화제 별 최대 태그", "min-length": "태그 최소 길이", diff --git a/public/language/ko/admin/settings/user.json b/public/language/ko/admin/settings/user.json index 30faa2b48d..5b54612752 100644 --- a/public/language/ko/admin/settings/user.json +++ b/public/language/ko/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "자기소개 최대 길이", "terms-of-use": "이용약관(미입력 시 비활성화)", "user-search": "사용자 검색", - "user-search-results-per-page": "표시할 결과 수", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "사용자 설정 기본값", "show-email": "이메일 공개", "show-fullname": "실명 공개", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 3519cbf7d2..c44e5f67bb 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "이메일 인증이 실패하였습니다. 잠시 후에 다시 시도하세요.", "confirm-email-already-sent": "인증 메일이 이미 발송되었습니다. 다시 보내려면 %1분을 기다리세요.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail 실행파일을 찾을 수 없었습니다. 관리자가 sendmail을 설치했고 실행이 가능한 상태인지 확인해 주시기 바랍니다.", "digest-not-enabled": "사용자가 다이제스트를 비활성화했거나 시스템 기본값이 다이제스트를 보내도록 활성화되어있지 않습니다.", "username-too-short": "사용자명이 너무 짧습니다.", diff --git a/public/language/ko/global.json b/public/language/ko/global.json index 1bdd7529b6..09e03f8283 100644 --- a/public/language/ko/global.json +++ b/public/language/ko/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "성공적으로 로그인했습니다.", "save_changes": "변경사항 저장", "save": "저장", + "create": "Create", "cancel": "Cancel", "close": "닫기", "pagination": "페이지", diff --git a/public/language/ko/modules.json b/public/language/ko/modules.json index 7b7e05732b..9f80fdbacd 100644 --- a/public/language/ko/modules.json +++ b/public/language/ko/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "채팅", "chat.placeholder": "여기에 메시지를 쓰고, 이미지를 드래그 앤 드롭하고, Enter를 눌러 보내세요!", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "오래된 메시지를 보고 있습니다. 여기를 눌러 최신 메시지로 이동하세요.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/ko/pages.json b/public/language/ko/pages.json index 99f1d8e34b..a96de2698d 100644 --- a/public/language/ko/pages.json +++ b/public/language/ko/pages.json @@ -14,6 +14,7 @@ "flagged-content": "신고된 컨텐츠", "ip-blacklist": "IP 블랙리스트", "post-queue": "게시 대기열", + "registration-queue": "Registration Queue", "users/online": "온라인 사용자", "users/latest": "최근 사용자", "users/sort-posts": "최다 작성 사용자", diff --git a/public/language/ko/themes/harmony.json b/public/language/ko/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/ko/themes/harmony.json +++ b/public/language/ko/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/ko/topic.json b/public/language/ko/topic.json index 927b6656f2..8af1a48a8e 100644 --- a/public/language/ko/topic.json +++ b/public/language/ko/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "예약", "composer.replying_to": "'%1'에 대한 답글", "composer.new_topic": "새 화제 생성", - "composer.editing": "편집 중", + "composer.editing-in": "Editing post in %1", "composer.uploading": "업로드 중...", "composer.thumb_url_label": "썸네일 URL을 붙여넣으세요", "composer.thumb_title": "이 게시물에 썸네일 추가", diff --git a/public/language/ko/user.json b/public/language/ko/user.json index b215d985fb..068c0f90d6 100644 --- a/public/language/ko/user.json +++ b/public/language/ko/user.json @@ -141,6 +141,8 @@ "group-order-help": "그룹 선택 후 화살표로 순서 지정", "no-group-title": "그룹 이름이 없습니다.", "select-skin": "스킨 선택", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "홈페이지 선택", "homepage": "홈페이지", "homepage_description": "포럼 홈페이지로 사용할 페이지를 선택하거나 'None'으로 설정하여 기본 홈페이지를 사용합니다.", diff --git a/public/language/ko/users.json b/public/language/ko/users.json index 050f7b5bcf..98a64ad7f5 100644 --- a/public/language/ko/users.json +++ b/public/language/ko/users.json @@ -6,7 +6,7 @@ "most_flags": "신고순", "search": "검색", "enter_username": "검색할 사용자명을 입력하세요.", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "더 보기", "users-found-search-took": "%1명의 사용자를 찾았습니다. 검색 소요 시간 %2초", "filter-by": "필터 기준", diff --git a/public/language/lt/admin/admin.json b/public/language/lt/admin/admin.json index aafa59d8c2..de86c23c77 100644 --- a/public/language/lt/admin/admin.json +++ b/public/language/lt/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/lt/admin/advanced/cache.json b/public/language/lt/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/lt/admin/advanced/cache.json +++ b/public/language/lt/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/lt/admin/advanced/database.json b/public/language/lt/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/lt/admin/advanced/database.json +++ b/public/language/lt/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/lt/admin/advanced/errors.json b/public/language/lt/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/lt/admin/advanced/errors.json +++ b/public/language/lt/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/lt/admin/appearance/customise.json b/public/language/lt/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/lt/admin/appearance/customise.json +++ b/public/language/lt/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/lt/admin/appearance/skins.json b/public/language/lt/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/lt/admin/appearance/skins.json +++ b/public/language/lt/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/lt/admin/appearance/themes.json b/public/language/lt/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/lt/admin/appearance/themes.json +++ b/public/language/lt/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/lt/admin/dashboard.json b/public/language/lt/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/lt/admin/dashboard.json +++ b/public/language/lt/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/lt/admin/development/logger.json b/public/language/lt/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/lt/admin/development/logger.json +++ b/public/language/lt/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/lt/admin/extend/plugins.json b/public/language/lt/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/lt/admin/extend/plugins.json +++ b/public/language/lt/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/lt/admin/extend/rewards.json b/public/language/lt/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/lt/admin/extend/rewards.json +++ b/public/language/lt/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/lt/admin/extend/widgets.json b/public/language/lt/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/lt/admin/extend/widgets.json +++ b/public/language/lt/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/lt/admin/manage/admins-mods.json b/public/language/lt/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/lt/admin/manage/admins-mods.json +++ b/public/language/lt/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/lt/admin/manage/categories.json b/public/language/lt/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/lt/admin/manage/categories.json +++ b/public/language/lt/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/lt/admin/manage/groups.json b/public/language/lt/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/lt/admin/manage/groups.json +++ b/public/language/lt/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/lt/admin/manage/privileges.json b/public/language/lt/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/lt/admin/manage/privileges.json +++ b/public/language/lt/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/lt/admin/manage/tags.json b/public/language/lt/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/lt/admin/manage/tags.json +++ b/public/language/lt/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/lt/admin/manage/uploads.json b/public/language/lt/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/lt/admin/manage/uploads.json +++ b/public/language/lt/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/lt/admin/manage/users.json b/public/language/lt/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/lt/admin/manage/users.json +++ b/public/language/lt/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/lt/admin/menu.json b/public/language/lt/admin/menu.json index 9c156d6ec7..ad6fff59be 100644 --- a/public/language/lt/admin/menu.json +++ b/public/language/lt/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/lt/admin/settings/api.json b/public/language/lt/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/lt/admin/settings/api.json +++ b/public/language/lt/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/lt/admin/settings/general.json b/public/language/lt/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/lt/admin/settings/general.json +++ b/public/language/lt/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/lt/admin/settings/guest.json b/public/language/lt/admin/settings/guest.json index f29ece3218..d564091e0f 100644 --- a/public/language/lt/admin/settings/guest.json +++ b/public/language/lt/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Nustatymai", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/lt/admin/settings/navigation.json b/public/language/lt/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/lt/admin/settings/navigation.json +++ b/public/language/lt/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/lt/admin/settings/post.json b/public/language/lt/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/lt/admin/settings/post.json +++ b/public/language/lt/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/lt/admin/settings/reputation.json b/public/language/lt/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/lt/admin/settings/reputation.json +++ b/public/language/lt/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/lt/admin/settings/social.json b/public/language/lt/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/lt/admin/settings/social.json +++ b/public/language/lt/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/lt/admin/settings/tags.json b/public/language/lt/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/lt/admin/settings/tags.json +++ b/public/language/lt/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/lt/admin/settings/user.json b/public/language/lt/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/lt/admin/settings/user.json +++ b/public/language/lt/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/lt/error.json b/public/language/lt/error.json index 46b5fb9596..1595d4a985 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Slapyvardis per trumpas", diff --git a/public/language/lt/global.json b/public/language/lt/global.json index 84a0d9bf55..331db9dffe 100644 --- a/public/language/lt/global.json +++ b/public/language/lt/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Jūs sėkmingai prisijungėte", "save_changes": "Išsaugoti pakeitimus", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Uždaryti", "pagination": "Numeracija", diff --git a/public/language/lt/modules.json b/public/language/lt/modules.json index 2b013d8307..221532a712 100644 --- a/public/language/lt/modules.json +++ b/public/language/lt/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/lt/pages.json b/public/language/lt/pages.json index b84f5fd447..cf13de9a85 100644 --- a/public/language/lt/pages.json +++ b/public/language/lt/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Pažymėtas turinys", "ip-blacklist": "IP Juodasis Sąrašas", "post-queue": "Įrašų eilė", + "registration-queue": "Registration Queue", "users/online": "Prisijungę vartotojai", "users/latest": "Naujausi vartotojai", "users/sort-posts": "Vartotojai, turintis daugiausiai įrašų", diff --git a/public/language/lt/themes/harmony.json b/public/language/lt/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/lt/themes/harmony.json +++ b/public/language/lt/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/lt/topic.json b/public/language/lt/topic.json index 05b6c3cf11..9576935b5c 100644 --- a/public/language/lt/topic.json +++ b/public/language/lt/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Atsakymas %1", "composer.new_topic": "Nauja tema", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "įkeliama...", "composer.thumb_url_label": "Įklijuokite temos paveikslėlio URL", "composer.thumb_title": "Pridėti paveikslėlį šiai temai", diff --git a/public/language/lt/user.json b/public/language/lt/user.json index 98439ae385..614df40a30 100644 --- a/public/language/lt/user.json +++ b/public/language/lt/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Nėra grupės pavadinimo", "select-skin": "Pasirinkite išvaizdą", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Pasirinkite pagrindinį puslapį", "homepage": "Pagrindinis puslapis", "homepage_description": "Pasirinkite puslapį kaip savo pagrindinį, arba pasirinkite \"Joks\" norėdami naudoti standartinį pagrindinį puslapį.", diff --git a/public/language/lt/users.json b/public/language/lt/users.json index 9a42f0b79f..25a5f50a99 100644 --- a/public/language/lt/users.json +++ b/public/language/lt/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Ieškoti", "enter_username": "Įrašykite vartotojo vardą paieškai", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Įkelti daugiau", "users-found-search-took": "Rasta %1 vartotojas(-ai)! Paieška užtruko %2 sekundes.", "filter-by": "Filtruoti pagal", diff --git a/public/language/lv/admin/admin.json b/public/language/lv/admin/admin.json index 81c7fedf10..9cd1b5d220 100644 --- a/public/language/lv/admin/admin.json +++ b/public/language/lv/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB administrācijas vadības panelis", "settings-header-contents": "Saturs", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/lv/admin/advanced/cache.json b/public/language/lv/admin/advanced/cache.json index 2e083938b5..0567c561c4 100644 --- a/public/language/lv/admin/advanced/cache.json +++ b/public/language/lv/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Rakstu kešatmiņa", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/lv/admin/advanced/errors.json b/public/language/lv/admin/advanced/errors.json index 3a02a71dbc..29803e3c79 100644 --- a/public/language/lv/admin/advanced/errors.json +++ b/public/language/lv/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Attēls %1", "error-events-per-day": "%1 kļūdas dienā", "error.404": "404 Not Found", diff --git a/public/language/lv/admin/appearance/customise.json b/public/language/lv/admin/appearance/customise.json index 1e83290b3b..a8d411a475 100644 --- a/public/language/lv/admin/appearance/customise.json +++ b/public/language/lv/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Iespējot pielāgotu galveni", "custom-css.livereload": "Iespējot dzīvo pārlādēšanu", - "custom-css.livereload.description": "Piespiest atsvaidzināt visas aktīvās sesijas ikvienā no Tava konta esošajām ierīcēm katru reizi, kad noklikšķini uz \"Saglabāt\"" + "custom-css.livereload.description": "Piespiest atsvaidzināt visas aktīvās sesijas ikvienā no Tava konta esošajām ierīcēm katru reizi, kad noklikšķini uz \"Saglabāt\"", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/lv/admin/appearance/skins.json b/public/language/lv/admin/appearance/skins.json index f0967bc226..097524a33d 100644 --- a/public/language/lv/admin/appearance/skins.json +++ b/public/language/lv/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Ielādē ādiņas...", "homepage": "Sākumlapa", "select-skin": "Izvēlēties ādiņu", + "revert-skin": "Revert Skin", "current-skin": "Pašreizējā ādiņa", "skin-updated": "Ādiņa atjaunināta", "applied-success": "%1 ādiņa veiksmīgi iespējota", diff --git a/public/language/lv/admin/appearance/themes.json b/public/language/lv/admin/appearance/themes.json index 4789bcec3a..b212e817f6 100644 --- a/public/language/lv/admin/appearance/themes.json +++ b/public/language/lv/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Pārbauda instalētās tēmas...", "homepage": "Sākumlapa", "select-theme": "Atlasīt tēmu", + "revert-theme": "Revert Theme", "current-theme": "Pašreizējā tēma", "no-themes": "Nav instalēto tēmu", "revert-confirm": "Vai tiešām vēlies atjaunot noklusējamo NodeBB tēmu?", diff --git a/public/language/lv/admin/dashboard.json b/public/language/lv/admin/dashboard.json index dcd2f2a3b0..92e6012cd1 100644 --- a/public/language/lv/admin/dashboard.json +++ b/public/language/lv/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Atjauninājumi", "running-version": "Ir palaists NodeBB v%1.", "keep-updated": "Lūdzu, vienmēr pārliecināties, ka NodeBB ir atjaunināts ar jaunākajiem drošības ielāpiem un kļūdu labojumiem.", - "up-to-date": "

Šobrīd nav atjauninājumu

", - "upgrade-available": "

Ir izlaista jauna versija (v%1). Apsvērt NodeBB atjaunināšanu.

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

Šī ir novecojusies pirmizlaides NodeBB versija. Jauna versija (v%1) ir bijusi izlaista. Apsvērt NodeBB atjaunināšanu.

", - "prerelease-warning": "

Ši ir pirmizlaides NodeBB versija. Neparedzētas kļūdas var rasties.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "NodeBB darbojas attīstītāju režīmā. NodeBB var būt neaizsargāts pret iespējamiem uzbrukumiem; lūdzu, sazināties ar sistēmas administratoru.", - "latest-lookup-failed": "

Neizdevās atrast jaunāko pieejamo NodeBB versiju

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Paziņojumi", "restart-not-required": "Nav nepieciešama pārstartēšana", diff --git a/public/language/lv/admin/development/logger.json b/public/language/lv/admin/development/logger.json index 9a59ec1183..0f046c4fae 100644 --- a/public/language/lv/admin/development/logger.json +++ b/public/language/lv/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Žurnāla iestatījumi", "description": "Iespējojot izvēles rūtiņas, saņemsi žurnālus savā terminālī. Ja norādi ceļu, tad žurnāli tiks saglabāti failā. HTTP notikumu žurnāls ir noderīgs, lai apkopotu statistiku par to, kas, kad un kam kāds piekļūst forumā. Papildus HTTP pieprasījumu reģistrēšanai mēs varam arī reģistrēt socket.io notikumus. Socket.io notikumu žurnāls, kopā ar redis-cli monitoru, var būt ļoti noderīgs NodeBB iekšējo darbību mācību apguvē.", "explanation": "Vienkārši atzīmēt vai noņemt atzīmi no žūrnāla iestatījumiem, lai aktivizētu vai atspējotu žurnālu reālā laikā. Nav nepieciešams forumu restartēt.", diff --git a/public/language/lv/admin/extend/plugins.json b/public/language/lv/admin/extend/plugins.json index fdf420530b..533da7736e 100644 --- a/public/language/lv/admin/extend/plugins.json +++ b/public/language/lv/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Instalētie", "active": "Aktīvie", diff --git a/public/language/lv/admin/extend/rewards.json b/public/language/lv/admin/extend/rewards.json index 97cf227477..260dfe39c2 100644 --- a/public/language/lv/admin/extend/rewards.json +++ b/public/language/lv/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Balvas", + "add-reward": "Add reward", "condition-if-users": "Ja lietotāja", "condition-is": "Ir:", "condition-then": "Tad:", "max-claims": "Cik reižu balva ir pieprasāma", "zero-infinite": "Ievadīt 0, lai būtu bez ierobežojuma", + "select-reward": "Select reward", "delete": "Izdzēst", "enable": "Iespējot", "disable": "Atspējot", diff --git a/public/language/lv/admin/extend/widgets.json b/public/language/lv/admin/extend/widgets.json index bc853d53ed..64c9e0162c 100644 --- a/public/language/lv/admin/extend/widgets.json +++ b/public/language/lv/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Pieejamie logrīki", "explanation": "Atlasīt spraudni no nolaižamās izvēlnes, un to vilkt un nomest uz veidnes spraudņa lauku kreisajā pusē.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/lv/admin/manage/admins-mods.json b/public/language/lv/admin/manage/admins-mods.json index 4605719a81..d822da64b1 100644 --- a/public/language/lv/admin/manage/admins-mods.json +++ b/public/language/lv/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administratori", "global-moderators": "Globālie moderatori", "moderators": "Moderators", "no-global-moderators": "Nav globālo moderatoru", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Nav moderatoru", "add-administrator": "Pievienot administratoru", "add-global-moderator": "Pievienot globālo moderatoru", diff --git a/public/language/lv/admin/manage/categories.json b/public/language/lv/admin/manage/categories.json index 050b03d33a..2318d20066 100644 --- a/public/language/lv/admin/manage/categories.json +++ b/public/language/lv/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Kategorijas iestatījumi", + "edit-category": "Edit Category", "privileges": "Privilēģijas", - + "back-to-categories": "Back to categories", "name": "Kategorijas nosaukums", "description": "Kategorijas apraksts", "bg-color": "Fona krāsa", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Augšupielādēt bildi", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Noņemt", "category-image": "Kategorijas bilde", + "image-and-icon": "Image & Icon", "parent-category": "Virskategorija", "optional-parent-category": "(Neobligāts) virskategorija", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Atspējot", "edit": "Rediģēt", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/lv/admin/manage/groups.json b/public/language/lv/admin/manage/groups.json index 5a8bce0ab1..5844666691 100644 --- a/public/language/lv/admin/manage/groups.json +++ b/public/language/lv/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Grupas nosaukums", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Rediģēt", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Meklēt", "create": "Izveidot grupu", "description-placeholder": "Īss grupas apraksts", diff --git a/public/language/lv/admin/manage/privileges.json b/public/language/lv/admin/manage/privileges.json index de3d8a804f..d26056f5b2 100644 --- a/public/language/lv/admin/manage/privileges.json +++ b/public/language/lv/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Globālās", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/lv/admin/manage/tags.json b/public/language/lv/admin/manage/tags.json index 7ab7e6507d..1280e40bb5 100644 --- a/public/language/lv/admin/manage/tags.json +++ b/public/language/lv/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Forumā vēl nav tematu ar birkām.", "bg-color": "Fona krāsa", "text-color": "Teksta krāsa", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Izveidot birku", + "add-tag": "Add tag", "modify": "Rediģēt birkas", "rename": "Pārdēvēt birkas", "delete": "Izdzēst atlasītās birkas", diff --git a/public/language/lv/admin/manage/uploads.json b/public/language/lv/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/lv/admin/manage/uploads.json +++ b/public/language/lv/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/lv/admin/manage/users.json b/public/language/lv/admin/manage/users.json index 5165dd6447..75178297f2 100644 --- a/public/language/lv/admin/manage/users.json +++ b/public/language/lv/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Lietotāji", "edit": "Actions", "make-admin": "Apstiprināt kā administratoru", @@ -49,6 +50,10 @@ "users.username": "lietotājvārds", "users.email": "e-pasta adrese", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "raksti", "users.reputation": "ranga punkti", diff --git a/public/language/lv/admin/menu.json b/public/language/lv/admin/menu.json index 5a56214054..82b7f18a89 100644 --- a/public/language/lv/admin/menu.json +++ b/public/language/lv/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Informācija", "rebuild-and-restart-forum": "Pārkompilēt & pārstartēt forumu", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Pārstartēt forumu", + "restart": "Restart", "logout": "Izlogoties", "view-forum": "Uz forumu", diff --git a/public/language/lv/admin/settings/api.json b/public/language/lv/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/lv/admin/settings/api.json +++ b/public/language/lv/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/lv/admin/settings/general.json b/public/language/lv/admin/settings/general.json index ea143d538f..3f56338e92 100644 --- a/public/language/lv/admin/settings/general.json +++ b/public/language/lv/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Foruma iestatījumi", "title": "Foruma nosaukums", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "Foruma virsrakta URL", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Foruma nosaukums", "title.show-in-header": "Rādīt foruma virsrakstu galvenē", "browser-title": "Virsraksts pārlūkā", @@ -16,7 +18,7 @@ "description": "Foruma apraksts", "keywords": "Foruma atslēgvārdi", "keywords-placeholder": "Atslēgvārdi, kas apraksta forumu, atdalīti ar komatu", - "logo": "Foruma logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Bilde", "logo.image-placeholder": "Ceļš uz logo, ko parādītu foruma galvenē", "logo.upload": "Augšupielādēt", diff --git a/public/language/lv/admin/settings/guest.json b/public/language/lv/admin/settings/guest.json index 394c6b8a25..cfbded0bbc 100644 --- a/public/language/lv/admin/settings/guest.json +++ b/public/language/lv/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Atļaut viesu iesaukas", "handles.enabled-help": "Parādīt lauku, kas viesiem ļaus izvēlēties savu iesauku, kas saistīts ar katru viņu publicēto rakstu. Ja ir atspējots, viņus vienkārši sauks par \"Viesiem\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/lv/admin/settings/navigation.json b/public/language/lv/admin/settings/navigation.json index e7b28d2d2b..8148ce1179 100644 --- a/public/language/lv/admin/settings/navigation.json +++ b/public/language/lv/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikona:", "change-icon": "izmaiņa", "route": "Ceļš:", diff --git a/public/language/lv/admin/settings/post.json b/public/language/lv/admin/settings/post.json index e7529f2a0d..b08f2a5853 100644 --- a/public/language/lv/admin/settings/post.json +++ b/public/language/lv/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Rakstu kārtošana", "sorting.post-default": "Noklusējuma rakstu kārtošana", "sorting.oldest-to-newest": "No vecākā līdz jaunākam", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimālais virsraksta garums", - "restrictions.max-title-length": "Maksimālais virsraksta garums", - "restrictions.min-post-length": "Minimālais raksta garums", - "restrictions.max-post-length": "Maksimālais raksta garums", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Dienas, līdz temats tiek uzskatīts par novecojušu", "restrictions.stale-help": "Ja temats tiek uzskatīts par novecojušu, brīdinājums tiks parādīts tiem lietotājiem, kuri mēģina uz tā atbildēt.", "timestamp": "Datumi", @@ -41,10 +40,9 @@ "teaser.last-reply": "Pēdējo – rādīt jaunāko atbildi, vai \"Nav atbildes\" tekstu, ja atbildes nav", "teaser.first": "Pirmais", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Nelasītie raksti", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Nelasīto rakstu vecumu robeža", "unread.min-track-last": "Minimālais rakstu skaits tematā pirms izseko pēdējo lasīto", - "recent": "Nesenie raksti", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Atspējot tematu filtrēšanu ignorētās kategorijās /recent lapā", "signature": "Parakstīšanās", diff --git a/public/language/lv/admin/settings/reputation.json b/public/language/lv/admin/settings/reputation.json index a290ac2ab4..b70e1d4c5b 100644 --- a/public/language/lv/admin/settings/reputation.json +++ b/public/language/lv/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/lv/admin/settings/social.json b/public/language/lv/admin/settings/social.json index 03a4c2e035..0a6165fddb 100644 --- a/public/language/lv/admin/settings/social.json +++ b/public/language/lv/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Rakstu kopīgošana", - "info-plugins-additional": "Spraudņi var pievienot papildu rakstu kopīgošanas tīklus.", - "save-success": "Rakstu kopīgošanas tīkli veiksmi saglabāti!" + "info-plugins-additional": "Spraudņi var pievienot papildu rakstu kopīgošanas tīklus." } \ No newline at end of file diff --git a/public/language/lv/admin/settings/tags.json b/public/language/lv/admin/settings/tags.json index f5fb8cdf3a..ca784d7778 100644 --- a/public/language/lv/admin/settings/tags.json +++ b/public/language/lv/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimālais birku skaits tematā", "max-per-topic": "Maksimālais birku skaits tematā", "min-length": "Minimālais birkas nosaukuma garums", diff --git a/public/language/lv/admin/settings/user.json b/public/language/lv/admin/settings/user.json index fbcb918546..38116c6f2a 100644 --- a/public/language/lv/admin/settings/user.json +++ b/public/language/lv/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maksimālais \"Par mani\" garums", "terms-of-use": "Foruma lietošanas noteikumi (funkcija atspējota ja tukšs)", "user-search": "Meklējot lietotājos", - "user-search-results-per-page": "Redzamo rezultātu skaits", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Noklusējuma lietotāju iestatījumi", "show-email": "Rādīt e-pasta adresi", "show-fullname": "Rādīt vārdu un uzvārdu", diff --git a/public/language/lv/error.json b/public/language/lv/error.json index 8fe730c89c..b6f24a4006 100644 --- a/public/language/lv/error.json +++ b/public/language/lv/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail programmu nevarēja atrast, lūdzu, pārliecinies, ka lietotājs, kas darbojas ar NodeBB, ir to instalējis un izdarījis palaižamu.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Pārāk īss lietotājvārds", diff --git a/public/language/lv/global.json b/public/language/lv/global.json index fddd0e75d6..21d491a9ea 100644 --- a/public/language/lv/global.json +++ b/public/language/lv/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Tu esi veiksmīgi ielogojies", "save_changes": "Saglabāt izmaiņas", "save": "Saglabāt", + "create": "Create", "cancel": "Cancel", "close": "Aizvērt", "pagination": "Dalīšana pa lapām", diff --git a/public/language/lv/modules.json b/public/language/lv/modules.json index 76badfa4d8..778e9f68cc 100644 --- a/public/language/lv/modules.json +++ b/public/language/lv/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Sarunāties ar", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/lv/pages.json b/public/language/lv/pages.json index 14703b47e5..ff9e405630 100644 --- a/public/language/lv/pages.json +++ b/public/language/lv/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Atzīmētais saturs", "ip-blacklist": "IP adrešu melnais saraksts", "post-queue": "Rakstu apstiprināšanas rinda", + "registration-queue": "Registration Queue", "users/online": "Lietotāji tiešsaistē", "users/latest": "Jaunākie lietotāji", "users/sort-posts": "Lietotāji ar visvairāk rakstu", diff --git a/public/language/lv/themes/harmony.json b/public/language/lv/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/lv/themes/harmony.json +++ b/public/language/lv/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/lv/topic.json b/public/language/lv/topic.json index 4c35a5e4bc..8a177ee1b7 100644 --- a/public/language/lv/topic.json +++ b/public/language/lv/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Atbild %1", "composer.new_topic": "Izveidot jaunu tematu", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "augšupielādē...", "composer.thumb_url_label": "Ielīmēt temata sīktēla URL", "composer.thumb_title": "Pievienot tematam sīktēlu", diff --git a/public/language/lv/user.json b/public/language/lv/user.json index d9d0d89465..0de8a9e3c5 100644 --- a/public/language/lv/user.json +++ b/public/language/lv/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Nav", "select-skin": "Ādiņa", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Sākumlapa", "homepage": "Sākumlapa", "homepage_description": "Izvēlies lapu, kuru izmantot kā foruma sākumlapu vai \"Nav\", lai izmantotu noklusējuma sākumlapu.", diff --git a/public/language/lv/users.json b/public/language/lv/users.json index 0e0d279373..60faf7495c 100644 --- a/public/language/lv/users.json +++ b/public/language/lv/users.json @@ -6,7 +6,7 @@ "most_flags": "Visvairāk atzīmju", "search": "Meklēt", "enter_username": "Meklējamais lietotājvārds", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Ielādēt vairāk", "users-found-search-took": "Atrasti %1 lietotājs(-i)! Meklēšana ilga %2 sekundes.", "filter-by": "Filtrēt pēc", diff --git a/public/language/ms/admin/admin.json b/public/language/ms/admin/admin.json index 2d1cc65fa4..413f97994a 100644 --- a/public/language/ms/admin/admin.json +++ b/public/language/ms/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Panel Kawalan dan Kendalian NodeBB", "settings-header-contents": "Isi", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/ms/admin/advanced/cache.json b/public/language/ms/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/ms/admin/advanced/cache.json +++ b/public/language/ms/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/ms/admin/advanced/database.json b/public/language/ms/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/ms/admin/advanced/database.json +++ b/public/language/ms/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/ms/admin/advanced/errors.json b/public/language/ms/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/ms/admin/advanced/errors.json +++ b/public/language/ms/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/ms/admin/appearance/customise.json b/public/language/ms/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/ms/admin/appearance/customise.json +++ b/public/language/ms/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/ms/admin/appearance/skins.json b/public/language/ms/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/ms/admin/appearance/skins.json +++ b/public/language/ms/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/ms/admin/appearance/themes.json b/public/language/ms/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/ms/admin/appearance/themes.json +++ b/public/language/ms/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/ms/admin/dashboard.json b/public/language/ms/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/ms/admin/dashboard.json +++ b/public/language/ms/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/ms/admin/development/logger.json b/public/language/ms/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/ms/admin/development/logger.json +++ b/public/language/ms/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/ms/admin/extend/plugins.json b/public/language/ms/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/ms/admin/extend/plugins.json +++ b/public/language/ms/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/ms/admin/extend/rewards.json b/public/language/ms/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/ms/admin/extend/rewards.json +++ b/public/language/ms/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/ms/admin/extend/widgets.json b/public/language/ms/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/ms/admin/extend/widgets.json +++ b/public/language/ms/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/ms/admin/manage/admins-mods.json b/public/language/ms/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/ms/admin/manage/admins-mods.json +++ b/public/language/ms/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/ms/admin/manage/categories.json b/public/language/ms/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/ms/admin/manage/categories.json +++ b/public/language/ms/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/ms/admin/manage/groups.json b/public/language/ms/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/ms/admin/manage/groups.json +++ b/public/language/ms/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/ms/admin/manage/privileges.json b/public/language/ms/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/ms/admin/manage/privileges.json +++ b/public/language/ms/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/ms/admin/manage/tags.json b/public/language/ms/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/ms/admin/manage/tags.json +++ b/public/language/ms/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/ms/admin/manage/uploads.json b/public/language/ms/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/ms/admin/manage/uploads.json +++ b/public/language/ms/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/ms/admin/manage/users.json b/public/language/ms/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/ms/admin/manage/users.json +++ b/public/language/ms/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/ms/admin/menu.json b/public/language/ms/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/ms/admin/menu.json +++ b/public/language/ms/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/ms/admin/settings/api.json b/public/language/ms/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/ms/admin/settings/api.json +++ b/public/language/ms/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/ms/admin/settings/general.json b/public/language/ms/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/ms/admin/settings/general.json +++ b/public/language/ms/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/ms/admin/settings/guest.json b/public/language/ms/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/ms/admin/settings/guest.json +++ b/public/language/ms/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/ms/admin/settings/navigation.json b/public/language/ms/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/ms/admin/settings/navigation.json +++ b/public/language/ms/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/ms/admin/settings/post.json b/public/language/ms/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/ms/admin/settings/post.json +++ b/public/language/ms/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/ms/admin/settings/reputation.json b/public/language/ms/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/ms/admin/settings/reputation.json +++ b/public/language/ms/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/ms/admin/settings/social.json b/public/language/ms/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/ms/admin/settings/social.json +++ b/public/language/ms/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/ms/admin/settings/tags.json b/public/language/ms/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/ms/admin/settings/tags.json +++ b/public/language/ms/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/ms/admin/settings/user.json b/public/language/ms/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/ms/admin/settings/user.json +++ b/public/language/ms/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/ms/error.json b/public/language/ms/error.json index 57fed058d6..4d4e15f518 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Nama pengunna terlalu pendek", diff --git a/public/language/ms/global.json b/public/language/ms/global.json index b44c12380b..1d227f9c0f 100644 --- a/public/language/ms/global.json +++ b/public/language/ms/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Anda telah berjaya log masuk", "save_changes": "Simpan perubahan", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Tutup", "pagination": "Mukasurat", diff --git a/public/language/ms/modules.json b/public/language/ms/modules.json index 0c5bb5e892..5cedf4f72e 100644 --- a/public/language/ms/modules.json +++ b/public/language/ms/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/ms/pages.json b/public/language/ms/pages.json index a3bd510e38..e538907eb5 100644 --- a/public/language/ms/pages.json +++ b/public/language/ms/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Pengguna Atas Talian", "users/latest": "Pengguna Terkini", "users/sort-posts": "Pengguna Mengikut Kiriman Terbanyak", diff --git a/public/language/ms/themes/harmony.json b/public/language/ms/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/ms/themes/harmony.json +++ b/public/language/ms/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/ms/topic.json b/public/language/ms/topic.json index 4a24e7efab..d2cded93be 100644 --- a/public/language/ms/topic.json +++ b/public/language/ms/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Balas ke %1", "composer.new_topic": "Topik baru", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "Memuat naik ...", "composer.thumb_url_label": "Tampalkan gambaran URL", "composer.thumb_title": "Letakkan gambaran kepada topik ini", diff --git a/public/language/ms/user.json b/public/language/ms/user.json index 7ce924fb8a..b1aeba4977 100644 --- a/public/language/ms/user.json +++ b/public/language/ms/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Tiada nama kumpulan", "select-skin": "Pilih skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Pilih Laman Utama", "homepage": "Laman Utama", "homepage_description": "Pilih satu halaman untuk digunakan sebagai Laman Utama forum atau 'Tiada' untuk guna tetapan lalai", diff --git a/public/language/ms/users.json b/public/language/ms/users.json index 630939970f..513b15c41f 100644 --- a/public/language/ms/users.json +++ b/public/language/ms/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Cari", "enter_username": "Masukkan nama pengguna untuk carian", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Muat lagi", "users-found-search-took": "%1 pengguna dijumpai! Pencarian ambil masa %2 saat.", "filter-by": "Saring dengan", diff --git a/public/language/nb/admin/admin.json b/public/language/nb/admin/admin.json index ae9467df75..8ed4c165a2 100644 --- a/public/language/nb/admin/admin.json +++ b/public/language/nb/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Kontrollpanel", "settings-header-contents": "Innhold", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Endringer ikke lagret", - "changes-not-saved-message": "NodeBB støtte på et problem ved lagring av endringer. (%1)" + "changes-not-saved-message": "NodeBB støtte på et problem ved lagring av endringer. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/nb/admin/advanced/cache.json b/public/language/nb/admin/advanced/cache.json index f75eabe4cd..e5204f7d4c 100644 --- a/public/language/nb/admin/advanced/cache.json +++ b/public/language/nb/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post-buffer", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/nb/admin/advanced/database.json b/public/language/nb/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/nb/admin/advanced/database.json +++ b/public/language/nb/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/nb/admin/advanced/errors.json b/public/language/nb/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/nb/admin/advanced/errors.json +++ b/public/language/nb/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/nb/admin/appearance/customise.json b/public/language/nb/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/nb/admin/appearance/customise.json +++ b/public/language/nb/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/nb/admin/appearance/skins.json b/public/language/nb/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/nb/admin/appearance/skins.json +++ b/public/language/nb/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/nb/admin/appearance/themes.json b/public/language/nb/admin/appearance/themes.json index fcb509e365..957dc89eee 100644 --- a/public/language/nb/admin/appearance/themes.json +++ b/public/language/nb/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Hjemmeside", "select-theme": "Velg tema", + "revert-theme": "Revert Theme", "current-theme": "Nåværende tema", "no-themes": "Ingen installerte temaer funnet", "revert-confirm": "Er du sikker på at du vil gjenopprette standard NodeBB-tema?", diff --git a/public/language/nb/admin/dashboard.json b/public/language/nb/admin/dashboard.json index d4d9f0120c..07ed80abde 100644 --- a/public/language/nb/admin/dashboard.json +++ b/public/language/nb/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/nb/admin/development/logger.json b/public/language/nb/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/nb/admin/development/logger.json +++ b/public/language/nb/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/nb/admin/extend/plugins.json b/public/language/nb/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/nb/admin/extend/plugins.json +++ b/public/language/nb/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/nb/admin/extend/rewards.json b/public/language/nb/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/nb/admin/extend/rewards.json +++ b/public/language/nb/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/nb/admin/extend/widgets.json b/public/language/nb/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/nb/admin/extend/widgets.json +++ b/public/language/nb/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/nb/admin/manage/admins-mods.json b/public/language/nb/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/nb/admin/manage/admins-mods.json +++ b/public/language/nb/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/nb/admin/manage/categories.json b/public/language/nb/admin/manage/categories.json index 28d2bc5d4d..0b33bd8602 100644 --- a/public/language/nb/admin/manage/categories.json +++ b/public/language/nb/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/nb/admin/manage/groups.json b/public/language/nb/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/nb/admin/manage/groups.json +++ b/public/language/nb/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/nb/admin/manage/privileges.json b/public/language/nb/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/nb/admin/manage/privileges.json +++ b/public/language/nb/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/nb/admin/manage/tags.json b/public/language/nb/admin/manage/tags.json index 6267762c7a..86fbd789eb 100644 --- a/public/language/nb/admin/manage/tags.json +++ b/public/language/nb/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Forumet ditt har ingen tråder med emneord.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/nb/admin/manage/uploads.json b/public/language/nb/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/nb/admin/manage/uploads.json +++ b/public/language/nb/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/nb/admin/manage/users.json b/public/language/nb/admin/manage/users.json index c63f6819b5..d5475117e4 100644 --- a/public/language/nb/admin/manage/users.json +++ b/public/language/nb/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "omdømme", diff --git a/public/language/nb/admin/menu.json b/public/language/nb/admin/menu.json index 88eedddb5d..3719330a90 100644 --- a/public/language/nb/admin/menu.json +++ b/public/language/nb/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart forum", + "restart": "Restart", "logout": "Logg ut", "view-forum": "Vis forum", diff --git a/public/language/nb/admin/settings/api.json b/public/language/nb/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/nb/admin/settings/api.json +++ b/public/language/nb/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/nb/admin/settings/general.json b/public/language/nb/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/nb/admin/settings/general.json +++ b/public/language/nb/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/nb/admin/settings/guest.json b/public/language/nb/admin/settings/guest.json index ab416c7889..1d9d08f38e 100644 --- a/public/language/nb/admin/settings/guest.json +++ b/public/language/nb/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Innstillinger ", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "Dette alternativet viser et nytt felt som lar gjestene velge et navn som kan knyttes til hvert innlegg de lager. Hvis de er deaktivert, vil de bare bli kalt \"Gjest\"", "topic-views.enabled": "La gjestene øke antall visninger av emner", diff --git a/public/language/nb/admin/settings/navigation.json b/public/language/nb/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/nb/admin/settings/navigation.json +++ b/public/language/nb/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/nb/admin/settings/post.json b/public/language/nb/admin/settings/post.json index 68f031bacc..ffa1696253 100644 --- a/public/language/nb/admin/settings/post.json +++ b/public/language/nb/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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": "Antall svar i tråd før bruker ikke lenger får lov til å slette egen tråd (sett til 0 for å deaktivere)", - "restrictions.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum antall innlegg i tråd før registrering av sist lest", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/nb/admin/settings/reputation.json b/public/language/nb/admin/settings/reputation.json index ddf6fd0f44..22c2a3afb9 100644 --- a/public/language/nb/admin/settings/reputation.json +++ b/public/language/nb/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/nb/admin/settings/social.json b/public/language/nb/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/nb/admin/settings/social.json +++ b/public/language/nb/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/nb/admin/settings/tags.json b/public/language/nb/admin/settings/tags.json index 57c22ae822..ffaf21e708 100644 --- a/public/language/nb/admin/settings/tags.json +++ b/public/language/nb/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimalt antall emneord per tråd", "max-per-topic": "Maksimalt antall emneord per tråd", "min-length": "Minimum Tag Length", diff --git a/public/language/nb/admin/settings/user.json b/public/language/nb/admin/settings/user.json index c6199c5698..874f327e70 100644 --- a/public/language/nb/admin/settings/user.json +++ b/public/language/nb/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maksimum lengde på om meg", "terms-of-use": "Brukervilkår for nettforumet (La stå tomt for å deaktivere)", "user-search": "Brukersøk", - "user-search-results-per-page": "Antall resultater å vise", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Standard brukerinnstillinger ", "show-email": "Vis e-post", "show-fullname": "Vis fullt navn", diff --git a/public/language/nb/error.json b/public/language/nb/error.json index c82f0f1065..c33c8ba5a8 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Brukeren «%1» har ikke lagt til e-postadresse. ", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Funksjonaliteten \"sendmail\" ble ikke funnet, vennligst sjekk at den er installert og kjørbar av brukeren som kjører NodeBB.", "digest-not-enabled": "Denne brukeren har ikke oppsummeringer aktivert, eller systemstandarden er ikke konfigurert til å sende ut oppsummeringer", "username-too-short": "Brukernavnet er for kort", diff --git a/public/language/nb/global.json b/public/language/nb/global.json index 1e259315a6..d42357b63a 100644 --- a/public/language/nb/global.json +++ b/public/language/nb/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Du har blitt logget inn", "save_changes": "Lagre endringer", "save": "Lagre", + "create": "Create", "cancel": "Cancel", "close": "Lukk", "pagination": "Paginering", diff --git a/public/language/nb/modules.json b/public/language/nb/modules.json index a8065d1fa4..5153061778 100644 --- a/public/language/nb/modules.json +++ b/public/language/nb/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat med", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Du ser på eldre meldinger, klikk her for å gå til siste melding", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index 83c2e67659..93b9c41cc1 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagget innhold", "ip-blacklist": "IP Svarteliste", "post-queue": "Innleggskø", + "registration-queue": "Registration Queue", "users/online": "Påloggede Brukere", "users/latest": "Nyeste Brukere", "users/sort-posts": "Brukere med flest innlegg", diff --git a/public/language/nb/themes/harmony.json b/public/language/nb/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/nb/themes/harmony.json +++ b/public/language/nb/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index 283d7bbe3c..40b7c1520b 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Timeplan", "composer.replying_to": "Svarer i %1", "composer.new_topic": "Ny tråd", - "composer.editing": "Redigering", + "composer.editing-in": "Editing post in %1", "composer.uploading": "laster opp...", "composer.thumb_url_label": "Lim inn som tråd-minatyr URL", "composer.thumb_title": "Legg til minatyr til denne tråden", diff --git a/public/language/nb/user.json b/public/language/nb/user.json index e861fe88d0..83ca7881be 100644 --- a/public/language/nb/user.json +++ b/public/language/nb/user.json @@ -141,6 +141,8 @@ "group-order-help": "Velg en gruppe og bruk pilene for å gi titler ", "no-group-title": "Ingen gruppetittel", "select-skin": "Velg et skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Velg en hjemmeside", "homepage": "Hjemmeside", "homepage_description": "Velg en side du vil bruke som forumets hjemmeside, eller 'Ingen' for å bruke standardhjemmesiden.", diff --git a/public/language/nb/users.json b/public/language/nb/users.json index 08d758638e..3bd83713f5 100644 --- a/public/language/nb/users.json +++ b/public/language/nb/users.json @@ -6,7 +6,7 @@ "most_flags": "Flest flagg", "search": "Søk", "enter_username": "Skriv inn et brukernavn for å søke", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Last flere", "users-found-search-took": "%1 bruker(e) funnet. Søket tok %2 sekunder.", "filter-by": "Filtrer etter", diff --git a/public/language/nl/admin/admin.json b/public/language/nl/admin/admin.json index e5aa9a1d58..8ac9574eb6 100644 --- a/public/language/nl/admin/admin.json +++ b/public/language/nl/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Administrator Controlepaneel", "settings-header-contents": "Inhoud", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/nl/admin/advanced/cache.json b/public/language/nl/admin/advanced/cache.json index 67cef0c6b5..926f30b0d0 100644 --- a/public/language/nl/admin/advanced/cache.json +++ b/public/language/nl/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Onderwerpcache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/nl/admin/advanced/database.json b/public/language/nl/admin/advanced/database.json index 4ebec48004..1c343bb118 100644 --- a/public/language/nl/admin/advanced/database.json +++ b/public/language/nl/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in seconden", "uptime-days": "Uptime in dagen", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB versie", "mongo.storage-engine": "Opslag Engine", "mongo.collections": "Collecties", diff --git a/public/language/nl/admin/advanced/errors.json b/public/language/nl/admin/advanced/errors.json index 304e44ddc8..2ec568ffde 100644 --- a/public/language/nl/admin/advanced/errors.json +++ b/public/language/nl/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figuur %1", "error-events-per-day": "%1 gebeurtenissen per dag", "error.404": "404 Niet gevonden", diff --git a/public/language/nl/admin/appearance/customise.json b/public/language/nl/admin/appearance/customise.json index 1b5ccab2b6..f1d310bd4f 100644 --- a/public/language/nl/admin/appearance/customise.json +++ b/public/language/nl/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Activeer aangepaste header", "custom-css.livereload": "Activeer Live Reload", - "custom-css.livereload.description": "Activeer dit om alle sessies op elk apparaat ingelogd onder jouw account te verversen elke keer wanneer je op opslaan klikt." + "custom-css.livereload.description": "Activeer dit om alle sessies op elk apparaat ingelogd onder jouw account te verversen elke keer wanneer je op opslaan klikt.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/nl/admin/appearance/skins.json b/public/language/nl/admin/appearance/skins.json index 0d49afe927..f7e3d22b99 100644 --- a/public/language/nl/admin/appearance/skins.json +++ b/public/language/nl/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Style laden...", "homepage": "Startpagina", "select-skin": "Kies stijl", + "revert-skin": "Revert Skin", "current-skin": "Huidige stijl", "skin-updated": "Stijl bijgewerkt", "applied-success": "%1 stijl was succesvol toegepast", diff --git a/public/language/nl/admin/appearance/themes.json b/public/language/nl/admin/appearance/themes.json index 597830f379..3820a4d6fd 100644 --- a/public/language/nl/admin/appearance/themes.json +++ b/public/language/nl/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", - "homepage": "Homepage", + "homepage": "Startpagina", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/nl/admin/dashboard.json b/public/language/nl/admin/dashboard.json index 92ad43f428..149c182e15 100644 --- a/public/language/nl/admin/dashboard.json +++ b/public/language/nl/admin/dashboard.json @@ -21,18 +21,18 @@ "stats.this-week": "This Week", "stats.last-month": "Last Month", "stats.this-month": "This Month", - "stats.all": "All Time", + "stats.all": "Aller Tijden", "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", @@ -50,22 +50,22 @@ "maintenance-mode-title": "Click here to set up maintenance mode for NodeBB", "realtime-chart-updates": "Realtime Chart Updates", - "active-users": "Active Users", - "active-users.users": "Users", - "active-users.guests": "Guests", + "active-users": "Actieve gebruikers", + "active-users.users": "Gebruikers", + "active-users.guests": "Gasten", "active-users.total": "Total", "active-users.connections": "Connecties", "guest-registered-users": "Guest vs Registered Users", "guest": "Guest", - "registered": "Registered", + "registered": "Geregistreerd", "user-presence": "User Presence", "on-categories": "On categories list", "reading-posts": "Reading posts", "browsing-topics": "Browsing topics", "recent": "Recent", - "unread": "Unread", + "unread": "Ongelezen", "high-presence-topics": "High Presence Topics", "popular-searches": "Popular Searches", @@ -74,7 +74,7 @@ "graphs.page-views-registered": "Page Views Registered", "graphs.page-views-guest": "Page Views Guest", "graphs.page-views-bot": "Page Views Bot", - "graphs.unique-visitors": "Unique Visitors", + "graphs.unique-visitors": "Unieke bezoekers", "graphs.registered-users": "Registered Users", "graphs.guest-users": "Guest Users", "last-restarted-by": "Laatst herstart door", diff --git a/public/language/nl/admin/development/info.json b/public/language/nl/admin/development/info.json index 11202d9c3a..774d976cc8 100644 --- a/public/language/nl/admin/development/info.json +++ b/public/language/nl/admin/development/info.json @@ -17,9 +17,9 @@ "cpu-usage": "cpu usage", "uptime": "uptime", - "registered": "Registered", + "registered": "Geregistreerd", "sockets": "Sockets", - "guests": "Guests", + "guests": "Gasten", - "info": "Info" + "info": "Informatie" } \ No newline at end of file diff --git a/public/language/nl/admin/development/logger.json b/public/language/nl/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/nl/admin/development/logger.json +++ b/public/language/nl/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/nl/admin/extend/plugins.json b/public/language/nl/admin/extend/plugins.json index f7e60c4360..4c6f3d306f 100644 --- a/public/language/nl/admin/extend/plugins.json +++ b/public/language/nl/admin/extend/plugins.json @@ -1,8 +1,9 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", - "active": "Active", - "inactive": "Inactive", + "active": "Actief", + "inactive": "Inactief", "out-of-date": "Out of Date", "none-found": "No plugins found.", "none-active": "No Active Plugins", @@ -21,15 +22,15 @@ "plugin-item.themes": "Themes", "plugin-item.deactivate": "Deactivate", - "plugin-item.activate": "Activate", + "plugin-item.activate": "Activeer", "plugin-item.install": "Install", "plugin-item.uninstall": "Uninstall", - "plugin-item.settings": "Settings", - "plugin-item.installed": "Installed", + "plugin-item.settings": "Instellingen", + "plugin-item.installed": "Geïnstalleerd", "plugin-item.latest": "Latest", "plugin-item.upgrade": "Upgrade", "plugin-item.more-info": "For more information:", - "plugin-item.unknown": "Unknown", + "plugin-item.unknown": "Onbekend", "plugin-item.unknown-explanation": "The state of this plugin could not be determined, possibly due to a misconfiguration error.", "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.", diff --git a/public/language/nl/admin/extend/rewards.json b/public/language/nl/admin/extend/rewards.json index df89d441a7..5c79594a3e 100644 --- a/public/language/nl/admin/extend/rewards.json +++ b/public/language/nl/admin/extend/rewards.json @@ -1,13 +1,15 @@ { - "rewards": "Rewards", + "rewards": "Beloningen", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", - "zero-infinite": "Enter 0 for infinite", - "delete": "Delete", - "enable": "Enable", - "disable": "Disable", + "zero-infinite": "Voer 0 in voor oneindig", + "select-reward": "Select reward", + "delete": "Verwijderen", + "enable": "Inschakelen", + "disable": "Uitschakelen", "alert.delete-success": "Successfully deleted reward", "alert.no-inputs-found": "Illegal reward - no inputs found!", diff --git a/public/language/nl/admin/extend/widgets.json b/public/language/nl/admin/extend/widgets.json index 9adfb98ab5..006e339107 100644 --- a/public/language/nl/admin/extend/widgets.json +++ b/public/language/nl/admin/extend/widgets.json @@ -1,11 +1,12 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", "clone-from": "Clone widgets from", "containers.available": "Available Containers", "containers.explanation": "Drag and drop on top of any active widget", - "containers.none": "None", + "containers.none": "Geen", "container.well": "Well", "container.jumbotron": "Jumbotron", "container.card": "Card", diff --git a/public/language/nl/admin/manage/admins-mods.json b/public/language/nl/admin/manage/admins-mods.json index 3425370804..6075fba4e0 100644 --- a/public/language/nl/admin/manage/admins-mods.json +++ b/public/language/nl/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Globale Moderators", "moderators": "Moderators", "no-global-moderators": "Geen Globale Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Geen Moderators", "add-administrator": "Voeg Administrator toe", "add-global-moderator": "Voeg Globale Moderator toe", diff --git a/public/language/nl/admin/manage/categories.json b/public/language/nl/admin/manage/categories.json index 4380f5c465..1a786831b4 100644 --- a/public/language/nl/admin/manage/categories.json +++ b/public/language/nl/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/nl/admin/manage/groups.json b/public/language/nl/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/nl/admin/manage/groups.json +++ b/public/language/nl/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/nl/admin/manage/privileges.json b/public/language/nl/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/nl/admin/manage/privileges.json +++ b/public/language/nl/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/nl/admin/manage/tags.json b/public/language/nl/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/nl/admin/manage/tags.json +++ b/public/language/nl/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/nl/admin/manage/uploads.json b/public/language/nl/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/nl/admin/manage/uploads.json +++ b/public/language/nl/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/nl/admin/manage/users.json b/public/language/nl/admin/manage/users.json index 3411342b47..e1376724be 100644 --- a/public/language/nl/admin/manage/users.json +++ b/public/language/nl/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Gebruikers", "edit": "Actions", "make-admin": "Maak administrator", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/nl/admin/menu.json b/public/language/nl/admin/menu.json index 379e0b2687..0b26226e19 100644 --- a/public/language/nl/admin/menu.json +++ b/public/language/nl/admin/menu.json @@ -5,35 +5,35 @@ "dashboard/users": "Users", "dashboard/topics": "Topics", "dashboard/searches": "Searches", - "section-general": "General", + "section-general": "Algemeen", - "section-manage": "Manage", - "manage/categories": "Categories", + "section-manage": "Beheren", + "manage/categories": "Categorieën", "manage/privileges": "Privileges", "manage/tags": "Tags", - "manage/users": "Users", + "manage/users": "Gebruikers", "manage/admins-mods": "Admins & Mods", "manage/registration": "Registration Queue", "manage/post-queue": "Post Queue", - "manage/groups": "Groups", + "manage/groups": "Groepen", "manage/ip-blacklist": "IP Blacklist", "manage/uploads": "Uploads", "manage/digest": "Digests", - "section-settings": "Settings", - "settings/general": "General", + "section-settings": "Instellingen", + "settings/general": "Algemeen", "settings/homepage": "Home Page", "settings/navigation": "Navigation", "settings/reputation": "Reputation & Flags", - "settings/email": "Email", - "settings/user": "Users", - "settings/group": "Groups", - "settings/guest": "Guests", + "settings/email": "E-mail", + "settings/user": "Gebruikers", + "settings/group": "Groepen", + "settings/guest": "Gasten", "settings/uploads": "Uploads", "settings/languages": "Languages", - "settings/post": "Posts", + "settings/post": "Berichten", "settings/chat": "Chats", - "settings/pagination": "Pagination", + "settings/pagination": "Paginering", "settings/tags": "Tags", "settings/notifications": "Notifications", "settings/api": "API Access", @@ -42,45 +42,47 @@ "settings/cookies": "Cookies", "settings/web-crawler": "Web Crawler", "settings/sockets": "Sockets", - "settings/advanced": "Advanced", + "settings/advanced": "Geavanceerd", "settings.page-title": "%1 Settings", "section-appearance": "Appearance", - "appearance/themes": "Themes", + "appearance/themes": "Themas", "appearance/skins": "Skins", "appearance/customise": "Custom Content (HTML/JS/CSS)", "section-extend": "Extend", "extend/plugins": "Plugins", "extend/widgets": "Widgets", - "extend/rewards": "Rewards", + "extend/rewards": "Beloningen", "section-social-auth": "Social Authentication", "section-plugins": "Plugins", "extend/plugins.install": "Install Plugins", - "section-advanced": "Advanced", + "section-advanced": "Geavanceerd", "advanced/database": "Database", "advanced/events": "Events", "advanced/hooks": "Hooks", "advanced/logs": "Logs", - "advanced/errors": "Errors", + "advanced/errors": "Fouten", "advanced/cache": "Cache", "development/logger": "Logger", - "development/info": "Info", + "development/info": "Informatie", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", - "search.placeholder": "Search settings", - "search.no-results": "No results...", + "search.placeholder": "Zoek in instellingen", + "search.no-results": "Geen resultaten...", "search.search-forum": "Search the forum for ", "search.keep-typing": "Type more to see results...", - "search.start-typing": "Start typing to see results...", + "search.start-typing": "Start met typen om resultaten te zien...", "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", diff --git a/public/language/nl/admin/settings/api.json b/public/language/nl/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/nl/admin/settings/api.json +++ b/public/language/nl/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/nl/admin/settings/general.json b/public/language/nl/admin/settings/general.json index fedadad45d..e54fe84623 100644 --- a/public/language/nl/admin/settings/general.json +++ b/public/language/nl/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Instellingen", "title": "Site Titel", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "De URL van de site titel", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Jouw Communiy Naam", "title.show-in-header": "Toon Site Titel in Header", "browser-title": "Browser Titel", @@ -16,7 +18,7 @@ "description": "Site Beschrijving", "keywords": "Site Trefwoorden", "keywords-placeholder": "Trefwoorden die uw community beschrijven, kommagescheiden", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Afbeelding", "logo.image-placeholder": "Pad naar een logo om te tonen op de forum header", "logo.upload": "Uploaden", diff --git a/public/language/nl/admin/settings/guest.json b/public/language/nl/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/nl/admin/settings/guest.json +++ b/public/language/nl/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/nl/admin/settings/navigation.json b/public/language/nl/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/nl/admin/settings/navigation.json +++ b/public/language/nl/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/nl/admin/settings/post.json b/public/language/nl/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/nl/admin/settings/post.json +++ b/public/language/nl/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/nl/admin/settings/reputation.json b/public/language/nl/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/nl/admin/settings/reputation.json +++ b/public/language/nl/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/nl/admin/settings/social.json b/public/language/nl/admin/settings/social.json index 85ed00c695..5176bb7b81 100644 --- a/public/language/nl/admin/settings/social.json +++ b/public/language/nl/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Berichten delen", - "info-plugins-additional": "Plug-ins kunnen extra netwerken toevoegen om berichten mee te delen.", - "save-success": "Netwerken om berichten te delen is succesvol opgeslagen!" + "info-plugins-additional": "Plug-ins kunnen extra netwerken toevoegen om berichten mee te delen." } \ No newline at end of file diff --git a/public/language/nl/admin/settings/tags.json b/public/language/nl/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/nl/admin/settings/tags.json +++ b/public/language/nl/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/nl/admin/settings/user.json b/public/language/nl/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/nl/admin/settings/user.json +++ b/public/language/nl/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index 4d9ad3586f..d9bd55dc51 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "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": "De gebruiker heeft samenvatting niet aangezet, of de systeem default is niet geconfigureerd om samenvattingen te versturen", "username-too-short": "Gebruikersnaam is te kort", @@ -199,7 +200,7 @@ "cant-kick-self": "Je kunt jezelf niet uit een groep schoppen", "no-users-selected": "Geen gebruiker(s) geselecteerd", "invalid-home-page-route": "Onbekende homepage route", - "invalid-session": "Invalid Session", + "invalid-session": "Ongeldige Sessie", "invalid-session-text": "It looks like your login session is no longer active. Please refresh this page.", "session-mismatch": "Session Mismatch", "session-mismatch-text": "It looks like your login session no longer matches with the server. Please refresh this page.", diff --git a/public/language/nl/global.json b/public/language/nl/global.json index 3fb5e86257..3e208bdb2c 100644 --- a/public/language/nl/global.json +++ b/public/language/nl/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Aanmelden succesvol", "save_changes": "Wijzigingen opslaan", "save": "Opslaan", + "create": "Create", "cancel": "Cancel", "close": "Sluiten", "pagination": "Paginering", diff --git a/public/language/nl/modules.json b/public/language/nl/modules.json index 3b20f7faea..45b80e955c 100644 --- a/public/language/nl/modules.json +++ b/public/language/nl/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat met", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Je kijkt nu naar oudere berichten. Klik hier om naar het meest recente bericht te gaan.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", @@ -10,8 +10,8 @@ "chat.no_active": "Er zijn geen actieve chats.", "chat.user_typing": "%1 is aan het typen ...", "chat.user_has_messaged_you": "%1 heeft een bericht gestuurd", - "chat.see_all": "All chats", - "chat.mark_all_read": "Mark all read", + "chat.see_all": "Alle chats", + "chat.mark_all_read": "Alles markeren als gelezen", "chat.no-messages": "Selecteer een ontvanger om de chatgeschiedenis in te zien", "chat.no-users-in-room": "Geen gebruikers in deze chat room", "chat.recent-chats": "Recent gevoerde gesprekken", diff --git a/public/language/nl/notifications.json b/public/language/nl/notifications.json index 0025eca31b..fa4e69e9ea 100644 --- a/public/language/nl/notifications.json +++ b/public/language/nl/notifications.json @@ -1,8 +1,8 @@ { "title": "Notificaties", "no_notifs": "Je hebt geen nieuwe notificaties", - "see_all": "All notifications", - "mark_all_read": "Mark all read", + "see_all": "Alle notificaties", + "mark_all_read": "Alles markeren als gelezen", "back_to_home": "Terug naar %1", "outgoing_link": "Uitgaande Link", "outgoing_link_message": "U verlaat nu %1", diff --git a/public/language/nl/pages.json b/public/language/nl/pages.json index 5291a9967a..33ccca2f79 100644 --- a/public/language/nl/pages.json +++ b/public/language/nl/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Gemarkeerde content", "ip-blacklist": "IP zwarte lijst", "post-queue": "Berichten wachtrij", + "registration-queue": "Registration Queue", "users/online": "Online Gebruikers", "users/latest": "Meest recente gebruikers", "users/sort-posts": "Gebruikers met de meeste berichten", @@ -54,7 +55,7 @@ "account/ignored": "Onderwerpen genegeerd door %1", "account/upvoted": "Berichten omhoog gestemd door %1", "account/downvoted": "Berichten omlaag gestemd door %1", - "account/best": "Beste berichten geplaast door %1", + "account/best": "Beste berichten geplaatst door %1", "account/controversial": "Controversial posts made by %1", "account/blocks": "Gebruikers geblokkeerd door %1", "account/uploads": "Uploads door %1", diff --git a/public/language/nl/search.json b/public/language/nl/search.json index f4219dd38c..8ae947dbfc 100644 --- a/public/language/nl/search.json +++ b/public/language/nl/search.json @@ -7,7 +7,7 @@ "in-titles": "In titles", "in-titles-posts": "In titles and posts", "in-posts": "In posts", - "in-categories": "In categories", + "in-categories": "In categorieën", "in-users": "In users", "in-tags": "In tags", "categories": "Categories", diff --git a/public/language/nl/themes/harmony.json b/public/language/nl/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/nl/themes/harmony.json +++ b/public/language/nl/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/nl/topic.json b/public/language/nl/topic.json index f793068bee..db0295d2c0 100644 --- a/public/language/nl/topic.json +++ b/public/language/nl/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Reactie op %1", "composer.new_topic": "Nieuw onderwerp", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "uploaden...", "composer.thumb_url_label": "Plak een URL naar een miniatuurweergave voor dit onderwerp", "composer.thumb_title": "Voeg een miniatuurweergave toe aan dit onderwerp", diff --git a/public/language/nl/user.json b/public/language/nl/user.json index 6f0abe3b93..843dbb0b60 100644 --- a/public/language/nl/user.json +++ b/public/language/nl/user.json @@ -141,6 +141,8 @@ "group-order-help": "Selecteer een groep en gebruik de pijltjes om titels te sorteren", "no-group-title": "Geen groepstitel", "select-skin": "Selecteer een skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Selecteer een startpagina", "homepage": "Startpagina", "homepage_description": "Selecteer een pagina om te gebruiken als startpagina, of selecteer geen om de standaard pagina te gebruiken.", diff --git a/public/language/nl/users.json b/public/language/nl/users.json index 69f5d90dc2..891112a397 100644 --- a/public/language/nl/users.json +++ b/public/language/nl/users.json @@ -6,7 +6,7 @@ "most_flags": "Meeste vlaggen", "search": "Zoeken", "enter_username": "Vul een gebruikersnaam in om te zoeken", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Meer laden...", "users-found-search-took": "%1 gebruiker(s) gevonden! Zoekactie duurde %2 seconden.", "filter-by": "Filter op", diff --git a/public/language/pl/admin/admin.json b/public/language/pl/admin/admin.json index 6b2b958253..c4b06132ea 100644 --- a/public/language/pl/admin/admin.json +++ b/public/language/pl/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Panel administracyjny NodeBB", "settings-header-contents": "Zawartość", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Zmiany nie zostały zapisane", - "changes-not-saved-message": "Wystąpił błąd podczas zapisywania zmian. (%1)" + "changes-not-saved-message": "Wystąpił błąd podczas zapisywania zmian. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/pl/admin/advanced/cache.json b/public/language/pl/admin/advanced/cache.json index f333aebbdd..3e5d05a726 100644 --- a/public/language/pl/admin/advanced/cache.json +++ b/public/language/pl/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Pamięć podręczna postów", "group-cache": "Pamięć podręczna grupy", "local-cache": "Lokalna pamięć podręczna", diff --git a/public/language/pl/admin/advanced/database.json b/public/language/pl/admin/advanced/database.json index 2602a51f10..2e011271f8 100644 --- a/public/language/pl/admin/advanced/database.json +++ b/public/language/pl/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Czas od restartu w sekundach", "uptime-days": "Czas od restartu w dniach", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Wersja MongoDB", "mongo.storage-engine": "Silnik magazynowania", "mongo.collections": "Kolekcje", diff --git a/public/language/pl/admin/advanced/errors.json b/public/language/pl/admin/advanced/errors.json index 5efa0e19d5..1846da1313 100644 --- a/public/language/pl/admin/advanced/errors.json +++ b/public/language/pl/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Błąd %1", "error-events-per-day": "%1 zdarzeń dziennie", "error.404": "404 Nie znaleziono", diff --git a/public/language/pl/admin/appearance/customise.json b/public/language/pl/admin/appearance/customise.json index 43c6903f47..3c33ed3d88 100644 --- a/public/language/pl/admin/appearance/customise.json +++ b/public/language/pl/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Niestandardowe CSS/SASS", "custom-css.description": "Wprowadź tutaj własne deklaracje CSS/SASS, które zostaną zastosowane w wszystkich innych stylach.", "custom-css.enable": "Włącz niestandardowe CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Włącz własny nagłówek", "custom-css.livereload": "Włącz dynamiczne przeładowanie", - "custom-css.livereload.description": "Włącz, jeśli chcesz wymusić odświeżenie wszystkich sesji na każdym urządzeniu na Twoim koncie zawsze, gdy klikniesz „zapisz”." + "custom-css.livereload.description": "Włącz, jeśli chcesz wymusić odświeżenie wszystkich sesji na każdym urządzeniu na Twoim koncie zawsze, gdy klikniesz „zapisz”.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/pl/admin/appearance/skins.json b/public/language/pl/admin/appearance/skins.json index 05c898c195..808213a123 100644 --- a/public/language/pl/admin/appearance/skins.json +++ b/public/language/pl/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Ładowania skórki...", "homepage": "Strona startowa", "select-skin": "Wybierz Skórkę", + "revert-skin": "Revert Skin", "current-skin": "Obecna skórka", "skin-updated": "Skórka zaktualizowana", "applied-success": "%1 skórki jest zachowana z powodzeniem", diff --git a/public/language/pl/admin/appearance/themes.json b/public/language/pl/admin/appearance/themes.json index 03c02785af..06e066e7dc 100644 --- a/public/language/pl/admin/appearance/themes.json +++ b/public/language/pl/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Sprawdzanie zainstalowanego stylu...", "homepage": "Strona startowa", "select-theme": "Wybierz Styl", + "revert-theme": "Revert Theme", "current-theme": "Aktualny Styl", "no-themes": "Brak zainstalowanych stylów", "revert-confirm": "Czy na pewno chcesz przywrócić domyślny styl NodeBB?", diff --git a/public/language/pl/admin/dashboard.json b/public/language/pl/admin/dashboard.json index 239a32d6d5..570d48cfd0 100644 --- a/public/language/pl/admin/dashboard.json +++ b/public/language/pl/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Aktualizacje", "running-version": "Forum działa dzięki NodeBB v%1", "keep-updated": "Aktualizuj NodeBB regularnie, by zwiększać bezpieczeństwa i wprowadzać poprawki.", - "up-to-date": "

NodeBB jest aktualny

", - "upgrade-available": "

Została wydana nowa wersja (v%1). Rozważ aktualizację NodeBB.

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

To jest nieaktualna przedpremierowa wersja NodeBB. Została wydana nowa wersja (v%1). Rozważ aktualizację NodeBB.

", - "prerelease-warning": "

To jest przedpremierowa wersja NodeBB. Mogą występować błędy.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Nie znaleziono kopii maila!", - "running-in-development": "Forum działa w trybie programistycznym i może być podatne na zagrożenia. Skontaktuj się z administratorem.", - "latest-lookup-failed": "

Nie udało się odnaleźć najnowszej wersji NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Powiadomienia", "restart-not-required": "Restart nie jest wymagany", diff --git a/public/language/pl/admin/development/logger.json b/public/language/pl/admin/development/logger.json index 5f76474579..d59bb2ba1c 100644 --- a/public/language/pl/admin/development/logger.json +++ b/public/language/pl/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Ustawienia dziennika", "description": "Poprzez zaznaczenie tych pól wyboru otrzymasz na twój terminal. Zamiast tego jeśli podasz ścieżkę, logi zostaną tam zapisane. Logowanie HTTP jest przydatne dla zbierania statystyk o tym kto, kiedy i co czytali na twoim forum. W dodatku do logowania żądań HTTP, możemy też zapisywać zdarzenia socket.io. Logowanie Socket.io, w powiązaniu z monitorowaniem redis-cli, może być bardzo przydatne podczas poznawania mechanizmów wewnętrznych NodeBB.", "explanation": "Zaznacz/odznacz aby właczyc albo wyłączyć dziennik. Restart nie jest wymagany.", diff --git a/public/language/pl/admin/extend/plugins.json b/public/language/pl/admin/extend/plugins.json index fa3c3ebefc..4c28ef0b99 100644 --- a/public/language/pl/admin/extend/plugins.json +++ b/public/language/pl/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "O trendzie", "installed": "Zainstalowane", "active": "Aktywne", diff --git a/public/language/pl/admin/extend/rewards.json b/public/language/pl/admin/extend/rewards.json index afe04e15af..0db73b20ad 100644 --- a/public/language/pl/admin/extend/rewards.json +++ b/public/language/pl/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Nagrody", + "add-reward": "Add reward", "condition-if-users": "Jeżeli użytkownik", "condition-is": "Jest:", "condition-then": "To:", "max-claims": "Ile razy nagroda może zostać przyznana", "zero-infinite": "Wpisz 0, aby nieskończona liczbę razy", + "select-reward": "Select reward", "delete": "Usuń", "enable": "Włącz", "disable": "Wyłącz", diff --git a/public/language/pl/admin/extend/widgets.json b/public/language/pl/admin/extend/widgets.json index 670b0a9ec7..95fd7ced7c 100644 --- a/public/language/pl/admin/extend/widgets.json +++ b/public/language/pl/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Dostępne Widgety", "explanation": "Wybierz widget z menu rozwijalnego i przeciągnij go na wybrane pole z lewej strony.", "none-installed": "Nie odnaleziono widgetów! Aktywuj wtyczkę „widget essentials w panelu sterowania wtyczek.", diff --git a/public/language/pl/admin/manage/admins-mods.json b/public/language/pl/admin/manage/admins-mods.json index 243d54e089..05a27e8275 100644 --- a/public/language/pl/admin/manage/admins-mods.json +++ b/public/language/pl/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administratorzy", "global-moderators": "Globalni moderatorzy", "moderators": "Moderatorzy", "no-global-moderators": "Brak globalnych moderatorów", "no-sub-categories": "Brak podkategorii", - "subcategories": "%1 podkategorii", + "view-children": "View children (%1)", "no-moderators": "Brak moderatorów", "add-administrator": "Dodaj administratora", "add-global-moderator": "Dodaj globalnego moderatora", diff --git a/public/language/pl/admin/manage/categories.json b/public/language/pl/admin/manage/categories.json index 70dbbeba4b..81f50eed3e 100644 --- a/public/language/pl/admin/manage/categories.json +++ b/public/language/pl/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Ustawienia kategorii", + "edit-category": "Edit Category", "privileges": "Uprawnienia", - + "back-to-categories": "Back to categories", "name": "Nazwa kategorii", "description": "Opis kategorii", "bg-color": "Kolor tła", @@ -15,8 +19,11 @@ "post-queue": "Kolejka postów", "tag-whitelist": "Otaguj białą listę", "upload-image": "Prześlij obrazek", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Usuń", "category-image": "Obrazek kategorii", + "image-and-icon": "Image & Icon", "parent-category": "Kategoria nadrzędna", "optional-parent-category": "(Opcjonalne) Kategoria nadrzędna", "top-level": "Najwyższy poziom", @@ -31,6 +38,7 @@ "disable": "Wyłącz", "edit": "Edytuj", "analytics": "Analityka", + "view-category": "Wyświetl kategorię", "set-order": "Ustaw kolejnośc", "set-order-help": "Ustawienie kolejności kategorii przesunie tę kategorię w żądanej kolejności i zaktualizuje kolejność zgodnie z potrzebą. Minimalna kolejność to 1, co umieści daną kategorię na górze.", diff --git a/public/language/pl/admin/manage/groups.json b/public/language/pl/admin/manage/groups.json index 985734e733..72eba40715 100644 --- a/public/language/pl/admin/manage/groups.json +++ b/public/language/pl/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Nazwa grupy", "badge": "Plakietka", "properties": "Właściwości", @@ -10,7 +16,7 @@ "edit": "Edytuj", "delete": "Usuń", "privileges": "Uprawnienia", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Szukaj", "create": "Utwórz grupę", "description-placeholder": "Krótki opis grupy", diff --git a/public/language/pl/admin/manage/privileges.json b/public/language/pl/admin/manage/privileges.json index b0ba548926..a1f0dcde1f 100644 --- a/public/language/pl/admin/manage/privileges.json +++ b/public/language/pl/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Globalny", "admin": "Admin", "group-privileges": "Uprawnienia grup", diff --git a/public/language/pl/admin/manage/tags.json b/public/language/pl/admin/manage/tags.json index ccff6ca049..3593bcfa43 100644 --- a/public/language/pl/admin/manage/tags.json +++ b/public/language/pl/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Twoje forum nie ma jeszcze żadnych tematów z tagami.", "bg-color": "Kolor tła", "text-color": "Kolor tekstu", "description": "Wybieraj tagi poprzez klikanie lub przeciąganie; użyj przycisku CTRL do zaznaczenia wielu.", "create": "Utwórz tag", + "add-tag": "Add tag", "modify": "Modyfikuj tagi", "rename": "Przemianuj tagi", "delete": "Usuń zaznaczone tagi", diff --git a/public/language/pl/admin/manage/uploads.json b/public/language/pl/admin/manage/uploads.json index ef7a9164e7..dd562aaa7c 100644 --- a/public/language/pl/admin/manage/uploads.json +++ b/public/language/pl/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Wyślij plik", "filename": "Nazwa pliku", "usage": "Wykorzystany w poście", diff --git a/public/language/pl/admin/manage/users.json b/public/language/pl/admin/manage/users.json index 35a3fcf32d..fee09fa707 100644 --- a/public/language/pl/admin/manage/users.json +++ b/public/language/pl/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Użytkownicy", "edit": "Actions", "make-admin": "Nadaj uprawnienia administratora", @@ -49,6 +50,10 @@ "users.username": "nazwa użytkownika", "users.email": "adres e-mail", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "liczba postów", "users.reputation": "reputacja", diff --git a/public/language/pl/admin/menu.json b/public/language/pl/admin/menu.json index 03219f99fb..2e9bbc9cc6 100644 --- a/public/language/pl/admin/menu.json +++ b/public/language/pl/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Informacja", "rebuild-and-restart-forum": "Odbudowa i restart forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restartuj forum", + "restart": "Restart", "logout": "Wyloguj się", "view-forum": "Zobacz forum", diff --git a/public/language/pl/admin/settings/api.json b/public/language/pl/admin/settings/api.json index 55ece93210..117e9d7685 100644 --- a/public/language/pl/admin/settings/api.json +++ b/public/language/pl/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Ustawienia", "lead-text": "Na tej stronie możesz skonfigurować dostęp do Write API w NodeBB.", "intro": "Domyślnie Write API uwierzytelnia użytkowników na podstawie ich sesji cookie, ale NodeBB obsługuje również uwierzytelnianie okaziciela za pomocą tokenów generowanych za pośrednictwem tej strony.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Kliknij tutaj, aby zobaczyć pełną specyfikację API", "require-https": "Wymagaj użycia API tylko przez HTTPS", "require-https-caveat": "Notatka: Niektóre instalacje z modułami równoważenia obciążenia mogą przekazywać swoje żądania do NodeBB za pomocą protokołu HTTP, w takim przypadku ta opcja powinna pozostać wyłączona.", "uid": "ID Użytkownika", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Opis", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Brak opisu.", - "token-on-save": "Token zostanie wygenerowany po zapisaniu formularza" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/pl/admin/settings/general.json b/public/language/pl/admin/settings/general.json index 04284cbb99..67cff5d7b7 100644 --- a/public/language/pl/admin/settings/general.json +++ b/public/language/pl/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Ustawienia strony", "title": "Tytuł strony", "title.short": "Krótki tytuł", "title.short-placeholder": "Jeśli nie wskazano krótkiego tytułu, użyty zostanie tytuł strony", "title.url": "Title Link URL", "title.url-placeholder": "Adres URL strony tytułowej", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Nazwa twojej społeczności", "title.show-in-header": "Pokazuj tytuł strony w nagłówku", "browser-title": "Tytuł karty przeglądarki", @@ -16,7 +18,7 @@ "description": "Opis strony", "keywords": "Słowa kluczowe strony", "keywords-placeholder": "Słowa kluczowe opisujące społeczność, oddzielone przecinkami", - "logo": "Logo strony", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Obraz", "logo.image-placeholder": "Ścieżka do logo, które ma być wyświetlane w nagłówku forum", "logo.upload": "Prześlij", diff --git a/public/language/pl/admin/settings/guest.json b/public/language/pl/admin/settings/guest.json index d69ff83fc4..7bb8cf219d 100644 --- a/public/language/pl/admin/settings/guest.json +++ b/public/language/pl/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Ustawienia", + "guest-settings": "Guest settings", "handles.enabled": "Zezwalaj gościom na podpisywanie się", "handles.enabled-help": "Opcja ta udostępnia gościom nowe pole, w którym mogą wybrać nazwę, pod jaką będą publikować posty. Jeśli opcja jest wyłączona, stosowana będzie po prostu nazwa „Gość”", "topic-views.enabled": "Zezwalaj gościom na zwiększenie liczbę wyświetleń tematu", diff --git a/public/language/pl/admin/settings/navigation.json b/public/language/pl/admin/settings/navigation.json index 7da473489d..21fbc93bdc 100644 --- a/public/language/pl/admin/settings/navigation.json +++ b/public/language/pl/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikona:", "change-icon": "zmień", "route": "Ścieżka:", diff --git a/public/language/pl/admin/settings/post.json b/public/language/pl/admin/settings/post.json index 140adf9302..8caf4b30f8 100644 --- a/public/language/pl/admin/settings/post.json +++ b/public/language/pl/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Sortowanie postów", "sorting.post-default": "Domyślne sortowanie postów", "sorting.oldest-to-newest": "Od najstarszych do najnowszych", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Liczba sekund, przez które wpisy mogą zostać edytowane. (0 wyłączone)", "restrictions.seconds-delete-after": "Liczba sekund, przez które wpisy mogą zostać usunięte. (0 wyłączone)", "restrictions.replies-no-delete": "Liczba odpowiedzi, po których użytkownicy nie mogą edytować własnych tematów (0 wyłącza)", - "restrictions.min-title-length": "Minimalna długość tytułu", - "restrictions.max-title-length": "Maksymalna długość tytułu", - "restrictions.min-post-length": "Minimalna długość postu", - "restrictions.max-post-length": "Maksymalna długość postu", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Liczba dni, po których temat będzie uznany za martwy", "restrictions.stale-help": "Jeśli temat został uznany za „martwy”, użytkownikom próbującym na niego odpowiedzieć wyświetli się stosowany komunikat.", "timestamp": "Znacznik czasowy", @@ -41,10 +40,9 @@ "teaser.last-reply": "Ostatni – Pokaż ostatnią odpowiedź lub komunikat „Brak odpowiedzi” w razie ich braku", "teaser.first": "Pierwszy", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Ustawienia nieprzeczytanych", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Dni do odcięcia nieprzeczytanych ", "unread.min-track-last": "Minimalna liczba postów w temacie przed śledzeniem ostatnio przeczytanego", - "recent": "Ustawienia ostatnich", "recent.max-topics": "Maksymalna liczba postów na stronie /recent", "recent.categoryFilter.disable": "Wyłącz filtrowanie tematów w ignorowanych kategoriach na stronie /recent", "signature": "Ustawienia sygnatur", diff --git a/public/language/pl/admin/settings/reputation.json b/public/language/pl/admin/settings/reputation.json index 2b5dfae219..4027961654 100644 --- a/public/language/pl/admin/settings/reputation.json +++ b/public/language/pl/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/pl/admin/settings/social.json b/public/language/pl/admin/settings/social.json index e75834e540..cfba132cdd 100644 --- a/public/language/pl/admin/settings/social.json +++ b/public/language/pl/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Udostępnianie postów", - "info-plugins-additional": "Wtyczki mogą dodać dodatkowe platformy do udostępniania postów", - "save-success": "Pomyślnie zapisano!" + "info-plugins-additional": "Wtyczki mogą dodać dodatkowe platformy do udostępniania postów" } \ No newline at end of file diff --git a/public/language/pl/admin/settings/tags.json b/public/language/pl/admin/settings/tags.json index ab433b739d..cfb226c2f0 100644 --- a/public/language/pl/admin/settings/tags.json +++ b/public/language/pl/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Zarządzaj tagami", "system-tags": "System tagów", "system-tags-help": "Tylko uprzywilejowani użytkownicy będą mogli używać tych tagów.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimalna liczba tagów na temat", "max-per-topic": "Maksymalna liczba tagów na temat", "min-length": "Minimalna długość tagu", diff --git a/public/language/pl/admin/settings/user.json b/public/language/pl/admin/settings/user.json index a8284f57a0..bde05a9e40 100644 --- a/public/language/pl/admin/settings/user.json +++ b/public/language/pl/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maksymalna długość pola O mnie", "terms-of-use": "Warunki użytkowania forum (Pozostaw puste, aby wyłączyć)", "user-search": "Wyszukiwanie użytkownków", - "user-search-results-per-page": "Liczba wyników do wyświetlenia", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Domyślne ustawienia użytkownika", "show-email": "Pokazuj adres e-mail", "show-fullname": "Pokazuj pełną nazwę uzytkownika", diff --git a/public/language/pl/error.json b/public/language/pl/error.json index 9ad2b1eefc..8f9444dec4 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Użytkownik \"%1\" nie ma ustawionego adresu email.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Program sendmail nie został znaleziony, proszę upewnij się, że jest zainstalowany i możliwy do uruchomienia przez użytkownika uruchamiającego NodeBB.", "digest-not-enabled": "Ten użytkownik nie ma włączonych skrótów lub system nie jest skonfigurowany do wysyłania skrótów", "username-too-short": "Nazwa użytkownika za krótka", diff --git a/public/language/pl/global.json b/public/language/pl/global.json index 6a75699be9..eeb7a4e417 100644 --- a/public/language/pl/global.json +++ b/public/language/pl/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Logowanie powiodło się.", "save_changes": "Zapisz zmiany", "save": "Zapisz", + "create": "Create", "cancel": "Cancel", "close": "Zamknij", "pagination": "Numerowanie stron", diff --git a/public/language/pl/modules.json b/public/language/pl/modules.json index d78b4b67be..320a089659 100644 --- a/public/language/pl/modules.json +++ b/public/language/pl/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Czatuj z", "chat.placeholder": "Wpisz tutaj wiadomość, przeciągnij i opuść obrazki, kliknij enter aby wysłać", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Przeglądasz starsze wiadomości, naciśnij tutaj by przejść do najnowszych", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json index 4f2adad2f4..ac9c80211a 100644 --- a/public/language/pl/pages.json +++ b/public/language/pl/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagi", "ip-blacklist": "Czarna lista adresów IP", "post-queue": "Kolejka postów", + "registration-queue": "Registration Queue", "users/online": "Dostępni użytkownicy", "users/latest": "Nowi użytkownicy", "users/sort-posts": "Użytkownicy z największą liczbą postów", diff --git a/public/language/pl/themes/harmony.json b/public/language/pl/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/pl/themes/harmony.json +++ b/public/language/pl/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/pl/themes/persona.json b/public/language/pl/themes/persona.json index e7d1945303..201caa9d18 100644 --- a/public/language/pl/themes/persona.json +++ b/public/language/pl/themes/persona.json @@ -1,7 +1,7 @@ { "settings.title": "Theme settings", "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", + "settings.mobile-menu-side": "Menu mobilne po prawej stronie", "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", diff --git a/public/language/pl/topic.json b/public/language/pl/topic.json index 473f0176a8..9c265da6b4 100644 --- a/public/language/pl/topic.json +++ b/public/language/pl/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Odpowiedź na %1", "composer.new_topic": "Nowy temat", - "composer.editing": "Edytowanie", + "composer.editing-in": "Editing post in %1", "composer.uploading": "wysyłanie...", "composer.thumb_url_label": "Wklej adres miniaturki tematu", "composer.thumb_title": "Dodaj miniaturkę do tego tematu", diff --git a/public/language/pl/user.json b/public/language/pl/user.json index 860cbad738..f7077296b6 100644 --- a/public/language/pl/user.json +++ b/public/language/pl/user.json @@ -141,6 +141,8 @@ "group-order-help": "Wybierz grupę i użyj strzałek, aby zamówić tytuł", "no-group-title": "Brak nazwy grupy", "select-skin": "Wybierz skórkę", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Wybierz stronę startową", "homepage": "Strona startowa", "homepage_description": "Wybierz preferowaną stronę startową lub „None”, jeśli chcesz używać strony domyślnej. ", diff --git a/public/language/pl/users.json b/public/language/pl/users.json index b844c01f4b..675ab66eb1 100644 --- a/public/language/pl/users.json +++ b/public/language/pl/users.json @@ -6,7 +6,7 @@ "most_flags": "Najwięcej flag", "search": "Szukaj", "enter_username": "Wpisz nazwę użytkownika", - "search-user-for-chat": "Wyszukaj użytkownika, aby rozpocząć czat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Wczytaj więcej", "users-found-search-took": "Znaleziono %1 użytkownika(-ów). Szukanie zajęło %2 sek.", "filter-by": "Filtruj", diff --git a/public/language/pt-BR/admin/admin.json b/public/language/pt-BR/admin/admin.json index 2359746275..8af71123c1 100644 --- a/public/language/pt-BR/admin/admin.json +++ b/public/language/pt-BR/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Painel de Controle Administrativo do NodeBB", "settings-header-contents": "Conteúdos", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Alterações não foram Salvas", - "changes-not-saved-message": "O NodeBB encontrou um problema ao salvar suas alterações. (%1)" + "changes-not-saved-message": "O NodeBB encontrou um problema ao salvar suas alterações. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/advanced/cache.json b/public/language/pt-BR/admin/advanced/cache.json index ab005b8a1e..561c74c863 100644 --- a/public/language/pt-BR/admin/advanced/cache.json +++ b/public/language/pt-BR/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Cache de Posts", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/pt-BR/admin/advanced/database.json b/public/language/pt-BR/admin/advanced/database.json index f96d860b31..a9e03474ba 100644 --- a/public/language/pt-BR/admin/advanced/database.json +++ b/public/language/pt-BR/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Tempo de Atividade em Segundos", "uptime-days": "Tempo de Atividade em Dias", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Versão do MongoDB", "mongo.storage-engine": "Mecanismo de Armazenamento", "mongo.collections": "Coleções", diff --git a/public/language/pt-BR/admin/advanced/errors.json b/public/language/pt-BR/admin/advanced/errors.json index 57d4ce0617..8345c83324 100644 --- a/public/language/pt-BR/admin/advanced/errors.json +++ b/public/language/pt-BR/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figura %1", "error-events-per-day": "%1 eventos por dia", "error.404": "404 Não Encontrada", diff --git a/public/language/pt-BR/admin/appearance/customise.json b/public/language/pt-BR/admin/appearance/customise.json index 79cf1d4f08..6e80c62b2c 100644 --- a/public/language/pt-BR/admin/appearance/customise.json +++ b/public/language/pt-BR/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Habilitar Cabeçalho Personalizado", "custom-css.livereload": "Ativar Recarregamento Automático", - "custom-css.livereload.description": "Ative esta opção para forçar todas as sessões em todos os dispositivos que estão conectados a sua conta a serem atualizados sempre que você clicar em salvar" + "custom-css.livereload.description": "Ative esta opção para forçar todas as sessões em todos os dispositivos que estão conectados a sua conta a serem atualizados sempre que você clicar em salvar", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/appearance/skins.json b/public/language/pt-BR/admin/appearance/skins.json index 7b1b6fa8f3..d650b165a0 100644 --- a/public/language/pt-BR/admin/appearance/skins.json +++ b/public/language/pt-BR/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Carregando Skins...", "homepage": "Página Inicial", "select-skin": "Escolher Skin", + "revert-skin": "Revert Skin", "current-skin": "Skin Atual", "skin-updated": "Skin Atualizada", "applied-success": "A skin %1 foi aplicada com sucesso", diff --git a/public/language/pt-BR/admin/appearance/themes.json b/public/language/pt-BR/admin/appearance/themes.json index 3f2d6d67c1..5e5e7ef315 100644 --- a/public/language/pt-BR/admin/appearance/themes.json +++ b/public/language/pt-BR/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Procurando por temas instalados...", "homepage": "Página Inicial", "select-theme": "Escolher Tema", + "revert-theme": "Revert Theme", "current-theme": "Tema Atual", "no-themes": "Nenhum tema instalado encontrado", "revert-confirm": "Tem certeza de que você deseja restaurar o tema padrão do NodeBB?", diff --git a/public/language/pt-BR/admin/dashboard.json b/public/language/pt-BR/admin/dashboard.json index 4489c2538f..43d8053f2e 100644 --- a/public/language/pt-BR/admin/dashboard.json +++ b/public/language/pt-BR/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Atualizações", "running-version": "Você está usando o NodeBB v%1.", "keep-updated": "Sempre se certifique de que o seu NodeBB está atualizado com os últimos patches de segurança e de correções de bugs.", - "up-to-date": "

Você está atualizado

", - "upgrade-available": "

Uma nova versão (v%1) foi lançada. Considere atualizar o seu NodeBB.

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

Esta é uma versão de pré-lançamento desatualizada do NodeBB. Uma nova versão (v%1) foi lançada. Considere atualizar o seu NodeBB.

", - "prerelease-warning": "

Esta é uma versão de pré-lançamento do NodeBB. Bugs inesperados podem ocorrer.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Emailer substituto não encontrado!", - "running-in-development": "O fórum está sendo executado em modo de desenvolvedor. O fórum pode estar sujeito a potenciais vulnerabilidades; por favor, entre em contato com o seu administrador de sistemas.", - "latest-lookup-failed": "

Falha ao procurar a versão mais recente disponível do NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Avisos", "restart-not-required": "Reiniciar não é necessário", diff --git a/public/language/pt-BR/admin/development/logger.json b/public/language/pt-BR/admin/development/logger.json index 03ee8e289a..5502a974d2 100644 --- a/public/language/pt-BR/admin/development/logger.json +++ b/public/language/pt-BR/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Configurações de Logs", "description": "Ao habilitar as caixas de checagem, você irá receber os logs no seu terminal. Se você escolher um caminho de arquivo (path), os logs serão salvos em um arquivo ao invés disso. O log de HTTP é útil para coletar estatísticas sobre quem, quando, e o que as pessoas acessam no seu fórum. Além de logar solicitações de HTTP, nós podemos também logar eventos de socket.io Logs de socket.io, em combinação com o monitor redis-cli, podem ser de muito auxílio para se aprender o funcionamento interno do NodeBB.", "explanation": "Apenas marque/desmarque as configurações de log para ativar ou desativar o log enquanto em tempo real. Reiniciar não é necessário.", diff --git a/public/language/pt-BR/admin/extend/plugins.json b/public/language/pt-BR/admin/extend/plugins.json index 4ed999a60a..021c31393b 100644 --- a/public/language/pt-BR/admin/extend/plugins.json +++ b/public/language/pt-BR/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Instalado", "active": "Ativo", diff --git a/public/language/pt-BR/admin/extend/rewards.json b/public/language/pt-BR/admin/extend/rewards.json index 08b1de8119..fe7cb3db4a 100644 --- a/public/language/pt-BR/admin/extend/rewards.json +++ b/public/language/pt-BR/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Prêmios", + "add-reward": "Add reward", "condition-if-users": "Se do Usuário", "condition-is": "É:", "condition-then": "Então:", "max-claims": "Tanto de vezes que a recompensa é reivindicável", "zero-infinite": "Use 0 para infinito", + "select-reward": "Select reward", "delete": "Deletar", "enable": "Ativar", "disable": "Desativar", diff --git a/public/language/pt-BR/admin/extend/widgets.json b/public/language/pt-BR/admin/extend/widgets.json index 6b2c232287..34dd998497 100644 --- a/public/language/pt-BR/admin/extend/widgets.json +++ b/public/language/pt-BR/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Widgets Disponíveis", "explanation": "Escolha um widget do menu de dropdown e então arraste e solte numa área de widget do template à esquerda.", "none-installed": "Nenhum widget encontrado! Ative o plug-in de widgets básicos no painel de controle de plugins.", diff --git a/public/language/pt-BR/admin/manage/admins-mods.json b/public/language/pt-BR/admin/manage/admins-mods.json index 62150d81e3..6efe022196 100644 --- a/public/language/pt-BR/admin/manage/admins-mods.json +++ b/public/language/pt-BR/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administradores", "global-moderators": "Moderadores Globais", "moderators": "Moderators", "no-global-moderators": "Moderadores não Globais", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Sem moderadores", "add-administrator": "Adicionar Administrador", "add-global-moderator": "Adicionar Moderador Global", diff --git a/public/language/pt-BR/admin/manage/categories.json b/public/language/pt-BR/admin/manage/categories.json index 8d8b38f147..9ff41af7ed 100644 --- a/public/language/pt-BR/admin/manage/categories.json +++ b/public/language/pt-BR/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Configurações de Categorias", + "edit-category": "Edit Category", "privileges": "Privilégios", - + "back-to-categories": "Back to categories", "name": "Nome da Categoria", "description": "Descrição da Categoria", "bg-color": "Cor de Fundo", @@ -15,8 +19,11 @@ "post-queue": "Fila de posts", "tag-whitelist": "Lista Branca de Tags", "upload-image": "Enviar Imagem", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remover", "category-image": "Imagem da Categoria", + "image-and-icon": "Image & Icon", "parent-category": "Categoria-Mãe", "optional-parent-category": "(Opcional) Categoria-Mãe", "top-level": "Nível Superior", @@ -31,6 +38,7 @@ "disable": "Desativar", "edit": "Editar", "analytics": "Analytics", + "view-category": "Ver categoria", "set-order": "Definir ordem", "set-order-help": "Definir a ordem da categoria moverá esta categoria para aquela ordem e atualizará a ordem das outras categorias conforme necessário. A ordem mínima é 1, o que coloca a categoria no topo.", diff --git a/public/language/pt-BR/admin/manage/groups.json b/public/language/pt-BR/admin/manage/groups.json index b2904d2778..cff39dcba6 100644 --- a/public/language/pt-BR/admin/manage/groups.json +++ b/public/language/pt-BR/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Nome do Grupo", "badge": "Insígnia", "properties": "Propriedades", @@ -10,7 +16,7 @@ "edit": "Editar", "delete": "Excluir", "privileges": "Privilégios", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Procurar", "create": "Criar Grupo", "description-placeholder": "Uma breve descrição do seu grupo", diff --git a/public/language/pt-BR/admin/manage/privileges.json b/public/language/pt-BR/admin/manage/privileges.json index 6161923171..bd0eb6d7a3 100644 --- a/public/language/pt-BR/admin/manage/privileges.json +++ b/public/language/pt-BR/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Privilégios do Grupo", diff --git a/public/language/pt-BR/admin/manage/tags.json b/public/language/pt-BR/admin/manage/tags.json index 4b984d6bde..6d45d65405 100644 --- a/public/language/pt-BR/admin/manage/tags.json +++ b/public/language/pt-BR/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "O seu fórum ainda não tem tópicos com tags.", "bg-color": "Cor de Fundo", "text-color": "Cor do Text", "description": "Selecione as tags clicando ou arrastando, use CTRL para selecionar várias tags.", "create": "Criar Tag", + "add-tag": "Add tag", "modify": "Modificar Tags", "rename": "Renomear Tags", "delete": "Excluir Tags Selecionadas", diff --git a/public/language/pt-BR/admin/manage/uploads.json b/public/language/pt-BR/admin/manage/uploads.json index 32fc6a1860..d0280ce097 100644 --- a/public/language/pt-BR/admin/manage/uploads.json +++ b/public/language/pt-BR/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Enviar Arquivo", "filename": "Nome do Arquivo", "usage": "Uso do Post", diff --git a/public/language/pt-BR/admin/manage/users.json b/public/language/pt-BR/admin/manage/users.json index e46b6c1e41..8b30173d39 100644 --- a/public/language/pt-BR/admin/manage/users.json +++ b/public/language/pt-BR/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Usuários", "edit": "Actions", "make-admin": "Tornar Administrador", @@ -49,6 +50,10 @@ "users.username": "nome de usuário", "users.email": "e-mail", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "quantidade de posts", "users.reputation": "reputação", diff --git a/public/language/pt-BR/admin/menu.json b/public/language/pt-BR/admin/menu.json index e146ab8d61..809b30d447 100644 --- a/public/language/pt-BR/admin/menu.json +++ b/public/language/pt-BR/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Informação", "rebuild-and-restart-forum": "Recompilar & Reiniciar Fórum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Reiniciar Fórum", + "restart": "Restart", "logout": "Sair da Conta", "view-forum": "Ver Fórum", diff --git a/public/language/pt-BR/admin/settings/api.json b/public/language/pt-BR/admin/settings/api.json index d363fcb163..c243fefe6a 100644 --- a/public/language/pt-BR/admin/settings/api.json +++ b/public/language/pt-BR/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Configurações", "lead-text": "Nesta página, você pode configurar o acesso à API de Escrita no NodeBB.", "intro": "Por padrão, a API de Escrita autentica os usuários com base em seu cookie de \nsessão, mas o NodeBB também oferece suporte à autenticação Bearer por\n meio de tokens gerados por meio desta página.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Clique aqui para acessar a especificação completa da API", "require-https": "Exigir uso da API apenas via HTTPS", "require-https-caveat": "Nota: Algumas instalações que envolvem balanceadores de carga podem fazer proxy de suas solicitações para NodeBB usando HTTP, caso em que esta opção deve permanecer desabilitada.", "uid": "ID do Usuário", + "token": "Token", "uid-help-text": "Especifique um ID de usuário para associar a este token. Se o ID do usuário for0, ele será considerada uma token master, que pode assumir a identidade de outros usuários com base no parâmetro _uid", "description": "Descrição", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Nenhuma descrição especificada.", - "token-on-save": "O token será gerado assim que o formulário for salvo" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/pt-BR/admin/settings/general.json b/public/language/pt-BR/admin/settings/general.json index 9527613308..54462bdb05 100644 --- a/public/language/pt-BR/admin/settings/general.json +++ b/public/language/pt-BR/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Configurações do Site", "title": "Título do Site", "title.short": "Título Curto", "title.short-placeholder": "Se nenhum título curto for especificado, o título do site será usado", "title.url": "Title Link URL", "title.url-placeholder": "A URL do título do site", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Nome da Sua Comunidade", "title.show-in-header": "Mostrar o Título do Site no Cabeçalho", "browser-title": "Título do Navegador", @@ -16,7 +18,7 @@ "description": "Descrição do Site", "keywords": "Palavras-chave do Site", "keywords-placeholder": "Palavras-chave descrevendo sua comunidade, separadas por vírgula", - "logo": "Logo do Site", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Imagem", "logo.image-placeholder": "Caminho de URL do logotipo para mostrar no cabeçalho do fórum", "logo.upload": "Enviar", diff --git a/public/language/pt-BR/admin/settings/guest.json b/public/language/pt-BR/admin/settings/guest.json index 7e80da5987..8f2355f38f 100644 --- a/public/language/pt-BR/admin/settings/guest.json +++ b/public/language/pt-BR/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Configurações", + "guest-settings": "Guest settings", "handles.enabled": "Permitir que visitantes escolham um nome", "handles.enabled-help": "Esta opção mostra um novo campo que permite visitantes de escolher um nome para associar a cada post que eles fizerem. Se desabilitado, eles serão simplesmente chamados de \"Visitante\".", "topic-views.enabled": "Permitir que visitantes aumentem a contagem de visualizações do tópico", diff --git a/public/language/pt-BR/admin/settings/navigation.json b/public/language/pt-BR/admin/settings/navigation.json index 2b74c1bf17..2394e4a261 100644 --- a/public/language/pt-BR/admin/settings/navigation.json +++ b/public/language/pt-BR/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ícone:", "change-icon": "modificar", "route": "Rota:", diff --git a/public/language/pt-BR/admin/settings/post.json b/public/language/pt-BR/admin/settings/post.json index 8ecd1f8e69..082c59257f 100644 --- a/public/language/pt-BR/admin/settings/post.json +++ b/public/language/pt-BR/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Ordenação de Posts", "sorting.post-default": "Ordenação Padrão de Posts", "sorting.oldest-to-newest": "Do Mais Antigo para o Mais Recente", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Tempo, em segundos, que uma postagem permanece editável, após postada (coloque 0 para desabilitar)", "restrictions.seconds-delete-after": "Tempo, em segundos, que uma postagem pode ser deletada, após postada (coloque 0 para desabilitar)", "restrictions.replies-no-delete": "Após este número de respostas em uma postagem, o usuário não poderá deletar sua postagem (coloque 0 para desabilitar)", - "restrictions.min-title-length": "Tamanho Mínimo dos Títulos", - "restrictions.max-title-length": "Tamanho Máximo dos Títulos", - "restrictions.min-post-length": "Tamanho Mínimo dos Posts", - "restrictions.max-post-length": "Tamanho Máximo dos Posts", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Dias para que o tópico seja considerado antigo", "restrictions.stale-help": "Se um tópico é considerado \"antigo\", então um aviso será exibido aos usuários que tentarem responder àquele tópico.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Último – Exibir a última resposta, ou um marcador \"Sem respostas\" se não houver respostas", "teaser.first": "Primeiro", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Configurações de Não-Lidos", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Data de corte de não-lidos", "unread.min-track-last": "Mínimo de posts no tópico antes de rastrear o último lido", - "recent": "Configurações Recentes", "recent.max-topics": "Máximo de tópicos em /recent", "recent.categoryFilter.disable": "Desailitar filtragem de tópicos em categorias ignoradas na página /recente", "signature": "Configurações de Assinatura", diff --git a/public/language/pt-BR/admin/settings/reputation.json b/public/language/pt-BR/admin/settings/reputation.json index e24a9f4a00..dd54c3dacc 100644 --- a/public/language/pt-BR/admin/settings/reputation.json +++ b/public/language/pt-BR/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/settings/social.json b/public/language/pt-BR/admin/settings/social.json index 3c58397604..0235b49598 100644 --- a/public/language/pt-BR/admin/settings/social.json +++ b/public/language/pt-BR/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Compartilhamento de Posts", - "info-plugins-additional": "Plugins podem adicionar redes sociais adicionais para compartilhar posts.", - "save-success": "Redes de Compartilhamento de Posts salvas com êxito!" + "info-plugins-additional": "Plugins podem adicionar redes sociais adicionais para compartilhar posts." } \ No newline at end of file diff --git a/public/language/pt-BR/admin/settings/tags.json b/public/language/pt-BR/admin/settings/tags.json index f44e8ba6b3..67dd3076df 100644 --- a/public/language/pt-BR/admin/settings/tags.json +++ b/public/language/pt-BR/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Gerenciar Tags", "system-tags": "Tags do Sistema", "system-tags-help": "Apenas usuários privilegiados poderão usar essas tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Mínimo de Tags por Tópico", "max-per-topic": "Máximo de Tags por Tópico", "min-length": "Tamanho Mínimo das Tags", diff --git a/public/language/pt-BR/admin/settings/user.json b/public/language/pt-BR/admin/settings/user.json index 27b217ccff..f09c7dbc98 100644 --- a/public/language/pt-BR/admin/settings/user.json +++ b/public/language/pt-BR/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Tamanho Máximo do Sobre Mim", "terms-of-use": "Termos de Uso do Fórum (Deixar em branco para desabilitar)", "user-search": "Pesquisa de Usuário", - "user-search-results-per-page": "Número de resultados para exibir", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Configurações Padrão de Usuário", "show-email": "Exibir e-mail", "show-fullname": "Exibir nome completo", diff --git a/public/language/pt-BR/error.json b/public/language/pt-BR/error.json index eef6330031..6c82763848 100644 --- a/public/language/pt-BR/error.json +++ b/public/language/pt-BR/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "O executável do sendmail não pôde ser encontrado. Por favor, certifique-se de que ele está instalado e que está autorizado a ser executado pelo usuário que roda o NodeBB.", "digest-not-enabled": "Este usuário não tem resumos habilitados ou o padrão do sistema não está configurado para enviar resumos", "username-too-short": "Nome de usuário muito curto", diff --git a/public/language/pt-BR/global.json b/public/language/pt-BR/global.json index e314ff7d40..62330343be 100644 --- a/public/language/pt-BR/global.json +++ b/public/language/pt-BR/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Você logou com sucesso", "save_changes": "Salvar Alterações", "save": "Salvar", + "create": "Create", "cancel": "Cancel", "close": "Fechar", "pagination": "Paginação", diff --git a/public/language/pt-BR/modules.json b/public/language/pt-BR/modules.json index ca8c6eae42..21dc86820d 100644 --- a/public/language/pt-BR/modules.json +++ b/public/language/pt-BR/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Conversar com", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Você está vendo mensagens mais antigas, clique aqui para ir para a mensagem mais recente.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/pt-BR/pages.json b/public/language/pt-BR/pages.json index 5a59317fd7..db5265fcd0 100644 --- a/public/language/pt-BR/pages.json +++ b/public/language/pt-BR/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Conteúdo Sinalizado", "ip-blacklist": "Lista negra de IPs", "post-queue": "Fila de Posts", + "registration-queue": "Registration Queue", "users/online": "Usuários Online", "users/latest": "Últimos Usuários", "users/sort-posts": "Usuários com mais posts", diff --git a/public/language/pt-BR/themes/harmony.json b/public/language/pt-BR/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/pt-BR/themes/harmony.json +++ b/public/language/pt-BR/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/pt-BR/topic.json b/public/language/pt-BR/topic.json index 8214a5432b..f1e68d9b62 100644 --- a/public/language/pt-BR/topic.json +++ b/public/language/pt-BR/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Agendar", "composer.replying_to": "Respondendo para %1", "composer.new_topic": "Novo Tópico", - "composer.editing": "Editando", + "composer.editing-in": "Editing post in %1", "composer.uploading": "enviando...", "composer.thumb_url_label": "Cole o endereço de um thumbnail para o tópico", "composer.thumb_title": "Adicionar um thumbnail para este tópico", diff --git a/public/language/pt-BR/user.json b/public/language/pt-BR/user.json index 50de92202c..481152fc24 100644 --- a/public/language/pt-BR/user.json +++ b/public/language/pt-BR/user.json @@ -141,6 +141,8 @@ "group-order-help": "Selecione um grupo e use as setas para ordenar os títulos", "no-group-title": "Sem título de grupo", "select-skin": "Escolha uma Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Selecione uma página inicial", "homepage": "Página inicial", "homepage_description": "Selecione uma página para usar como página inicial do fórum ou 'Nenhum' para usar a página inicial padrão.", diff --git a/public/language/pt-BR/users.json b/public/language/pt-BR/users.json index b70d48207f..f2afb427c7 100644 --- a/public/language/pt-BR/users.json +++ b/public/language/pt-BR/users.json @@ -6,7 +6,7 @@ "most_flags": "Mais Sinalizações", "search": "Pesquisar", "enter_username": "Digite um nome de usuário para pesquisar", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Carregar Mais", "users-found-search-took": "%1 usuário(s) encontrado(s)! A pesquisa levou %2 segundos.", "filter-by": "Filtrar Por", diff --git a/public/language/pt-PT/admin/admin.json b/public/language/pt-PT/admin/admin.json index 91d0187aa0..19a58da812 100644 --- a/public/language/pt-PT/admin/admin.json +++ b/public/language/pt-PT/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Painel de Administração NodeBB", "settings-header-contents": "Conteúdo", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/pt-PT/admin/advanced/cache.json b/public/language/pt-PT/admin/advanced/cache.json index 86d9da7df3..a724929a46 100644 --- a/public/language/pt-PT/admin/advanced/cache.json +++ b/public/language/pt-PT/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Cache de Publicações", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/pt-PT/admin/advanced/database.json b/public/language/pt-PT/admin/advanced/database.json index b31d3253ea..f48cefd48d 100644 --- a/public/language/pt-PT/admin/advanced/database.json +++ b/public/language/pt-PT/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Tempo de Atividade em Segundos", "uptime-days": "Tempo de Atividade em Dias", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Versão MongoDB", "mongo.storage-engine": "Mecanismo de Armazenamento", "mongo.collections": "Coleções", diff --git a/public/language/pt-PT/admin/advanced/errors.json b/public/language/pt-PT/admin/advanced/errors.json index c17d2f0ac5..7899c2a361 100644 --- a/public/language/pt-PT/admin/advanced/errors.json +++ b/public/language/pt-PT/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figura %1", "error-events-per-day": "%1 eventos por dia", "error.404": "404 Não Encontrado", diff --git a/public/language/pt-PT/admin/appearance/customise.json b/public/language/pt-PT/admin/appearance/customise.json index 7f33a01493..8f68ec1fb3 100644 --- a/public/language/pt-PT/admin/appearance/customise.json +++ b/public/language/pt-PT/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Ativar Cabeçalho Personalizado", "custom-css.livereload": "Ativar recarregar ao vivo", - "custom-css.livereload.description": "Ativa isto para forçar todas as sessões da tua conta a serem atualizadas em todos os dispositivos sempre que clicares em guardar" + "custom-css.livereload.description": "Ativa isto para forçar todas as sessões da tua conta a serem atualizadas em todos os dispositivos sempre que clicares em guardar", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/pt-PT/admin/appearance/skins.json b/public/language/pt-PT/admin/appearance/skins.json index 8388502a59..6c9c3c2c3f 100644 --- a/public/language/pt-PT/admin/appearance/skins.json +++ b/public/language/pt-PT/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "A Carregar Máscaras...", "homepage": "Página principal", "select-skin": "Escolha uma Máscara", + "revert-skin": "Revert Skin", "current-skin": "Máscara Atual", "skin-updated": "Máscara Atualizada", "applied-success": "Máscara %1 aplicada com sucesso", diff --git a/public/language/pt-PT/admin/appearance/themes.json b/public/language/pt-PT/admin/appearance/themes.json index b824283243..14b100c670 100644 --- a/public/language/pt-PT/admin/appearance/themes.json +++ b/public/language/pt-PT/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "A procurar por temas instalados...", "homepage": "Página principal", "select-theme": "Selecionar Tema", + "revert-theme": "Revert Theme", "current-theme": "Tema Atual", "no-themes": "Não foram encontrados temas instalados", "revert-confirm": "Tens a certeza que desejas restaurar o tema predefinido do NodeBB?", diff --git a/public/language/pt-PT/admin/dashboard.json b/public/language/pt-PT/admin/dashboard.json index e06e37b01c..cc293b8c0f 100644 --- a/public/language/pt-PT/admin/dashboard.json +++ b/public/language/pt-PT/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Atualizações", "running-version": "Estás a executar NodeBB v%1.", "keep-updated": "Cetifica-te que o teu NodeBB está sempre atualizado para teres as mais recentes correções de segurança e correções de bugs.", - "up-to-date": "

O teu NodeBB está atualizado

", - "upgrade-available": "

Uma nova versão (v%1) foi lançada. Considera atualizar o teu NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Ocorreu uma falha a obter a versão mais recente disponível para o NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Avisos", "restart-not-required": "Não é necessário reiniciar", diff --git a/public/language/pt-PT/admin/development/logger.json b/public/language/pt-PT/admin/development/logger.json index a03cabca38..ce3ad8c61e 100644 --- a/public/language/pt-PT/admin/development/logger.json +++ b/public/language/pt-PT/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/pt-PT/admin/extend/plugins.json b/public/language/pt-PT/admin/extend/plugins.json index 96b938e856..fee767af6a 100644 --- a/public/language/pt-PT/admin/extend/plugins.json +++ b/public/language/pt-PT/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Instalados", "active": "Ativos", diff --git a/public/language/pt-PT/admin/extend/rewards.json b/public/language/pt-PT/admin/extend/rewards.json index 346eb49e2a..bd2e719674 100644 --- a/public/language/pt-PT/admin/extend/rewards.json +++ b/public/language/pt-PT/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Recompensas", + "add-reward": "Add reward", "condition-if-users": "Se", "condition-is": "É:", "condition-then": "Então:", "max-claims": "Número de vezes que a recompensa pode ser atribuída", "zero-infinite": "Digite 0 para infinito", + "select-reward": "Select reward", "delete": "Apagar", "enable": "Ativar", "disable": "Desativar", diff --git a/public/language/pt-PT/admin/extend/widgets.json b/public/language/pt-PT/admin/extend/widgets.json index c83a1b736f..6073eb2adc 100644 --- a/public/language/pt-PT/admin/extend/widgets.json +++ b/public/language/pt-PT/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Widgets Disponíveis", "explanation": "Seleciona um widget no menu suspenso e, em seguida, arrasta-o e solta-o para uma das área de widgets à esquerda.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/pt-PT/admin/manage/admins-mods.json b/public/language/pt-PT/admin/manage/admins-mods.json index f1cbcb3a4b..ce3b3543c3 100644 --- a/public/language/pt-PT/admin/manage/admins-mods.json +++ b/public/language/pt-PT/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administradores", "global-moderators": "Moderadores Globais", "moderators": "Moderators", "no-global-moderators": "Não existem Moderadores Globais", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Não existem Moderadores", "add-administrator": "Adicionar Administrador", "add-global-moderator": "Adicionar Moderador Global", diff --git a/public/language/pt-PT/admin/manage/categories.json b/public/language/pt-PT/admin/manage/categories.json index d029ce59b9..b12490364c 100644 --- a/public/language/pt-PT/admin/manage/categories.json +++ b/public/language/pt-PT/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Definições da Categoria", + "edit-category": "Edit Category", "privileges": "Privilégios", - + "back-to-categories": "Back to categories", "name": "Nome da Categoria", "description": "Descrição da Categoria", "bg-color": "Cor de Fundo", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Enviar Imagem", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remover", "category-image": "Imagem da Categoria", + "image-and-icon": "Image & Icon", "parent-category": "Categoria Pai", "optional-parent-category": "(Opcional) Categoria Pai", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Desativar", "edit": "Editar", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/pt-PT/admin/manage/groups.json b/public/language/pt-PT/admin/manage/groups.json index 04e7ca44e5..8b3d24d8a6 100644 --- a/public/language/pt-PT/admin/manage/groups.json +++ b/public/language/pt-PT/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Nome do Grupo", "badge": "Crachá", "properties": "Propriedades", @@ -10,7 +16,7 @@ "edit": "Editar", "delete": "Apagar", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Procurar", "create": "Criar Grupo", "description-placeholder": "Uma pequena descrição acerca do teu grupo", diff --git a/public/language/pt-PT/admin/manage/privileges.json b/public/language/pt-PT/admin/manage/privileges.json index b27e910e7a..2182c8a472 100644 --- a/public/language/pt-PT/admin/manage/privileges.json +++ b/public/language/pt-PT/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Administrador", "group-privileges": "Privilégios de Grupos", diff --git a/public/language/pt-PT/admin/manage/tags.json b/public/language/pt-PT/admin/manage/tags.json index a068fe7bd8..5bc3254127 100644 --- a/public/language/pt-PT/admin/manage/tags.json +++ b/public/language/pt-PT/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "O teu fórum ainda não tem nenhum tópico com marcadores.", "bg-color": "Cor de Fundo", "text-color": "Cor do Texto", "description": "Seleciona as etiquetas clicando ou arrastando, usa CTRL para selecionar múltiplas etiquetas.", "create": "Criar Marcador", + "add-tag": "Add tag", "modify": "Modificar Marcadores", "rename": "Renomear Marcadores", "delete": "Apagar Marcadores Selecionados", diff --git a/public/language/pt-PT/admin/manage/uploads.json b/public/language/pt-PT/admin/manage/uploads.json index 86116ed5e4..5263818532 100644 --- a/public/language/pt-PT/admin/manage/uploads.json +++ b/public/language/pt-PT/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Enviar Ficheiro", "filename": "Nome do Ficheiro", "usage": "Uso em Publicações", diff --git a/public/language/pt-PT/admin/manage/users.json b/public/language/pt-PT/admin/manage/users.json index 81f85a3cc4..7cd1500112 100644 --- a/public/language/pt-PT/admin/manage/users.json +++ b/public/language/pt-PT/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Utilizadores", "edit": "Actions", "make-admin": "Tornar Administrador", @@ -49,6 +50,10 @@ "users.username": "nome de utilizador", "users.email": "e-mail", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "publicações", "users.reputation": "reputação", diff --git a/public/language/pt-PT/admin/menu.json b/public/language/pt-PT/admin/menu.json index 35d3d4af31..02aa33f416 100644 --- a/public/language/pt-PT/admin/menu.json +++ b/public/language/pt-PT/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Informação", "rebuild-and-restart-forum": "Reconstruir e Reiniciar Fórum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Reiniciar Fórum", + "restart": "Restart", "logout": "Terminar sessão", "view-forum": "Ver Fórum", diff --git a/public/language/pt-PT/admin/settings/api.json b/public/language/pt-PT/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/pt-PT/admin/settings/api.json +++ b/public/language/pt-PT/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/pt-PT/admin/settings/general.json b/public/language/pt-PT/admin/settings/general.json index f5c13ef595..2d1af1b7f0 100644 --- a/public/language/pt-PT/admin/settings/general.json +++ b/public/language/pt-PT/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Definições do Site", "title": "Título do Site", "title.short": "Título Curto", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "O URL do título do site", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Procurar Título", @@ -16,7 +18,7 @@ "description": "Descrição do Site", "keywords": "Palavras-chave do Site", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Logótipo do Site", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Imagem", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Enviar", diff --git a/public/language/pt-PT/admin/settings/guest.json b/public/language/pt-PT/admin/settings/guest.json index af3d498e80..87ad4aa00d 100644 --- a/public/language/pt-PT/admin/settings/guest.json +++ b/public/language/pt-PT/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Permitir nomes para visitantes", "handles.enabled-help": "Esta opção expôe um novo campo que permite a visitantes escolher um nome para associar a cada publicação que eles criem. Se desabilitada, eles simplesmente se chamarão \"Visitante\" ", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/pt-PT/admin/settings/navigation.json b/public/language/pt-PT/admin/settings/navigation.json index a52c4a2e88..d395ac853e 100644 --- a/public/language/pt-PT/admin/settings/navigation.json +++ b/public/language/pt-PT/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ícone:", "change-icon": "alterar", "route": "Caminho:", diff --git a/public/language/pt-PT/admin/settings/post.json b/public/language/pt-PT/admin/settings/post.json index a8a416f651..31a323cdb9 100644 --- a/public/language/pt-PT/admin/settings/post.json +++ b/public/language/pt-PT/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Ordenação das Publicações", "sorting.post-default": "Ordenação Predefinida das Publicações", "sorting.oldest-to-newest": "Mais antigo para mais recente", @@ -23,10 +24,8 @@ "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.min-title-length": "Comprimento Mínimo do Título", - "restrictions.max-title-length": "Comprimento Máximo do Título", - "restrictions.min-post-length": "Comprimento Mínimo da Publicação", - "restrictions.max-post-length": "Comprimento Máximo da Publicação", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Dias até o tópico ser considerado obsoleto", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Definições Recentes", "recent.max-topics": "Máximo de tópicos em /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Definições da Assinatura", diff --git a/public/language/pt-PT/admin/settings/reputation.json b/public/language/pt-PT/admin/settings/reputation.json index 67cc261e26..fa5d4a1a2a 100644 --- a/public/language/pt-PT/admin/settings/reputation.json +++ b/public/language/pt-PT/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/pt-PT/admin/settings/social.json b/public/language/pt-PT/admin/settings/social.json index e856606a7b..80f6f88945 100644 --- a/public/language/pt-PT/admin/settings/social.json +++ b/public/language/pt-PT/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Partilhar Publicações", - "info-plugins-additional": "Os plugins podem adicionar outras redes sociais para partilhar publicações.", - "save-success": "Definições de partilhas de publicações em redes sociais guardadas com sucesso!" + "info-plugins-additional": "Os plugins podem adicionar outras redes sociais para partilhar publicações." } \ No newline at end of file diff --git a/public/language/pt-PT/admin/settings/tags.json b/public/language/pt-PT/admin/settings/tags.json index 7cf1dd0d04..7c7a0aaa5a 100644 --- a/public/language/pt-PT/admin/settings/tags.json +++ b/public/language/pt-PT/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Gerir Etiquetas", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Mínimo de Etiquetas por Tópico", "max-per-topic": "Máximo de Etiquetas por Tópico", "min-length": "Comprimento Mínimo da Etiqueta", diff --git a/public/language/pt-PT/admin/settings/user.json b/public/language/pt-PT/admin/settings/user.json index a8c4d6e62d..7e87ff558d 100644 --- a/public/language/pt-PT/admin/settings/user.json +++ b/public/language/pt-PT/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Comprimento Máximo do \"Sobre Mim\"", "terms-of-use": "Termos de Uso do Fórum (Deixa em branco para desativar)", "user-search": "Procura de Utilizadores", - "user-search-results-per-page": "Número de resultados a mostrar", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Definições Predefinidas do Utilizador", "show-email": "Mostrar e-mail", "show-fullname": "Mostrar nome completo", diff --git a/public/language/pt-PT/error.json b/public/language/pt-PT/error.json index f5bff4dfc0..cd9fb18d08 100644 --- a/public/language/pt-PT/error.json +++ b/public/language/pt-PT/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "O executável sendmail não foi encontrado, por favor assegura-te que se encontra instalado e executável pelo utilizador a correr o NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Nome de utilizador muito curto", diff --git a/public/language/pt-PT/global.json b/public/language/pt-PT/global.json index d6d7c8d9d5..90f748267c 100644 --- a/public/language/pt-PT/global.json +++ b/public/language/pt-PT/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Iniciaste sessão com sucesso", "save_changes": "Guardar as alterações", "save": "Guardar", + "create": "Create", "cancel": "Cancel", "close": "Fechar", "pagination": "Paginação", diff --git a/public/language/pt-PT/modules.json b/public/language/pt-PT/modules.json index ac41a869b7..415bfbb6bc 100644 --- a/public/language/pt-PT/modules.json +++ b/public/language/pt-PT/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Conversar com", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/pt-PT/pages.json b/public/language/pt-PT/pages.json index be06e9cc06..f873ec1e25 100644 --- a/public/language/pt-PT/pages.json +++ b/public/language/pt-PT/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Conteúdo denunciado", "ip-blacklist": "Lista negra de IPs", "post-queue": "Publicações por Aprovar", + "registration-queue": "Registration Queue", "users/online": "Utilizadores online", "users/latest": "Utilizadores Recentes", "users/sort-posts": "Utilizadores com mais publicações", diff --git a/public/language/pt-PT/themes/harmony.json b/public/language/pt-PT/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/pt-PT/themes/harmony.json +++ b/public/language/pt-PT/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/pt-PT/themes/persona.json b/public/language/pt-PT/themes/persona.json index e7d1945303..903685c45c 100644 --- a/public/language/pt-PT/themes/persona.json +++ b/public/language/pt-PT/themes/persona.json @@ -1,7 +1,7 @@ { "settings.title": "Theme settings", "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", + "settings.mobile-menu-side": "Alternar de que lado fica cada menu lateral em telemóvel", "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", diff --git a/public/language/pt-PT/topic.json b/public/language/pt-PT/topic.json index 3446d45089..474f6822b0 100644 --- a/public/language/pt-PT/topic.json +++ b/public/language/pt-PT/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Respondendo a %1", "composer.new_topic": "Novo tópico", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "carregando...", "composer.thumb_url_label": "Cola um URL da miniatura do tópico", "composer.thumb_title": "Adiciona uma miniatura a este tópico", diff --git a/public/language/pt-PT/user.json b/public/language/pt-PT/user.json index 558060fce2..0b08a709e2 100644 --- a/public/language/pt-PT/user.json +++ b/public/language/pt-PT/user.json @@ -1,6 +1,6 @@ { "banned": "Banido", - "muted": "Muted", + "muted": "Silenciado", "offline": "Offline", "deleted": "Apagar", "username": "Nome de utilizador", @@ -13,8 +13,8 @@ "ban_account": "Banir conta", "ban_account_confirm": "Queres realmente banir este utilizador?", "unban_account": "Deixar de banir esta conta", - "mute_account": "Mute Account", - "unmute_account": "Unmute Account", + "mute_account": "Silenciar conta", + "unmute_account": "Dessilenciar conta", "delete_account": "Eliminar conta", "delete_account_as_admin": "Eliminar Conta", "delete_content": "Eliminar Conteúdos da Conta", @@ -44,7 +44,7 @@ "following": "Seguindo", "blocks": "Bloqueados", "blocked-users": "Blocked users", - "block_toggle": "Ativar Bloqueio", + "block_toggle": "Bloquear/Desbloquear", "block_user": "Bloquear Utilizador", "unblock_user": "Desbloquear Utilizador", "aboutme": "Sobre mim", @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Sem título de grupo", "select-skin": "Seleciona uma máscara", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Seleciona a página inicial", "homepage": "Página Inicial", "homepage_description": "Seleciona a página que irás usar como página inicial do fórum ou \"Nenhuma\" para usar a página inicial por defeito", diff --git a/public/language/pt-PT/users.json b/public/language/pt-PT/users.json index 7c91e8ce5a..08bc05f8ba 100644 --- a/public/language/pt-PT/users.json +++ b/public/language/pt-PT/users.json @@ -6,7 +6,7 @@ "most_flags": "Mais Denúncias", "search": "Procurar", "enter_username": "Insere um nome de utilizador para pesquisar", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Carregar mais", "users-found-search-took": "%1 utilizador(es) encontrados! A pesquisa demorou %2 segundos.", "filter-by": "Filtrar por", diff --git a/public/language/ro/admin/admin.json b/public/language/ro/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/ro/admin/admin.json +++ b/public/language/ro/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/ro/admin/advanced/cache.json b/public/language/ro/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/ro/admin/advanced/cache.json +++ b/public/language/ro/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/ro/admin/advanced/database.json b/public/language/ro/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/ro/admin/advanced/database.json +++ b/public/language/ro/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/ro/admin/advanced/errors.json b/public/language/ro/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/ro/admin/advanced/errors.json +++ b/public/language/ro/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/ro/admin/appearance/customise.json b/public/language/ro/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/ro/admin/appearance/customise.json +++ b/public/language/ro/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/ro/admin/appearance/skins.json b/public/language/ro/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/ro/admin/appearance/skins.json +++ b/public/language/ro/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/ro/admin/appearance/themes.json b/public/language/ro/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/ro/admin/appearance/themes.json +++ b/public/language/ro/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/ro/admin/dashboard.json b/public/language/ro/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/ro/admin/dashboard.json +++ b/public/language/ro/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/ro/admin/development/logger.json b/public/language/ro/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/ro/admin/development/logger.json +++ b/public/language/ro/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/ro/admin/extend/plugins.json b/public/language/ro/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/ro/admin/extend/plugins.json +++ b/public/language/ro/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/ro/admin/extend/rewards.json b/public/language/ro/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/ro/admin/extend/rewards.json +++ b/public/language/ro/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/ro/admin/extend/widgets.json b/public/language/ro/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/ro/admin/extend/widgets.json +++ b/public/language/ro/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/ro/admin/manage/admins-mods.json b/public/language/ro/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/ro/admin/manage/admins-mods.json +++ b/public/language/ro/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/ro/admin/manage/categories.json b/public/language/ro/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/ro/admin/manage/categories.json +++ b/public/language/ro/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/ro/admin/manage/groups.json b/public/language/ro/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/ro/admin/manage/groups.json +++ b/public/language/ro/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/ro/admin/manage/privileges.json b/public/language/ro/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/ro/admin/manage/privileges.json +++ b/public/language/ro/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/ro/admin/manage/tags.json b/public/language/ro/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/ro/admin/manage/tags.json +++ b/public/language/ro/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/ro/admin/manage/uploads.json b/public/language/ro/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/ro/admin/manage/uploads.json +++ b/public/language/ro/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/ro/admin/manage/users.json b/public/language/ro/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/ro/admin/manage/users.json +++ b/public/language/ro/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/ro/admin/menu.json b/public/language/ro/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/ro/admin/menu.json +++ b/public/language/ro/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/ro/admin/settings/api.json b/public/language/ro/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/ro/admin/settings/api.json +++ b/public/language/ro/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/ro/admin/settings/general.json b/public/language/ro/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/ro/admin/settings/general.json +++ b/public/language/ro/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/ro/admin/settings/guest.json b/public/language/ro/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/ro/admin/settings/guest.json +++ b/public/language/ro/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/ro/admin/settings/navigation.json b/public/language/ro/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/ro/admin/settings/navigation.json +++ b/public/language/ro/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/ro/admin/settings/post.json b/public/language/ro/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/ro/admin/settings/post.json +++ b/public/language/ro/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/ro/admin/settings/reputation.json b/public/language/ro/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/ro/admin/settings/reputation.json +++ b/public/language/ro/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/ro/admin/settings/social.json b/public/language/ro/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/ro/admin/settings/social.json +++ b/public/language/ro/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/ro/admin/settings/tags.json b/public/language/ro/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/ro/admin/settings/tags.json +++ b/public/language/ro/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/ro/admin/settings/user.json b/public/language/ro/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/ro/admin/settings/user.json +++ b/public/language/ro/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/ro/error.json b/public/language/ro/error.json index c148ead3ca..3d5c6e2890 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Numele de utilizator este prea scurt", diff --git a/public/language/ro/global.json b/public/language/ro/global.json index 464e9bbcaa..be2a10447b 100644 --- a/public/language/ro/global.json +++ b/public/language/ro/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Te-ai conectat cu succes", "save_changes": "Salvează Modificări", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Închide", "pagination": "Paginație", diff --git a/public/language/ro/modules.json b/public/language/ro/modules.json index 14c6c62b0a..2ee45933fc 100644 --- a/public/language/ro/modules.json +++ b/public/language/ro/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/ro/pages.json b/public/language/ro/pages.json index 3400943459..31d4017292 100644 --- a/public/language/ro/pages.json +++ b/public/language/ro/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Utilizatori online", "users/latest": "Ultimii membrii", "users/sort-posts": "Membrii cu cele mai multe postări", diff --git a/public/language/ro/themes/harmony.json b/public/language/ro/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/ro/themes/harmony.json +++ b/public/language/ro/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/ro/topic.json b/public/language/ro/topic.json index 39d093ffd7..dcc47d9645 100644 --- a/public/language/ro/topic.json +++ b/public/language/ro/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Îi raspunde lui %1", "composer.new_topic": "Subiect Nou", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "se uploadează ...", "composer.thumb_url_label": "Lipește un link pentru pictogramă subiect", "composer.thumb_title": "Adaugă o pictogramă la acest subiect", diff --git a/public/language/ro/user.json b/public/language/ro/user.json index 0a88172c42..ab622da988 100644 --- a/public/language/ro/user.json +++ b/public/language/ro/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/ro/users.json b/public/language/ro/users.json index 3706537ceb..0b434ea4dd 100644 --- a/public/language/ro/users.json +++ b/public/language/ro/users.json @@ -6,7 +6,7 @@ "most_flags": "Cele mai multe flaguri", "search": "Căutare", "enter_username": "Introdu un nume de utilizator pentru a căuta", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Încarcă mai multe", "users-found-search-took": "%1 utilizator(i) găsiți! Căutarea a durat %2 secunde.", "filter-by": "Filtrează după", diff --git a/public/language/ru/admin/admin.json b/public/language/ru/admin/admin.json index ce1fae1d52..2369366840 100644 --- a/public/language/ru/admin/admin.json +++ b/public/language/ru/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Панель администратора NodeBB", "settings-header-contents": "Содержание", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Изменения не сохранены", - "changes-not-saved-message": "Произошла ошибка NodeBB при сохранении Ваших изменений (%1)" + "changes-not-saved-message": "Произошла ошибка NodeBB при сохранении Ваших изменений (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/ru/admin/advanced/cache.json b/public/language/ru/admin/advanced/cache.json index dbef997c8b..7f3fadce28 100644 --- a/public/language/ru/admin/advanced/cache.json +++ b/public/language/ru/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Кэш сообщений", "group-cache": "Кеш групп", "local-cache": "Локальный кеш", diff --git a/public/language/ru/admin/advanced/database.json b/public/language/ru/admin/advanced/database.json index b570dab82f..2c4544479e 100644 --- a/public/language/ru/admin/advanced/database.json +++ b/public/language/ru/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Время работы в секундах", "uptime-days": "Время работы в днях", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Версия MongoDB", "mongo.storage-engine": "Система хранения", "mongo.collections": "Коллекции", diff --git a/public/language/ru/admin/advanced/errors.json b/public/language/ru/admin/advanced/errors.json index f4d5688223..067bd3c81a 100644 --- a/public/language/ru/admin/advanced/errors.json +++ b/public/language/ru/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "График %1", "error-events-per-day": "событий %1 в день", "error.404": "404 Не найдено", diff --git a/public/language/ru/admin/appearance/customise.json b/public/language/ru/admin/appearance/customise.json index 2e7ef06009..10aea2793f 100644 --- a/public/language/ru/admin/appearance/customise.json +++ b/public/language/ru/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Пользовательский CSS/SASS", "custom-css.description": "Добавьте собственный CSS/SASS. Они будут применены в последнюю очередь, после всех остальных стилей страницы.", "custom-css.enable": "Включить пользовательский CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Включить пользовательский заголовок", "custom-css.livereload": "Включить автоматическую перезагрузку страниц", - "custom-css.livereload.description": "Включите эту опцию, чтобы принудительно обновлять все сеансы на каждом устройстве под этой учетной записью при каждом нажатии кнопки Сохранить" + "custom-css.livereload.description": "Включите эту опцию, чтобы принудительно обновлять все сеансы на каждом устройстве под этой учетной записью при каждом нажатии кнопки Сохранить", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/ru/admin/appearance/skins.json b/public/language/ru/admin/appearance/skins.json index ef3367939e..eabbcb3a62 100644 --- a/public/language/ru/admin/appearance/skins.json +++ b/public/language/ru/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Загрузка стилей...", "homepage": "Домашняя страница", "select-skin": "Выбрать стиль", + "revert-skin": "Revert Skin", "current-skin": "Текущий стиль", "skin-updated": "Стиль обновлён", "applied-success": "%1 тема была успешно применена", diff --git a/public/language/ru/admin/appearance/themes.json b/public/language/ru/admin/appearance/themes.json index 08bdac4239..1aaa779963 100644 --- a/public/language/ru/admin/appearance/themes.json +++ b/public/language/ru/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Проверка установленных тем...", "homepage": "Домашняя страница", "select-theme": "Выбрать тему", + "revert-theme": "Revert Theme", "current-theme": "Текущая тема", "no-themes": "Не найдено установленных тем", "revert-confirm": "Вы уверены, что хотите восстановить стандартную тему оформления NodeBB?", diff --git a/public/language/ru/admin/dashboard.json b/public/language/ru/admin/dashboard.json index c2034236cc..f5f5efe0f4 100644 --- a/public/language/ru/admin/dashboard.json +++ b/public/language/ru/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Обновления", "running-version": "Вы используете NodeBB версии %1", "keep-updated": "Пожалуйста, следите за тем, чтобы NodeBB своевременно обновлялся и получал все необходимые исправления ошибок и уязвимостей.", - "up-to-date": "

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

", - "upgrade-available": "

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

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

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

", - "prerelease-warning": "

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

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Резервная почта не найдена!", - "running-in-development": "Форум работает в режиме для разработчиков. Это значит, что он может быть более уязвим для внешних угроз; пожалуйста, свяжитесь с вашим сисадмином.", - "latest-lookup-failed": "

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

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Примечания", "restart-not-required": "Перезапуск не требуется", diff --git a/public/language/ru/admin/development/logger.json b/public/language/ru/admin/development/logger.json index 420b27b720..332466c276 100644 --- a/public/language/ru/admin/development/logger.json +++ b/public/language/ru/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Настройки журналирования", "description": "Включите, чтобы выводить в консоль отчёт о событиях. Чтобы сохранять эти данные в файл, укажите путь к файлу. Журналирование запросов HTTP полезно для сбора данных о том, что именно и когда просматривают посетители вашего форума. Кроме того, возможна запись событий Socket.io, что, в сочетании с мониторингом redis-cli, крайне полезно для отслеживания состояния NodeBB.", "explanation": "Просто включите или выключите соответствующую опцию, чтобы настроить журналирование. Перезапуск NodeBB не потребуется.", diff --git a/public/language/ru/admin/extend/plugins.json b/public/language/ru/admin/extend/plugins.json index 00068c7e96..5af4b8b4c0 100644 --- a/public/language/ru/admin/extend/plugins.json +++ b/public/language/ru/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Популярные", "installed": "Установлены", "active": "Включены", diff --git a/public/language/ru/admin/extend/rewards.json b/public/language/ru/admin/extend/rewards.json index d6cc9c4623..5980c7d817 100644 --- a/public/language/ru/admin/extend/rewards.json +++ b/public/language/ru/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Награды", + "add-reward": "Add reward", "condition-if-users": "Если у пользователя", "condition-is": "Соответствует", "condition-then": "Тогда", "max-claims": "Сколько раз можно наградить", "zero-infinite": "Введите 0, если не ограничено", + "select-reward": "Select reward", "delete": "Удалить", "enable": "Включить", "disable": "Выключить", diff --git a/public/language/ru/admin/extend/widgets.json b/public/language/ru/admin/extend/widgets.json index 2da859c872..c32a436573 100644 --- a/public/language/ru/admin/extend/widgets.json +++ b/public/language/ru/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Доступные виджеты", "explanation": "Выберите виджет из выпадающего меню и перетащите его в подходящую область слева.", "none-installed": "Виджеты не найдены! Включите плагин с основными виджетами в панели управления плагинами", diff --git a/public/language/ru/admin/manage/admins-mods.json b/public/language/ru/admin/manage/admins-mods.json index ba8834c9d3..8e451d42e9 100644 --- a/public/language/ru/admin/manage/admins-mods.json +++ b/public/language/ru/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Администраторы", "global-moderators": "Глобальные модераторы", "moderators": "Moderators", "no-global-moderators": "Нет глобальных модераторов", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Нет модераторов", "add-administrator": "Добавить администратора", "add-global-moderator": "Добавить глобального модератора", diff --git a/public/language/ru/admin/manage/categories.json b/public/language/ru/admin/manage/categories.json index 9d504d3893..02bada0fc5 100644 --- a/public/language/ru/admin/manage/categories.json +++ b/public/language/ru/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Настройки категории", + "edit-category": "Edit Category", "privileges": "Права доступа", - + "back-to-categories": "Back to categories", "name": "Название категории", "description": "Описание категории", "bg-color": "Цвет фона", @@ -15,8 +19,11 @@ "post-queue": "Очередь на публикацию", "tag-whitelist": "Разрешенный список меток", "upload-image": "Загрузить изображение", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Удалить", "category-image": "Изображение категории", + "image-and-icon": "Image & Icon", "parent-category": "Родительская категория", "optional-parent-category": "(Не обязательно) Родительская категория\n", "top-level": "Верхний уровень", @@ -31,6 +38,7 @@ "disable": "Отключить", "edit": "Редактировать", "analytics": "Аналитика", + "view-category": "Перейти в категорию", "set-order": "Установить порядковый номер", "set-order-help": "Установка порядка категории переместит эту категорию в этот порядок и при необходимости обновит порядок других категорий. Минимальный порядок - 1, что ставит категорию на первое место.", diff --git a/public/language/ru/admin/manage/groups.json b/public/language/ru/admin/manage/groups.json index b099ed153f..e0e0c4053e 100644 --- a/public/language/ru/admin/manage/groups.json +++ b/public/language/ru/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Название группы", "badge": "Значок", "properties": "Свойства", @@ -10,7 +16,7 @@ "edit": "Редактировать", "delete": "Удалить", "privileges": "Права доступа", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Поиск", "create": "Создать группу", "description-placeholder": "Краткое описание вашей группы", diff --git a/public/language/ru/admin/manage/privileges.json b/public/language/ru/admin/manage/privileges.json index 804c318f92..7d93794b82 100644 --- a/public/language/ru/admin/manage/privileges.json +++ b/public/language/ru/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Глобальные", "admin": "Админка", "group-privileges": "Права групп", diff --git a/public/language/ru/admin/manage/tags.json b/public/language/ru/admin/manage/tags.json index a1eca80414..729a52c854 100644 --- a/public/language/ru/admin/manage/tags.json +++ b/public/language/ru/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "На вашем форуме пока нет тем с метками.", "bg-color": "Цвет фона", "text-color": "Цвет текста", "description": "Нажмите на метку, чтобы выбрать её, или просто перетащите. Используйте клавишу Ctrl, чтобы выбрать несколько меток.", "create": "Создать метку", + "add-tag": "Add tag", "modify": "Изменить метку", "rename": "Переименовать метку", "delete": "Удалить выбранные метки", diff --git a/public/language/ru/admin/manage/uploads.json b/public/language/ru/admin/manage/uploads.json index 2514655a9b..1e69a4c2b8 100644 --- a/public/language/ru/admin/manage/uploads.json +++ b/public/language/ru/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Загрузить Файл", "filename": "Название", "usage": "Использ. в сообщениях", diff --git a/public/language/ru/admin/manage/users.json b/public/language/ru/admin/manage/users.json index 9e3152372b..17fc3343ab 100644 --- a/public/language/ru/admin/manage/users.json +++ b/public/language/ru/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Пользователи", "edit": "Действия", "make-admin": "Сделать администратором", @@ -49,6 +50,10 @@ "users.username": "Логин", "users.email": "E-mail", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "Сообщения", "users.reputation": "Репутация", diff --git a/public/language/ru/admin/menu.json b/public/language/ru/admin/menu.json index 3ec3e5ce5c..86b57b11d9 100644 --- a/public/language/ru/admin/menu.json +++ b/public/language/ru/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Сведения о системе", "rebuild-and-restart-forum": "Пересобрать и перезапустить форум", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Перезапустить форум", + "restart": "Restart", "logout": "Выйти", "view-forum": "Перейти на форум", diff --git a/public/language/ru/admin/settings/api.json b/public/language/ru/admin/settings/api.json index df16296e7d..0e52be6b7c 100644 --- a/public/language/ru/admin/settings/api.json +++ b/public/language/ru/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Настройки", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "ID пользователя", + "token": "Token", "uid-help-text": "Укажите идентификатор пользователя, который нужно связать с этим токеном. Если идентификатор пользователя равен 0, он будет считаться главным токеном, который может предполагать идентичность других пользователей на основе параметра _uid.", "description": "Описание", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Описания нет.", - "token-on-save": "Токен будет сгенерирован после сохранения формы" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/ru/admin/settings/general.json b/public/language/ru/admin/settings/general.json index 322f03e1ef..eecf1eac78 100644 --- a/public/language/ru/admin/settings/general.json +++ b/public/language/ru/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Настройки сайта", "title": "Название сайта", "title.short": "Краткий заголовок", "title.short-placeholder": "Если здесь ничего не указано, будет использовано название сайта", "title.url": "URL ссылки на заголовок", "title.url-placeholder": "URL для названия сайта", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Название вашего сообщества", "title.show-in-header": "Показывать название в шапке сайта", "browser-title": "Название для браузера", @@ -16,7 +18,7 @@ "description": "Описание сайта", "keywords": "Ключевые слова для сайта", "keywords-placeholder": "Укажите через запятую ключевые слова, описывающие ваше сообщество", - "logo": "Логотип сайта", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Логотип в шапке сайта", "logo.image-placeholder": "Путь к файлу логотипа ", "logo.upload": "Загрузить", diff --git a/public/language/ru/admin/settings/guest.json b/public/language/ru/admin/settings/guest.json index f5af0554bd..40b14618e2 100644 --- a/public/language/ru/admin/settings/guest.json +++ b/public/language/ru/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Настройки", + "guest-settings": "Guest settings", "handles.enabled": "Разрешить гостям выбирать имена", "handles.enabled-help": "Эта настройка добавляет поле, в котором гость сможет указать имя, под которым он хочет оставить сообщение. Когда она выключена, вместо имени будет написано просто «Гость».", "topic-views.enabled": "Разрешить гостям увеличивать количество просмотров тем", diff --git a/public/language/ru/admin/settings/navigation.json b/public/language/ru/admin/settings/navigation.json index 5baa138251..d0149b36ef 100644 --- a/public/language/ru/admin/settings/navigation.json +++ b/public/language/ru/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Иконка:", "change-icon": "изменить", "route": "Маршрут:", diff --git a/public/language/ru/admin/settings/post.json b/public/language/ru/admin/settings/post.json index c2e7fdf0d4..064c196916 100644 --- a/public/language/ru/admin/settings/post.json +++ b/public/language/ru/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Сортировка сообщений", "sorting.post-default": "Стандартная сортировка сообщений", "sorting.oldest-to-newest": "Сначала старые", @@ -23,10 +24,8 @@ "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.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Через сколько дней тема будет считаться устаревшей", "restrictions.stale-help": "Если тема считается устаревшей, пользователь увидит соответствующее предупреждение при попытке ответить в ней.", "timestamp": "Дата и время", @@ -41,10 +40,9 @@ "teaser.last-reply": "Последнее – показать последнее сообщение или пометку «Ответов нет»", "teaser.first": "Первое сообщение", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Настройка списка непрочитанных тем", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Порог отсечки (в днях)", "unread.min-track-last": "Минимальное кол-во сообщений в теме, чтобы начать отслеживать непрочитанные ответы", - "recent": "Настройка списка последних тем", "recent.max-topics": "Макс. кол-во тем на странице /recent", "recent.categoryFilter.disable": "Отключить фильтрацию тем из игнорируемых категорий для списка последних тем", "signature": "Настройка подписей", diff --git a/public/language/ru/admin/settings/reputation.json b/public/language/ru/admin/settings/reputation.json index 0b78ff8a39..b883925cc7 100644 --- a/public/language/ru/admin/settings/reputation.json +++ b/public/language/ru/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/social.json b/public/language/ru/admin/settings/social.json index 7a4239e955..cb6a807b9c 100644 --- a/public/language/ru/admin/settings/social.json +++ b/public/language/ru/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Делиться сообщениями в", - "info-plugins-additional": "Плагины могут добавить дополнительные опции для функции «поделиться сообщением»", - "save-success": "Настройки функции «поделиться сообщением» сохранены!" + "info-plugins-additional": "Плагины могут добавить дополнительные опции для функции «поделиться сообщением»" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/tags.json b/public/language/ru/admin/settings/tags.json index 8a46a7ea04..ed690214a7 100644 --- a/public/language/ru/admin/settings/tags.json +++ b/public/language/ru/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Управление метками", "system-tags": "Системные метки", "system-tags-help": "Только привилегированные пользователи могут использовать эти метки.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Минимальное количество меток в теме", "max-per-topic": "Максимальное количество меток в теме", "min-length": "Минимальная длина метки", diff --git a/public/language/ru/admin/settings/user.json b/public/language/ru/admin/settings/user.json index 04acfa8bfb..2d62fc45e2 100644 --- a/public/language/ru/admin/settings/user.json +++ b/public/language/ru/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Максимальная длина поля «Обо мне»", "terms-of-use": "Правила использования форума (оставьте пустым, чтобы отключить)", "user-search": "Поиск пользователей", - "user-search-results-per-page": "Количество отображаемых результатов", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Стандартные настройки профиля пользователя", "show-email": "Показывать адрес электронной почты", "show-fullname": "Показывать полное имя", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 7e0dc408f2..632118b8c5 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "У пользователя %1 не задана электронная почта.", "email-confirm-failed": "По техническим причинам мы не можем подтвердить ваш адрес электронной почты. Приносим вам наши извинения, пожалуйста, попробуйте позже.", "confirm-email-already-sent": "Сообщение для подтверждения регистрации уже выслано на ваш адрес электронной почты. Повторная отправка возможна через %1 мин.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Не можем найти sendmail, убедитесь что он установлен и управляется NodeBB.", "digest-not-enabled": "У этого участника не включены дайджесты, или система по умолчанию не настроена на отправку дайджестов", "username-too-short": "Слишком короткое имя пользователя", diff --git a/public/language/ru/global.json b/public/language/ru/global.json index ea076b83f3..403d50641e 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Вы успешно вошли на форум", "save_changes": "Сохранить изменения", "save": "Сохранить", + "create": "Create", "cancel": "Cancel", "close": "Закрыть", "pagination": "Разбивка на страницы", diff --git a/public/language/ru/modules.json b/public/language/ru/modules.json index 21ed271a0d..11f8cacca4 100644 --- a/public/language/ru/modules.json +++ b/public/language/ru/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Чат с", "chat.placeholder": "Введите сообщение, перетащите изображения, нажмите enter для отправки", "chat.placeholder.mobile": "Введите сообщение здесь", - "chat.scroll-up-alert": "Вы просматриваете старые сообщения, щелкните здесь, чтобы перейти к последнему сообщению.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 пользователей и %2 других", "chat.chat-with-usernames": "Чат с %1", "chat.chat-with-usernames-and-x-others": "Чат с %1 и %2 других", diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json index 8b6c6f80da..66f8f3b37d 100644 --- a/public/language/ru/pages.json +++ b/public/language/ru/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Список жалоб", "ip-blacklist": "Чёрный список IP", "post-queue": "Очередь на публикацию", + "registration-queue": "Registration Queue", "users/online": "В сети", "users/latest": "Новые пользователи", "users/sort-posts": "Пользователи по кол-ву сообщений", diff --git a/public/language/ru/themes/harmony.json b/public/language/ru/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/ru/themes/harmony.json +++ b/public/language/ru/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json index 109aeaa930..3b4f4c88ed 100644 --- a/public/language/ru/topic.json +++ b/public/language/ru/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Запланировать", "composer.replying_to": "Ответ %1", "composer.new_topic": "Создать тему", - "composer.editing": "Редактирование \"%1\"", + "composer.editing-in": "Editing post in %1", "composer.uploading": "загрузка...", "composer.thumb_url_label": "Вставьте ссылку на картинку с иконкой темы.", "composer.thumb_title": "Добавить иконку к этой теме", diff --git a/public/language/ru/user.json b/public/language/ru/user.json index 9d4f2266b5..9f11274866 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -141,6 +141,8 @@ "group-order-help": "Выберите группу и укажите порядок значков с помощью стрелок", "no-group-title": "Не показывать значок группы", "select-skin": "Стиль", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Настройка главной страницы", "homepage": "Главная страница", "homepage_description": "Выберите, на какую страницу вы будете попадать после авторизации и использовать как главную, или оставьте стандартную настройку.", diff --git a/public/language/ru/users.json b/public/language/ru/users.json index ca77b66a87..600b7fbd60 100644 --- a/public/language/ru/users.json +++ b/public/language/ru/users.json @@ -6,7 +6,7 @@ "most_flags": "Больше всего жалоб", "search": "Поиск", "enter_username": "Введите имя пользователя для поиска", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Загрузить еще", "users-found-search-took": "Найдено пользователей: %1! Поиск занял %2 с.", "filter-by": "Сортировать по", diff --git a/public/language/rw/admin/admin.json b/public/language/rw/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/rw/admin/admin.json +++ b/public/language/rw/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/rw/admin/advanced/cache.json b/public/language/rw/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/rw/admin/advanced/cache.json +++ b/public/language/rw/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/rw/admin/advanced/database.json b/public/language/rw/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/rw/admin/advanced/database.json +++ b/public/language/rw/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/rw/admin/advanced/errors.json b/public/language/rw/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/rw/admin/advanced/errors.json +++ b/public/language/rw/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/rw/admin/appearance/customise.json b/public/language/rw/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/rw/admin/appearance/customise.json +++ b/public/language/rw/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/rw/admin/appearance/skins.json b/public/language/rw/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/rw/admin/appearance/skins.json +++ b/public/language/rw/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/rw/admin/appearance/themes.json b/public/language/rw/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/rw/admin/appearance/themes.json +++ b/public/language/rw/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/rw/admin/dashboard.json b/public/language/rw/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/rw/admin/dashboard.json +++ b/public/language/rw/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/rw/admin/development/logger.json b/public/language/rw/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/rw/admin/development/logger.json +++ b/public/language/rw/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/rw/admin/extend/plugins.json b/public/language/rw/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/rw/admin/extend/plugins.json +++ b/public/language/rw/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/rw/admin/extend/rewards.json b/public/language/rw/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/rw/admin/extend/rewards.json +++ b/public/language/rw/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/rw/admin/extend/widgets.json b/public/language/rw/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/rw/admin/extend/widgets.json +++ b/public/language/rw/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/rw/admin/manage/admins-mods.json b/public/language/rw/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/rw/admin/manage/admins-mods.json +++ b/public/language/rw/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/rw/admin/manage/categories.json b/public/language/rw/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/rw/admin/manage/categories.json +++ b/public/language/rw/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/rw/admin/manage/groups.json b/public/language/rw/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/rw/admin/manage/groups.json +++ b/public/language/rw/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/rw/admin/manage/privileges.json b/public/language/rw/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/rw/admin/manage/privileges.json +++ b/public/language/rw/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/rw/admin/manage/tags.json b/public/language/rw/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/rw/admin/manage/tags.json +++ b/public/language/rw/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/rw/admin/manage/uploads.json b/public/language/rw/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/rw/admin/manage/uploads.json +++ b/public/language/rw/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/rw/admin/manage/users.json b/public/language/rw/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/rw/admin/manage/users.json +++ b/public/language/rw/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/rw/admin/menu.json b/public/language/rw/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/rw/admin/menu.json +++ b/public/language/rw/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/rw/admin/settings/api.json b/public/language/rw/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/rw/admin/settings/api.json +++ b/public/language/rw/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/rw/admin/settings/general.json b/public/language/rw/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/rw/admin/settings/general.json +++ b/public/language/rw/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/rw/admin/settings/guest.json b/public/language/rw/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/rw/admin/settings/guest.json +++ b/public/language/rw/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/rw/admin/settings/navigation.json b/public/language/rw/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/rw/admin/settings/navigation.json +++ b/public/language/rw/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/rw/admin/settings/post.json b/public/language/rw/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/rw/admin/settings/post.json +++ b/public/language/rw/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/rw/admin/settings/reputation.json b/public/language/rw/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/rw/admin/settings/reputation.json +++ b/public/language/rw/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/rw/admin/settings/social.json b/public/language/rw/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/rw/admin/settings/social.json +++ b/public/language/rw/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/rw/admin/settings/tags.json b/public/language/rw/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/rw/admin/settings/tags.json +++ b/public/language/rw/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/rw/admin/settings/user.json b/public/language/rw/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/rw/admin/settings/user.json +++ b/public/language/rw/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/rw/error.json b/public/language/rw/error.json index 4776a7c70c..404e69bb7f 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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. ", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Izina ni rigufi cyane", diff --git a/public/language/rw/global.json b/public/language/rw/global.json index 32393d80d6..6a74db4476 100644 --- a/public/language/rw/global.json +++ b/public/language/rw/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Winjiyemo nta ngorane", "save_changes": "Bika ibyamaze gukorwa", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Funga", "pagination": "Umubare wa Paji", diff --git a/public/language/rw/modules.json b/public/language/rw/modules.json index cb99607b07..d47842ab0f 100644 --- a/public/language/rw/modules.json +++ b/public/language/rw/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/rw/pages.json b/public/language/rw/pages.json index 3f3f1b0f5e..7acc40685f 100644 --- a/public/language/rw/pages.json +++ b/public/language/rw/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Abariho", "users/latest": "Abashya", "users/sort-posts": "Abantu bashyizeho byinshi", diff --git a/public/language/rw/themes/harmony.json b/public/language/rw/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/rw/themes/harmony.json +++ b/public/language/rw/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/rw/topic.json b/public/language/rw/topic.json index 1d9c6570c1..6957755a88 100644 --- a/public/language/rw/topic.json +++ b/public/language/rw/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Gusubiza %1", "composer.new_topic": "Ikiganiro Gishya", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "gupakira...", "composer.thumb_url_label": "Omekaho thumbnail URL y'ikiganiro", "composer.thumb_title": "Ongera agafotondanga kuri iki kiganiro", diff --git a/public/language/rw/user.json b/public/language/rw/user.json index 6f611353be..40c14485b3 100644 --- a/public/language/rw/user.json +++ b/public/language/rw/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Nta mutwe w'itsinda", "select-skin": "Hitamo Uruhu", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Hitamo Paji y'Imbere", "homepage": "Paji y'Imbere", "homepage_description": "Hitamo paji yo kugaragaza imbere cyangwa ntuyihitemo kugirango hakoreshwe paji uru rubuga rwagennye", diff --git a/public/language/rw/users.json b/public/language/rw/users.json index 80d779c02d..a01fce929d 100644 --- a/public/language/rw/users.json +++ b/public/language/rw/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Shaka", "enter_username": "Shyiramo izina ryo gushaka", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Zana Ibindi", "users-found-search-took": "Habonetse abantu (umuntu) %1! Byatwaye amasegonda %2 gusa.", "filter-by": "Yungurura Ukurikije", diff --git a/public/language/sc/admin/admin.json b/public/language/sc/admin/admin.json index dcf9696ca2..89e08402cd 100644 --- a/public/language/sc/admin/admin.json +++ b/public/language/sc/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Control Panel", "settings-header-contents": "Contents", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/sc/admin/advanced/cache.json b/public/language/sc/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/sc/admin/advanced/cache.json +++ b/public/language/sc/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/sc/admin/advanced/database.json b/public/language/sc/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/sc/admin/advanced/database.json +++ b/public/language/sc/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/sc/admin/advanced/errors.json b/public/language/sc/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/sc/admin/advanced/errors.json +++ b/public/language/sc/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/sc/admin/appearance/customise.json b/public/language/sc/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/sc/admin/appearance/customise.json +++ b/public/language/sc/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/sc/admin/appearance/skins.json b/public/language/sc/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/sc/admin/appearance/skins.json +++ b/public/language/sc/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/sc/admin/appearance/themes.json b/public/language/sc/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/sc/admin/appearance/themes.json +++ b/public/language/sc/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/sc/admin/dashboard.json b/public/language/sc/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/sc/admin/dashboard.json +++ b/public/language/sc/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/sc/admin/development/logger.json b/public/language/sc/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/sc/admin/development/logger.json +++ b/public/language/sc/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/sc/admin/extend/plugins.json b/public/language/sc/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/sc/admin/extend/plugins.json +++ b/public/language/sc/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/sc/admin/extend/rewards.json b/public/language/sc/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/sc/admin/extend/rewards.json +++ b/public/language/sc/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/sc/admin/extend/widgets.json b/public/language/sc/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/sc/admin/extend/widgets.json +++ b/public/language/sc/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/sc/admin/manage/admins-mods.json b/public/language/sc/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/sc/admin/manage/admins-mods.json +++ b/public/language/sc/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/sc/admin/manage/categories.json b/public/language/sc/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/sc/admin/manage/categories.json +++ b/public/language/sc/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/sc/admin/manage/groups.json b/public/language/sc/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/sc/admin/manage/groups.json +++ b/public/language/sc/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/sc/admin/manage/privileges.json b/public/language/sc/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/sc/admin/manage/privileges.json +++ b/public/language/sc/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/sc/admin/manage/tags.json b/public/language/sc/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/sc/admin/manage/tags.json +++ b/public/language/sc/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/sc/admin/manage/uploads.json b/public/language/sc/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/sc/admin/manage/uploads.json +++ b/public/language/sc/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/sc/admin/manage/users.json b/public/language/sc/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/sc/admin/manage/users.json +++ b/public/language/sc/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/sc/admin/menu.json b/public/language/sc/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/sc/admin/menu.json +++ b/public/language/sc/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/sc/admin/settings/api.json b/public/language/sc/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/sc/admin/settings/api.json +++ b/public/language/sc/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/sc/admin/settings/general.json b/public/language/sc/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/sc/admin/settings/general.json +++ b/public/language/sc/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/sc/admin/settings/guest.json b/public/language/sc/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/sc/admin/settings/guest.json +++ b/public/language/sc/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/sc/admin/settings/navigation.json b/public/language/sc/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/sc/admin/settings/navigation.json +++ b/public/language/sc/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/sc/admin/settings/post.json b/public/language/sc/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/sc/admin/settings/post.json +++ b/public/language/sc/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/sc/admin/settings/reputation.json b/public/language/sc/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/sc/admin/settings/reputation.json +++ b/public/language/sc/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/sc/admin/settings/social.json b/public/language/sc/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/sc/admin/settings/social.json +++ b/public/language/sc/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/sc/admin/settings/tags.json b/public/language/sc/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/sc/admin/settings/tags.json +++ b/public/language/sc/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/sc/admin/settings/user.json b/public/language/sc/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/sc/admin/settings/user.json +++ b/public/language/sc/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/sc/error.json b/public/language/sc/error.json index 8184b0b80a..b4b0db8f20 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Username too short", diff --git a/public/language/sc/global.json b/public/language/sc/global.json index cce794489b..40e9988659 100644 --- a/public/language/sc/global.json +++ b/public/language/sc/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Ses intradu", "save_changes": "Alloga Acontzos", "save": "Save", + "create": "Create", "cancel": "Cancel", "close": "Serra", "pagination": "Paginatzione", diff --git a/public/language/sc/modules.json b/public/language/sc/modules.json index 2eb3dda4c0..24a6c6a64f 100644 --- a/public/language/sc/modules.json +++ b/public/language/sc/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/sc/pages.json b/public/language/sc/pages.json index 87c1612a80..be4dcc1d02 100644 --- a/public/language/sc/pages.json +++ b/public/language/sc/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Online Users", "users/latest": "Latest Users", "users/sort-posts": "Users with the most posts", diff --git a/public/language/sc/themes/harmony.json b/public/language/sc/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/sc/themes/harmony.json +++ b/public/language/sc/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/sc/topic.json b/public/language/sc/topic.json index c69b54052a..809f67530f 100644 --- a/public/language/sc/topic.json +++ b/public/language/sc/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Replying to %1", "composer.new_topic": "Arresonada Noa", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "carrighende...", "composer.thumb_url_label": "Apodda unu URL cun un'immàgine pro s'arresonada", "composer.thumb_title": "Annanghe un'immàgine pitica a custa arresonada", diff --git a/public/language/sc/user.json b/public/language/sc/user.json index c7c8cf5896..533fb3e63d 100644 --- a/public/language/sc/user.json +++ b/public/language/sc/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "No group title", "select-skin": "Select a Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Select a Homepage", "homepage": "Homepage", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", diff --git a/public/language/sc/users.json b/public/language/sc/users.json index ad15806d99..062efcb755 100644 --- a/public/language/sc/users.json +++ b/public/language/sc/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Chirca", "enter_username": "Pone unu nùmene de impitadore de chircare", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Càrriga de prus", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.", "filter-by": "Filter By", diff --git a/public/language/sk/admin/admin.json b/public/language/sk/admin/admin.json index a7a314942b..b8c7612a9a 100644 --- a/public/language/sk/admin/admin.json +++ b/public/language/sk/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "Ovládací panel administrátora %1 | NodeBB ", "settings-header-contents": "Obsah", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/sk/admin/advanced/cache.json b/public/language/sk/admin/advanced/cache.json index 8790e8de60..9f34b81dec 100644 --- a/public/language/sk/admin/advanced/cache.json +++ b/public/language/sk/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Vyrovnávacia pamäť príspevku", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/sk/admin/advanced/database.json b/public/language/sk/admin/advanced/database.json index 6d2b239a61..2e2391c890 100644 --- a/public/language/sk/admin/advanced/database.json +++ b/public/language/sk/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Doba prevádzky v sekundách", "uptime-days": "Doba prevádzky v dňoch", - "mongo": "Monho", + "mongo": "MongoDB", "mongo.version": "Verzia MongoDB", "mongo.storage-engine": "Modul úložiska ", "mongo.collections": "Fondy", diff --git a/public/language/sk/admin/advanced/errors.json b/public/language/sk/admin/advanced/errors.json index a1ccae6894..0e98691317 100644 --- a/public/language/sk/admin/advanced/errors.json +++ b/public/language/sk/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Vyriešiť %1", "error-events-per-day": "%1 udalostí za deň", "error.404": "Chyba 404 - Nenájdené", diff --git a/public/language/sk/admin/appearance/customise.json b/public/language/sk/admin/appearance/customise.json index e2ddcc7e74..cd87bfb320 100644 --- a/public/language/sk/admin/appearance/customise.json +++ b/public/language/sk/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Povoliť používateľskú hlavičku", "custom-css.livereload": "Povoliť aktuálne znovu načítanie", - "custom-css.livereload.description": "Povolením si vynútite, aby všetky relácie na každom zariadení pod Vaším účtom sa kedykoľvek obnovili pri kliknutí na tlačidlo „Uložiť”." + "custom-css.livereload.description": "Povolením si vynútite, aby všetky relácie na každom zariadení pod Vaším účtom sa kedykoľvek obnovili pri kliknutí na tlačidlo „Uložiť”.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/sk/admin/appearance/skins.json b/public/language/sk/admin/appearance/skins.json index 4e280d9b99..b39b3df32e 100644 --- a/public/language/sk/admin/appearance/skins.json +++ b/public/language/sk/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Načítať vzhľady...", "homepage": "Domovska stránka", "select-skin": "Vybrať vzhľad", + "revert-skin": "Revert Skin", "current-skin": "Aktuálny vzhľad", "skin-updated": "Vzhľad aktualizovaný", "applied-success": "%1 vzhľad bol úspešne aplikovaný", diff --git a/public/language/sk/admin/appearance/themes.json b/public/language/sk/admin/appearance/themes.json index d0554a150e..df84254a39 100644 --- a/public/language/sk/admin/appearance/themes.json +++ b/public/language/sk/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Vyhľadávanie nainštalovaných motívov...", "homepage": "Domovská stránka", "select-theme": "Vybrať motív", + "revert-theme": "Revert Theme", "current-theme": "Aktuálny motív", "no-themes": "Žiadne nainštalované motívy neboli nájdené", "revert-confirm": "Ste si istý/a, že chcete obnoviť predvolený NodeBB motív?", diff --git a/public/language/sk/admin/dashboard.json b/public/language/sk/admin/dashboard.json index d6f67ae224..ae3ed5b1e9 100644 --- a/public/language/sk/admin/dashboard.json +++ b/public/language/sk/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Aktualizácie", "running-version": "Fungujete na NodeBB v%1.", "keep-updated": "Vždy udržujte NodeBB aktuálne kvôli bezpečnostným záplatám a opravám.", - "up-to-date": "

Máte aktuálnu verziu

", - "upgrade-available": "

Nová verzia (v%1) bola zverejnená. Zvážte aktualizáciu vášho NodeBB.

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

Toto je zastaralá testovacia verzia NodeBB. Nová verzia (v%1) bola zverejnená. Zvážte aktualizáciu vášho NodeBB.

", - "prerelease-warning": "

Toto je skúšobná verzia NodeBB. Môžu sa vyskytnúť rôzne chyby.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Fórum beží vo vývojárskom režime a môže byť potenciálne zraniteľné. Kontaktujte správcu systému.", - "latest-lookup-failed": "

Chyba pri zistení poslednej dostupnej verzie NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Oznámenia", "restart-not-required": "Reštart nie je potrebný", diff --git a/public/language/sk/admin/development/logger.json b/public/language/sk/admin/development/logger.json index a96417643b..8643be78ab 100644 --- a/public/language/sk/admin/development/logger.json +++ b/public/language/sk/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Nastavenia protokolov", "description": "Povolením zaškrtávacích polí, budete dostávať protokoly na váš terminál. Ak nastavíte cestu, protokoly budú namiesto toho uložené do súboru. Protokolovanie HTTP je vhodné pre vytvorenie štatistiky o tom, kto, kedy a akí ľudia pristupujú k vášmu fóre. Dodatočne k týmto protokolom môžeme zapisovať aj udalosti z socket.io. Protokolovanie socket.io v kombinácii s monitorom redis-cli je vhodné k porozumeniu vnútorným štruktúram NodeBB.", "explanation": "Jednoducho zaškrtnite/odškrtnite nastavenia protokolu, zmeny sa prejavia okamžite bez reštartovania.", diff --git a/public/language/sk/admin/extend/plugins.json b/public/language/sk/admin/extend/plugins.json index 4546802a4f..5213bfa197 100644 --- a/public/language/sk/admin/extend/plugins.json +++ b/public/language/sk/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Nainštalované", "active": "Aktívny", diff --git a/public/language/sk/admin/extend/rewards.json b/public/language/sk/admin/extend/rewards.json index 87a475ac61..e592510d30 100644 --- a/public/language/sk/admin/extend/rewards.json +++ b/public/language/sk/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Odmeny", + "add-reward": "Add reward", "condition-if-users": "Ak je používateľ", "condition-is": "Je:", "condition-then": "Potom:", "max-claims": "Počet dosiahnuteľnosti odmeny", "zero-infinite": "Pre neobmedzené zadajte 0", + "select-reward": "Select reward", "delete": "Odstrániť", "enable": "Povoliť", "disable": "Zakázať", diff --git a/public/language/sk/admin/extend/widgets.json b/public/language/sk/admin/extend/widgets.json index 921153d124..1e0e68db70 100644 --- a/public/language/sk/admin/extend/widgets.json +++ b/public/language/sk/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Dostupné miniaplikácie", "explanation": "Vyberte si miniaplikáciu z rozbalovacej ponuky a pretiahnite ju do oblasti šablóny miniaplikácie naľavo.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/sk/admin/manage/admins-mods.json b/public/language/sk/admin/manage/admins-mods.json index 889def7458..f236f60a18 100644 --- a/public/language/sk/admin/manage/admins-mods.json +++ b/public/language/sk/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Správcovia", "global-moderators": "Hlavný moderátori", "moderators": "Moderators", "no-global-moderators": "Žiadny hlavný moderátori", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Žiadny moderátori", "add-administrator": "Pridať správcu", "add-global-moderator": "Pridať hlavného moderátora", diff --git a/public/language/sk/admin/manage/categories.json b/public/language/sk/admin/manage/categories.json index 907b0962af..b78a199d98 100644 --- a/public/language/sk/admin/manage/categories.json +++ b/public/language/sk/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Nastavenia kategórie", + "edit-category": "Edit Category", "privileges": "Oprávnenia", - + "back-to-categories": "Back to categories", "name": "Názov kategórie", "description": "Popis kategórie", "bg-color": "Farba pozadia", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Nahrať obrázok", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Odobrať", "category-image": "Obrázok kategórie", + "image-and-icon": "Image & Icon", "parent-category": "Nadriadená kategória", "optional-parent-category": "Nadriadená kategória (odporúčané)", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Zakázať", "edit": "Upraviť", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/sk/admin/manage/groups.json b/public/language/sk/admin/manage/groups.json index d7e0dd64ef..be5c9d91cb 100644 --- a/public/language/sk/admin/manage/groups.json +++ b/public/language/sk/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Názov skupiny", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Upraviť", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Hľadať", "create": "Vytvoriť skupinu", "description-placeholder": "Krátky popis skupiny", diff --git a/public/language/sk/admin/manage/privileges.json b/public/language/sk/admin/manage/privileges.json index aa473b0038..a31cd91cac 100644 --- a/public/language/sk/admin/manage/privileges.json +++ b/public/language/sk/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Verejný", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/sk/admin/manage/tags.json b/public/language/sk/admin/manage/tags.json index 2014aeebcd..d9d34addd7 100644 --- a/public/language/sk/admin/manage/tags.json +++ b/public/language/sk/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Vaše fórum zatiaľ neobsahuje žiadne témy.", "bg-color": "Farba pozadia", "text-color": "Farba textu", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Vytvoriť značku", + "add-tag": "Add tag", "modify": "upraviť značky", "rename": "Premenovať značky", "delete": "Odstrániť vybraté značky", diff --git a/public/language/sk/admin/manage/uploads.json b/public/language/sk/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/sk/admin/manage/uploads.json +++ b/public/language/sk/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/sk/admin/manage/users.json b/public/language/sk/admin/manage/users.json index edeef2865a..b1577d230e 100644 --- a/public/language/sk/admin/manage/users.json +++ b/public/language/sk/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Používatelia", "edit": "Actions", "make-admin": "Urobiť správcom", @@ -49,6 +50,10 @@ "users.username": "používateľské meno", "users.email": "e-mail", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "počet príspevkov", "users.reputation": "reputácia", diff --git a/public/language/sk/admin/menu.json b/public/language/sk/admin/menu.json index 7c42194fa7..d8f14024b0 100644 --- a/public/language/sk/admin/menu.json +++ b/public/language/sk/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Informácie", "rebuild-and-restart-forum": "Znovu zostaviť a reštartovať fórum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Reštartovať fórum", + "restart": "Restart", "logout": "Odhlásiť", "view-forum": "Zobraziť fórum", diff --git a/public/language/sk/admin/settings/api.json b/public/language/sk/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/sk/admin/settings/api.json +++ b/public/language/sk/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/sk/admin/settings/general.json b/public/language/sk/admin/settings/general.json index 697f33a976..b5e8ebf584 100644 --- a/public/language/sk/admin/settings/general.json +++ b/public/language/sk/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Nastavenia stránky", "title": "Názov stránky", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "URL názov stránky", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Názov vašej komunity", "title.show-in-header": "Zobraziť názov stránky v hlavičke", "browser-title": "Názov prehliadača", @@ -16,7 +18,7 @@ "description": "Popis stránky", "keywords": "Kľúčové slová pre stránky", "keywords-placeholder": "Kľúčové slová popisujúce Vašu komunitu, oddelené čiarkou", - "logo": "Logo stránky", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Obrázok", "logo.image-placeholder": "Cesta k logu, aby mohlo byť zobrazené v hlavičke fóra", "logo.upload": "Nahrať", diff --git a/public/language/sk/admin/settings/guest.json b/public/language/sk/admin/settings/guest.json index 760cd59c8b..c366f3e35e 100644 --- a/public/language/sk/admin/settings/guest.json +++ b/public/language/sk/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Povoliť upravovanie zaobchádzania s hosťami", "handles.enabled-help": "Táto možnosť odkryje nové pole, ktoré umožňuje hosťom vybrať meno, ktoré sa pripojí ku každému príspevku, ktorý vytvorí. Ak bude zakázané, budú jednoducho nazývaní 'Hosť'", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/sk/admin/settings/navigation.json b/public/language/sk/admin/settings/navigation.json index 6c08f2a209..c1bb688792 100644 --- a/public/language/sk/admin/settings/navigation.json +++ b/public/language/sk/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikona:", "change-icon": "zmeniť", "route": "Cesta:", diff --git a/public/language/sk/admin/settings/post.json b/public/language/sk/admin/settings/post.json index 39d29ac1eb..97e22a4688 100644 --- a/public/language/sk/admin/settings/post.json +++ b/public/language/sk/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Zoraďovanie príspevkov", "sorting.post-default": "Predvolené triedenie príspevkov", "sorting.oldest-to-newest": "Od najstarších po najnovšie", @@ -23,10 +24,8 @@ "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.min-title-length": "Maximálna dĺžka názvu", - "restrictions.max-title-length": "Maximálna dĺžka názvu", - "restrictions.min-post-length": "Minimálna dĺžka príspevku", - "restrictions.max-post-length": "Maximálna dĺžka príspevku", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Počet dní, než je téma považovaná za neaktuálnu", "restrictions.stale-help": "Ak je téma považovaná za „staré” používateľovi sa zobrazí oznámenie pri pokuse o pridanie odpovede.", "timestamp": "Časový odtlačok", @@ -41,10 +40,9 @@ "teaser.last-reply": "Posledný - zobrazenie poslednej odpovede, alebo ak nie sú žiadne odpovede textu „Bez odpovede”", "teaser.first": "Prvý", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Nastavenia neprečítaných", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Dni ukončenia neprečítaných", "unread.min-track-last": "Minimálny počet príspevkov v téme pred posledným prečítaním", - "recent": "Nastavenia pre posledné", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Zakázať filtrovanie tém v ignorovaných kategóriach na poslednej stránke", "signature": "Nastavenia podpisu", diff --git a/public/language/sk/admin/settings/reputation.json b/public/language/sk/admin/settings/reputation.json index e6e298291b..d590f7eda3 100644 --- a/public/language/sk/admin/settings/reputation.json +++ b/public/language/sk/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/sk/admin/settings/social.json b/public/language/sk/admin/settings/social.json index 0b19aa798a..53f64a87c1 100644 --- a/public/language/sk/admin/settings/social.json +++ b/public/language/sk/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Zdieľanie príspevku", - "info-plugins-additional": "Doplnky môžu pridávať ďalšie siete na zdieľanie príspevkov.", - "save-success": "Úspešne uložené siete zdieľajúce príspevky." + "info-plugins-additional": "Doplnky môžu pridávať ďalšie siete na zdieľanie príspevkov." } \ No newline at end of file diff --git a/public/language/sk/admin/settings/tags.json b/public/language/sk/admin/settings/tags.json index 77dc6b53a4..4b8b25ac47 100644 --- a/public/language/sk/admin/settings/tags.json +++ b/public/language/sk/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimálny počet značiek pre jednotlivé témy", "max-per-topic": "Maximálny počet značiek na tému", "min-length": "Minimálna dĺžka značky", diff --git a/public/language/sk/admin/settings/user.json b/public/language/sk/admin/settings/user.json index 5022bc3b40..f80d207f3f 100644 --- a/public/language/sk/admin/settings/user.json +++ b/public/language/sk/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximálna dĺžka informácií „O mne”", "terms-of-use": "Podmienky používania fóra (pre zakázanie nechajte prázdne)", "user-search": "Hľadať používateľa", - "user-search-results-per-page": "Počet zobrazených výsledkov", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Predvolené nastavenia používateľa", "show-email": "Zobraziť e-mail", "show-fullname": "Zobraziť celé meno", diff --git a/public/language/sk/error.json b/public/language/sk/error.json index c5dc7d5dc8..8132e52263 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Odoslaný spúšťač nebol nájdený, prosím uistite sa že je nainštalovaný a spustiteľný užívateľom používajúcim NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Užívateľské meno je príliš krátke", diff --git a/public/language/sk/global.json b/public/language/sk/global.json index 0df4e5bf0d..19b7985493 100644 --- a/public/language/sk/global.json +++ b/public/language/sk/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Úspešne ste sa prihlásili", "save_changes": "Uložiť zmeny", "save": "Uložiť", + "create": "Create", "cancel": "Cancel", "close": "Zatvoriť", "pagination": "Stránkovanie", diff --git a/public/language/sk/modules.json b/public/language/sk/modules.json index 7a178fdc99..abb7e3e49c 100644 --- a/public/language/sk/modules.json +++ b/public/language/sk/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Konverzácia s", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/sk/pages.json b/public/language/sk/pages.json index c4f2792efd..2e7b1412e0 100644 --- a/public/language/sk/pages.json +++ b/public/language/sk/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Nahlásený obsah", "ip-blacklist": "Čierny zoznam IP adries", "post-queue": "Fronta príspevkov", + "registration-queue": "Registration Queue", "users/online": "Online používatelia", "users/latest": "Najnovší používatelia", "users/sort-posts": "Užívatelia s najväčším počtom príspevkov", diff --git a/public/language/sk/themes/harmony.json b/public/language/sk/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/sk/themes/harmony.json +++ b/public/language/sk/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/sk/topic.json b/public/language/sk/topic.json index 56ffcdfac3..7d9be5a489 100644 --- a/public/language/sk/topic.json +++ b/public/language/sk/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Odpovedať na %1", "composer.new_topic": "Nová téma", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "nahrávanie...", "composer.thumb_url_label": "Prilep URL náhľadu témy", "composer.thumb_title": "Pridaj náhľad tejto Témy", diff --git a/public/language/sk/user.json b/public/language/sk/user.json index b6aca3b7d0..81b5555746 100644 --- a/public/language/sk/user.json +++ b/public/language/sk/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "Žiadny názov skupiny", "select-skin": "Vybrať vzhľad", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Vybrať domovskú stránku", "homepage": "Domovská stránka", "homepage_description": "Vyberte stránku ktorá bude použitá ako domovská stránka fóra. Pri vybratí 'Žiadna' bude nastavená predvolená domovská stránka.", diff --git a/public/language/sk/users.json b/public/language/sk/users.json index d5375c1cac..00a6852e68 100644 --- a/public/language/sk/users.json +++ b/public/language/sk/users.json @@ -6,7 +6,7 @@ "most_flags": "Najviac označované", "search": "Vyhľadať", "enter_username": "Zadajte užívateľa k hľadaniu", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Načítať viac", "users-found-search-took": "%1 užívateľ(ia) sa našli! Vyhľadávanie trvalo %2 sekúnd.", "filter-by": "Filtrovať podľa", diff --git a/public/language/sl/admin/admin.json b/public/language/sl/admin/admin.json index d379087343..84f479a2bc 100644 --- a/public/language/sl/admin/admin.json +++ b/public/language/sl/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB skrbniška nadzorna plošča", "settings-header-contents": "Vsebine", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/sl/admin/advanced/cache.json b/public/language/sl/admin/advanced/cache.json index f286253a5f..91c42ab7c1 100644 --- a/public/language/sl/admin/advanced/cache.json +++ b/public/language/sl/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Predpomnilnik objav", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/sl/admin/advanced/database.json b/public/language/sl/admin/advanced/database.json index a116b29172..3ce939359d 100644 --- a/public/language/sl/admin/advanced/database.json +++ b/public/language/sl/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Čas delovanja v sekundah", "uptime-days": "Čas delovanja v dneh", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB verzija", "mongo.storage-engine": "Pogon za shranjevanje", "mongo.collections": "Zbirke", diff --git a/public/language/sl/admin/advanced/errors.json b/public/language/sl/admin/advanced/errors.json index 4e5a5ae888..fe169d45c1 100644 --- a/public/language/sl/admin/advanced/errors.json +++ b/public/language/sl/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Slika %1", "error-events-per-day": "%1 dogodkov na dan", "error.404": "4040 ni najdeno", diff --git a/public/language/sl/admin/appearance/customise.json b/public/language/sl/admin/appearance/customise.json index 88146056cf..83dc15690b 100644 --- a/public/language/sl/admin/appearance/customise.json +++ b/public/language/sl/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Omogoči glavo po meri", "custom-css.livereload": "Omogoči ponovno nalaganje v živo", - "custom-css.livereload.description": "Omogočite to, da se vse seje na vsaki napravi v vašem računu osvežijo, ko kliknete shrani" + "custom-css.livereload.description": "Omogočite to, da se vse seje na vsaki napravi v vašem računu osvežijo, ko kliknete shrani", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/sl/admin/appearance/skins.json b/public/language/sl/admin/appearance/skins.json index 2d29a09f0d..62f1b40941 100644 --- a/public/language/sl/admin/appearance/skins.json +++ b/public/language/sl/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Nalagam preobleke...", "homepage": "Domača stran", "select-skin": "Izberi preobleko", + "revert-skin": "Revert Skin", "current-skin": "Trenutna preobleka", "skin-updated": "Preobleka je posodobljena", "applied-success": "%1 preobleke je bilo uspešno uveljavljene", diff --git a/public/language/sl/admin/appearance/themes.json b/public/language/sl/admin/appearance/themes.json index 3942ae0820..f33a2ce5aa 100644 --- a/public/language/sl/admin/appearance/themes.json +++ b/public/language/sl/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Iščem nameščene teme...", "homepage": "Domača stran", "select-theme": "Izberi temo", + "revert-theme": "Revert Theme", "current-theme": "Trenutna tema", "no-themes": "Ni najdenih nameščenih tem", "revert-confirm": "Ste prepričani, da želite obnoviti privzeto NodeBB temo?", diff --git a/public/language/sl/admin/dashboard.json b/public/language/sl/admin/dashboard.json index c67bd6e261..ec11deb636 100644 --- a/public/language/sl/admin/dashboard.json +++ b/public/language/sl/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Posodobitve", "running-version": " Teče NodeBB v%1.", "keep-updated": "Vedno se prepričajte, da je vaš NodeBB posodobljen za najnovejše varnostne popravke in popravke napak.", - "up-to-date": "

Ste na tekočem

", - "upgrade-available": "

Izdana je bila nova različica (v%1). Premislite o posodobitvi vašega NodeBB.

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

To je zastarela predizdajna različica NodeBB. Izšla je nova različica (v%1). Premislite o posodobitvi vašega NodeBB.

", - "prerelease-warning": "

To je predizdajna različica NodeBB. Pojavijo se lahko nenameravane napake.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Povratnega e-poštnega sporočila ni mogoče najti!", - "running-in-development": "Forum teče v razvojnem načinu. Forum je lahko odprt za potencialne ranljivosti; obrnite se na skrbnika sistema.", - "latest-lookup-failed": "

Najnovejše razpoložljive različice NodeBB ni bilo mogoče najti

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Opombe", "restart-not-required": "Ponovni zagon ni potreben", diff --git a/public/language/sl/admin/development/logger.json b/public/language/sl/admin/development/logger.json index ce73544633..bf1b76a62b 100644 --- a/public/language/sl/admin/development/logger.json +++ b/public/language/sl/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Nastavitve beleženja", "description": "Če omogočite potrditvena polja, boste prejemali dnevnike na svoj terminal. Če določite pot, se bodo dnevniki namesto tega shranili v datoteko. Zapisovanje HTTP je uporabno za zbiranje statističnih podatkov o tem, kdo, kdaj in do česa ljudje dostopajo na vašem forumu. Poleg beleženja zahtev HTTP lahko beležimo tudi dogodke socket.io. Zapisovanje Socket.io v kombinaciji z monitorjem redis-cli je lahko v veliko pomoč pri učenju notranjosti NodeBB.", "explanation": "Preprosto preverite/počistite nastavitve beleženja, če želite omogočiti ali onemogočiti sprotno beleženje. Ponovni zagon ni potreben.", diff --git a/public/language/sl/admin/extend/plugins.json b/public/language/sl/admin/extend/plugins.json index 648edefde3..bab65936f3 100644 --- a/public/language/sl/admin/extend/plugins.json +++ b/public/language/sl/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Nameščeno", "active": "Aktivno", diff --git a/public/language/sl/admin/extend/rewards.json b/public/language/sl/admin/extend/rewards.json index 48c9762b23..862039620c 100644 --- a/public/language/sl/admin/extend/rewards.json +++ b/public/language/sl/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Nagrade", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Je:", "condition-then": "Tedaj:", "max-claims": "Kolikokrat je mogoče zahtevati nagrado", "zero-infinite": "Vnesite 0 za neskončno", + "select-reward": "Select reward", "delete": "Izbriši", "enable": "Omogoči", "disable": "Onemogoči", diff --git a/public/language/sl/admin/extend/widgets.json b/public/language/sl/admin/extend/widgets.json index 72de7f13a2..f94b19e360 100644 --- a/public/language/sl/admin/extend/widgets.json +++ b/public/language/sl/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Razpoložljivi pripomočki", "explanation": "V spustnem meniju izberite pripomoček in ga povlecite in spustite v območje gradnikov predloge na levi.", "none-installed": "Pripomočki niso najdeni! Aktivirajte vtičnik za osnove pripomočkov na nadzorni ploščivtičnikov.", diff --git a/public/language/sl/admin/manage/admins-mods.json b/public/language/sl/admin/manage/admins-mods.json index b1040a7d53..5129aa13b8 100644 --- a/public/language/sl/admin/manage/admins-mods.json +++ b/public/language/sl/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Skrbnik", "global-moderators": "Globalni moderatorji", "moderators": "Moderators", "no-global-moderators": "Ni globalnih moderatorjev", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Ni moderatorjev", "add-administrator": "Dodaj skrbnika", "add-global-moderator": "Dodaj globalnega moderatorja", diff --git a/public/language/sl/admin/manage/categories.json b/public/language/sl/admin/manage/categories.json index d2bba96e4b..d2c96483be 100644 --- a/public/language/sl/admin/manage/categories.json +++ b/public/language/sl/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Nastavitve kategorije", + "edit-category": "Edit Category", "privileges": "Privilegiji", - + "back-to-categories": "Back to categories", "name": "Ime kategorije", "description": "Opis kategorije", "bg-color": "Barva ozadja", @@ -15,8 +19,11 @@ "post-queue": "Čakalna vrsta objav", "tag-whitelist": "Bela lista oznak", "upload-image": "Naloži sliko", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Odstrani", "category-image": "Slika kategorije", + "image-and-icon": "Image & Icon", "parent-category": "Nadrejena kategorija", "optional-parent-category": "(Izbirno) Nadrejena kategorija", "top-level": "Vrhnja raven", @@ -31,6 +38,7 @@ "disable": "Onemogoči", "edit": "Uredi", "analytics": "Analitika", + "view-category": "Poglej kategorijo", "set-order": "Nastavi vrstni red", "set-order-help": "Če nastavite vrstni red kategorije, se bo ta kategorija premaknila in po potrebi posodobila vrstni red drugih kategorij. Najmanjša št. vrstnega reda je 1, kar kategorijo postavlja na vrh.", diff --git a/public/language/sl/admin/manage/groups.json b/public/language/sl/admin/manage/groups.json index a19f194eae..bf41c39ae0 100644 --- a/public/language/sl/admin/manage/groups.json +++ b/public/language/sl/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Ime skupine", "badge": "Značka", "properties": "Lastnosti", @@ -10,7 +16,7 @@ "edit": "Uredi", "delete": "Izbriši", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Ustvari skupino", "description-placeholder": "Kratki opis vaše skupine", diff --git a/public/language/sl/admin/manage/privileges.json b/public/language/sl/admin/manage/privileges.json index a2b9268902..74f84b5311 100644 --- a/public/language/sl/admin/manage/privileges.json +++ b/public/language/sl/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Administrator", "group-privileges": "Group Privileges", diff --git a/public/language/sl/admin/manage/tags.json b/public/language/sl/admin/manage/tags.json index c2774f3284..688de91901 100644 --- a/public/language/sl/admin/manage/tags.json +++ b/public/language/sl/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Na vašem forumu še ni nobene teme z oznakami.", "bg-color": "Barva ozadja", "text-color": "Barva besedila", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Ustvari oznako", + "add-tag": "Add tag", "modify": "Spremeni oznake", "rename": "Preimenuj oznake", "delete": "Izbriši izbrane oznake", diff --git a/public/language/sl/admin/manage/uploads.json b/public/language/sl/admin/manage/uploads.json index 3fc7b46495..304ffe644c 100644 --- a/public/language/sl/admin/manage/uploads.json +++ b/public/language/sl/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Naloži datoteko", "filename": "Ime datoteke", "usage": "Post Usage", diff --git a/public/language/sl/admin/manage/users.json b/public/language/sl/admin/manage/users.json index f045790859..c20a749a9f 100644 --- a/public/language/sl/admin/manage/users.json +++ b/public/language/sl/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Uporabniki", "edit": "Dejanja", "make-admin": "Nastavi kot skrbnika", @@ -49,6 +50,10 @@ "users.username": "uporabniško ime", "users.email": "e-poštni naslov", "users.no-email": "(ni e-poštnega naslova)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "ugled", diff --git a/public/language/sl/admin/menu.json b/public/language/sl/admin/menu.json index 49412fc084..37609ee221 100644 --- a/public/language/sl/admin/menu.json +++ b/public/language/sl/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Ponovno zaženi forum", + "restart": "Restart", "logout": "Odjavi se", "view-forum": "View Forum", diff --git a/public/language/sl/admin/settings/api.json b/public/language/sl/admin/settings/api.json index 8522eb92aa..99bf753af2 100644 --- a/public/language/sl/admin/settings/api.json +++ b/public/language/sl/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Nastavitve", "lead-text": "Na tej strani lahko konfigurirate dostop do API-ja za pisanje v NodeBB.", "intro": "API za pisanje privzeto preverja uporabnike na podlagi njihovega piškotka seje, vendar NodeBB podpira tudi preverjanje pristnosti nosilca prek žetonov, ustvarjenih na tej strani.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Kliknite tukaj za dostop do celotne specifikacije API-ja", "require-https": "Zahtevaj uporabo API samo prek protokola HTTPS", "require-https-caveat": "Opomba: Nekatere namestitve, ki vključujejo izravnalnike obremenitve, lahko svoje zahteve posredujejo NodeBB prek protokola HTTP, v tem primeru bi morala ta možnost ostati onemogočena.", "uid": "ID uporabnika", + "token": "Token", "uid-help-text": "Določite ID uporabnika, ki ga želite povezati s tem žetonom. Če je ID uporabnika 0, bo veljal za glavni žeton, ki lahko prevzame identiteto drugih uporabnikov na podlagi parametra _uid", "description": "Opis", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Opis ni naveden.", - "token-on-save": "Žeton bo ustvarjen, ko bo obrazec shranjen" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/sl/admin/settings/general.json b/public/language/sl/admin/settings/general.json index 0705ada86f..a29b761475 100644 --- a/public/language/sl/admin/settings/general.json +++ b/public/language/sl/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Nastavitve spletnega mesta", "title": "Naslov spletnega mesta", "title.short": "Kratki naslov", "title.short-placeholder": "Če kratek naslov ni naveden, bo uporabljen naslov spletnega mesta", "title.url": "Title Link URL", "title.url-placeholder": "URL naslova spletnega mesta", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Ime vaše skupnosti", "title.show-in-header": "V glavi pokaži naslov strani", "browser-title": "Naslov brskalnika", @@ -16,7 +18,7 @@ "description": "Opis spletne strani", "keywords": "Ključne besede spletnega mesta", "keywords-placeholder": "Ključne besede, ki opisujejo vašo skupnost, ločene z vejicami", - "logo": "Logotip spletnega mesta", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Slika", "logo.image-placeholder": "Pot do logotipa za prikaz v glavi foruma", "logo.upload": "Upload", diff --git a/public/language/sl/admin/settings/guest.json b/public/language/sl/admin/settings/guest.json index f0a17f7cfa..a01f6934f3 100644 --- a/public/language/sl/admin/settings/guest.json +++ b/public/language/sl/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Nastavitve", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/sl/admin/settings/navigation.json b/public/language/sl/admin/settings/navigation.json index 4bddbaf945..2c52824df0 100644 --- a/public/language/sl/admin/settings/navigation.json +++ b/public/language/sl/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Ikona:", "change-icon": "change", "route": "Pot:", diff --git a/public/language/sl/admin/settings/post.json b/public/language/sl/admin/settings/post.json index dccdf4f9d5..2fc30dcc54 100644 --- a/public/language/sl/admin/settings/post.json +++ b/public/language/sl/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Razvrščanje objav", "sorting.post-default": "Privzeto razvrščanje objav", "sorting.oldest-to-newest": "Najstarejše do najnovejše", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Število sekund, ko je objavo še mogoče urejati (nastavite na 0, da onemogočite)", "restrictions.seconds-delete-after": "Število sekund, ko je objavo še mogoče izbrisati (nastavite na 0, da onemogočite)", "restrictions.replies-no-delete": "Število odgovorov, ko uporabnikom ni dovoljeno izbrisati lastnih tem (nastavite na 0, da onemogočite)", - "restrictions.min-title-length": "Najmanjša dolžina naslova", - "restrictions.max-title-length": "Največja dolžina naslova", - "restrictions.min-post-length": "Najmanjša dolžina objave", - "restrictions.max-post-length": "Največja dolžina objave", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Število ​​dni, dokler se tema ne šteje za zastarelo", "restrictions.stale-help": "Če se tema šteje za \"zastarelo\", bo uporabnikom, ki poskušajo odgovoriti na to temo, prikazano opozorilo.", "timestamp": "Časovni žig", @@ -41,10 +40,9 @@ "teaser.last-reply": "Zadnja – Prikaži najnovejši odgovor ali \"Ni odgovorov\", če ni odgovorov", "teaser.first": "Prvi", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Neprebrane nastavitve", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Najmanjše število objav v temi pred sledenjem zadnjem branju", - "recent": "Nedavne nastavitve", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Nastavitve podpisa", diff --git a/public/language/sl/admin/settings/reputation.json b/public/language/sl/admin/settings/reputation.json index 5447842c36..e298ccc665 100644 --- a/public/language/sl/admin/settings/reputation.json +++ b/public/language/sl/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/sl/admin/settings/social.json b/public/language/sl/admin/settings/social.json index f01d398aa1..97e24f5266 100644 --- a/public/language/sl/admin/settings/social.json +++ b/public/language/sl/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Deljenje objav", - "info-plugins-additional": "Vtičniki lahko dodajo dodatna omrežja za deljenje objav.", - "save-success": "Uspešno shranjena omrežja za deljenje objav!" + "info-plugins-additional": "Vtičniki lahko dodajo dodatna omrežja za deljenje objav." } \ No newline at end of file diff --git a/public/language/sl/admin/settings/tags.json b/public/language/sl/admin/settings/tags.json index 3134921790..c8a3bd9d7c 100644 --- a/public/language/sl/admin/settings/tags.json +++ b/public/language/sl/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Upravljaj oznake", "system-tags": "System Tags", "system-tags-help": "Ze oznake bodo lahko uporabljali le privilegirani uporabniki.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Najmanj oznak na temo", "max-per-topic": "Največ oznak na temo", "min-length": "Najmanjša dolžina oznake", diff --git a/public/language/sl/admin/settings/user.json b/public/language/sl/admin/settings/user.json index 0b68919c76..265c1e9d96 100644 --- a/public/language/sl/admin/settings/user.json +++ b/public/language/sl/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Največja dolžina O meni", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Pokaži e-poštni naslov", "show-fullname": "Pokaži polno ime", diff --git a/public/language/sl/error.json b/public/language/sl/error.json index 63ce48028a..3a9cb5ea47 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Ne najdem izvršljive datoteke za pošiljanje e-pošte. Prepričajte se, da je ta nameščena in izvršljiva prek uporabnika, ki izvaja NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Uporabniško ime je prekratko.", diff --git a/public/language/sl/global.json b/public/language/sl/global.json index ac35fbaa7b..4b41669603 100644 --- a/public/language/sl/global.json +++ b/public/language/sl/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Uspešno ste se prijavili.", "save_changes": "Shrani spremembe.", "save": "Shrani", + "create": "Create", "cancel": "Cancel", "close": "Zapri", "pagination": "Oštevilčenje strani", diff --git a/public/language/sl/modules.json b/public/language/sl/modules.json index bd2fc239f1..213f3f373c 100644 --- a/public/language/sl/modules.json +++ b/public/language/sl/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Klepetajte z", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/sl/pages.json b/public/language/sl/pages.json index e4aadf093e..d7df209a02 100644 --- a/public/language/sl/pages.json +++ b/public/language/sl/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flagged Content", "ip-blacklist": "IP Blacklist", "post-queue": "Post Queue", + "registration-queue": "Registration Queue", "users/online": "Dosegljivi uporabniki", "users/latest": "Zadnji uporabniki", "users/sort-posts": "Uporabniki z največ objavami", diff --git a/public/language/sl/themes/harmony.json b/public/language/sl/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/sl/themes/harmony.json +++ b/public/language/sl/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/sl/topic.json b/public/language/sl/topic.json index 97998a184e..6da76ee923 100644 --- a/public/language/sl/topic.json +++ b/public/language/sl/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Odgovor na %1", "composer.new_topic": "Nova tema", - "composer.editing": "Urejanje", + "composer.editing-in": "Editing post in %1", "composer.uploading": "nalagam...", "composer.thumb_url_label": "Prilepite URL sličice teme", "composer.thumb_title": "Dodajte sličico tej temi", diff --git a/public/language/sl/user.json b/public/language/sl/user.json index 04de6de728..f111164191 100644 --- a/public/language/sl/user.json +++ b/public/language/sl/user.json @@ -141,6 +141,8 @@ "group-order-help": "Izberi skupino in uporabi puščice za razvrstitev naslovov", "no-group-title": "Skupina nima imena", "select-skin": "Izberi preobleko", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Izberi domačo stran", "homepage": "Domača stran", "homepage_description": "Izberite stran, ki jo želite uporabiti kot domačo stran foruma, ali 'Brez', če želite uporabiti privzeto domačo stran.", diff --git a/public/language/sl/users.json b/public/language/sl/users.json index 0638263813..03ac37e2a8 100644 --- a/public/language/sl/users.json +++ b/public/language/sl/users.json @@ -6,7 +6,7 @@ "most_flags": "Most Flags", "search": "Išči", "enter_username": "Za iskanje vpiši uporabniško ime", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Naloži več", "users-found-search-took": "%1 uporabnik(ov) najdenih! Iskanje je potrebovalo %2 sekunde.", "filter-by": "Filtriraj po", diff --git a/public/language/sq-AL/admin/admin.json b/public/language/sq-AL/admin/admin.json index e2634e8498..c9430ce3da 100644 --- a/public/language/sq-AL/admin/admin.json +++ b/public/language/sq-AL/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Paneli i Kontrollit të Administratorit ", "settings-header-contents": "Përmbatja ", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Ndryshimet nuk u ruajtën!", - "changes-not-saved-message": "NodeBB gjeti një problem gjatë ruajtjes së ndryshimeve. (%1)" + "changes-not-saved-message": "NodeBB gjeti një problem gjatë ruajtjes së ndryshimeve. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/sq-AL/admin/advanced/cache.json b/public/language/sq-AL/admin/advanced/cache.json index 371a397b8b..a7dfe8704c 100644 --- a/public/language/sq-AL/admin/advanced/cache.json +++ b/public/language/sq-AL/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/sq-AL/admin/advanced/database.json b/public/language/sq-AL/admin/advanced/database.json index 9167b381ed..55eea6c023 100644 --- a/public/language/sq-AL/admin/advanced/database.json +++ b/public/language/sq-AL/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Version", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Collections", diff --git a/public/language/sq-AL/admin/advanced/errors.json b/public/language/sq-AL/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/sq-AL/admin/advanced/errors.json +++ b/public/language/sq-AL/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/sq-AL/admin/appearance/customise.json b/public/language/sq-AL/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/sq-AL/admin/appearance/customise.json +++ b/public/language/sq-AL/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/sq-AL/admin/appearance/skins.json b/public/language/sq-AL/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/sq-AL/admin/appearance/skins.json +++ b/public/language/sq-AL/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/sq-AL/admin/appearance/themes.json b/public/language/sq-AL/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/sq-AL/admin/appearance/themes.json +++ b/public/language/sq-AL/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/sq-AL/admin/dashboard.json b/public/language/sq-AL/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/sq-AL/admin/dashboard.json +++ b/public/language/sq-AL/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/sq-AL/admin/development/logger.json b/public/language/sq-AL/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/sq-AL/admin/development/logger.json +++ b/public/language/sq-AL/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/sq-AL/admin/extend/plugins.json b/public/language/sq-AL/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/sq-AL/admin/extend/plugins.json +++ b/public/language/sq-AL/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/sq-AL/admin/extend/rewards.json b/public/language/sq-AL/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/sq-AL/admin/extend/rewards.json +++ b/public/language/sq-AL/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/sq-AL/admin/extend/widgets.json b/public/language/sq-AL/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/sq-AL/admin/extend/widgets.json +++ b/public/language/sq-AL/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/sq-AL/admin/manage/admins-mods.json b/public/language/sq-AL/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/sq-AL/admin/manage/admins-mods.json +++ b/public/language/sq-AL/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/sq-AL/admin/manage/categories.json b/public/language/sq-AL/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/sq-AL/admin/manage/categories.json +++ b/public/language/sq-AL/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/sq-AL/admin/manage/groups.json b/public/language/sq-AL/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/sq-AL/admin/manage/groups.json +++ b/public/language/sq-AL/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/sq-AL/admin/manage/privileges.json b/public/language/sq-AL/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/sq-AL/admin/manage/privileges.json +++ b/public/language/sq-AL/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/sq-AL/admin/manage/tags.json b/public/language/sq-AL/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/sq-AL/admin/manage/tags.json +++ b/public/language/sq-AL/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/sq-AL/admin/manage/uploads.json b/public/language/sq-AL/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/sq-AL/admin/manage/uploads.json +++ b/public/language/sq-AL/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/sq-AL/admin/manage/users.json b/public/language/sq-AL/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/sq-AL/admin/manage/users.json +++ b/public/language/sq-AL/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/sq-AL/admin/menu.json b/public/language/sq-AL/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/sq-AL/admin/menu.json +++ b/public/language/sq-AL/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/sq-AL/admin/settings/api.json b/public/language/sq-AL/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/sq-AL/admin/settings/api.json +++ b/public/language/sq-AL/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/sq-AL/admin/settings/general.json b/public/language/sq-AL/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/sq-AL/admin/settings/general.json +++ b/public/language/sq-AL/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/sq-AL/admin/settings/guest.json b/public/language/sq-AL/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/sq-AL/admin/settings/guest.json +++ b/public/language/sq-AL/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/sq-AL/admin/settings/navigation.json b/public/language/sq-AL/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/sq-AL/admin/settings/navigation.json +++ b/public/language/sq-AL/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/sq-AL/admin/settings/post.json b/public/language/sq-AL/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/sq-AL/admin/settings/post.json +++ b/public/language/sq-AL/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/sq-AL/admin/settings/reputation.json b/public/language/sq-AL/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/sq-AL/admin/settings/reputation.json +++ b/public/language/sq-AL/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/sq-AL/admin/settings/social.json b/public/language/sq-AL/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/sq-AL/admin/settings/social.json +++ b/public/language/sq-AL/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/sq-AL/admin/settings/tags.json b/public/language/sq-AL/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/sq-AL/admin/settings/tags.json +++ b/public/language/sq-AL/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/sq-AL/admin/settings/user.json b/public/language/sq-AL/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/sq-AL/admin/settings/user.json +++ b/public/language/sq-AL/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/sq-AL/error.json b/public/language/sq-AL/error.json index 95216a6c88..88b27422ba 100644 --- a/public/language/sq-AL/error.json +++ b/public/language/sq-AL/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Përdoruesi \"%1\" nuk ka një email të regjistruar.", "email-confirm-failed": "Nuk mund ta konfirmonim emailin tuaj, ju lutemi provoni sërish më vonë.", "confirm-email-already-sent": "Email konfirmimi është dërguar tashmë, ju lutemi prisni %1 minut(a) për të dërguar një tjetër.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Ekzekutuesi sendmail nuk mund të gjendej, ju lutemi sigurohuni që ai të jetë i instaluar dhe i ekzekutueshëm nga përdoruesi që përdor NodeBB.", "digest-not-enabled": "Ky përdorues nuk i ka të aktivizuara përmbledhjet ose sistemi nuk është konfiguruar për të dërguar përmbledhje", "username-too-short": "Emri i përdoruesit është shumë i shkurtër", diff --git a/public/language/sq-AL/global.json b/public/language/sq-AL/global.json index 0ebb86d174..6d5562d732 100644 --- a/public/language/sq-AL/global.json +++ b/public/language/sq-AL/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Ju keni hyrë me sukses", "save_changes": "Ruaj ndryshimet", "save": "Ruaj", + "create": "Create", "cancel": "Cancel", "close": "Mbyll", "pagination": "Numërim Faqesh", diff --git a/public/language/sq-AL/modules.json b/public/language/sq-AL/modules.json index fa56ba6b2a..4a9f23adbd 100644 --- a/public/language/sq-AL/modules.json +++ b/public/language/sq-AL/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Bisedo me", "chat.placeholder": "Shkruani mesazhin e bisedës këtu, tërhiqni dhe lëshoni imazhet, shtypni enter për t'i dërguar", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Po shikoni mesazhet e vjetra, klikoni këtu për të shkuar te mesazhet më të fundit.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/sq-AL/pages.json b/public/language/sq-AL/pages.json index 10e2cfa828..a1551a1db7 100644 --- a/public/language/sq-AL/pages.json +++ b/public/language/sq-AL/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Përmbajtja e shënuar", "ip-blacklist": "Lista e zezë IP", "post-queue": "Radha e postimit", + "registration-queue": "Registration Queue", "users/online": "Përdoruesit në internet", "users/latest": "Përdoruesit e fundit", "users/sort-posts": "Përdoruesit me më shumë postime", diff --git a/public/language/sq-AL/themes/harmony.json b/public/language/sq-AL/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/sq-AL/themes/harmony.json +++ b/public/language/sq-AL/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/sq-AL/topic.json b/public/language/sq-AL/topic.json index 7f4aa9f177..7d3ef7d883 100644 --- a/public/language/sq-AL/topic.json +++ b/public/language/sq-AL/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Skedulo", "composer.replying_to": "Duke komentuar \"%1\"", "composer.new_topic": "Temë e re", - "composer.editing": "Duke edituar", + "composer.editing-in": "Editing post in %1", "composer.uploading": "duke u ngarkuar...", "composer.thumb_url_label": "Ngjit një URL të fotos së coverit të temës", "composer.thumb_title": "Shtoni një foto coveri në këtë temë", diff --git a/public/language/sq-AL/user.json b/public/language/sq-AL/user.json index bd94a7c957..36fe87231d 100644 --- a/public/language/sq-AL/user.json +++ b/public/language/sq-AL/user.json @@ -141,6 +141,8 @@ "group-order-help": "Zgjidhni një grup dhe përdorni shigjetat për të renditur titujt", "no-group-title": "Pa titull grupi", "select-skin": "Zgjidhni nje karakter", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Zgjidhni një Faqe kryesore", "homepage": "Kryefaqe", "homepage_description": "Zgjidhni një faqe për t'u përdorur si faqen kryesore të forumit ose 'Asnjë' për të përdorur faqen kryesore të paracaktuar.", diff --git a/public/language/sq-AL/users.json b/public/language/sq-AL/users.json index 85d2632176..0ca6b7b383 100644 --- a/public/language/sq-AL/users.json +++ b/public/language/sq-AL/users.json @@ -6,7 +6,7 @@ "most_flags": "Më të raportuarit", "search": "Kërko", "enter_username": "Kërko një përdorues", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Ngarko më shumë", "users-found-search-took": "%1 përdorues u gjet (en) ! Kërkimi zgjati %2 sekonda.", "filter-by": "Filtro sipas", diff --git a/public/language/sr/admin/admin.json b/public/language/sr/admin/admin.json index b0c05d1237..f53f9c0f51 100644 --- a/public/language/sr/admin/admin.json +++ b/public/language/sr/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Administratorski panel", "settings-header-contents": "Sadržaj", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/sr/admin/advanced/cache.json b/public/language/sr/admin/advanced/cache.json index 0148c2d889..6d290e9112 100644 --- a/public/language/sr/admin/advanced/cache.json +++ b/public/language/sr/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Post Cache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/sr/admin/advanced/database.json b/public/language/sr/admin/advanced/database.json index a529f06370..05e6a81523 100644 --- a/public/language/sr/admin/advanced/database.json +++ b/public/language/sr/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime in Seconds", "uptime-days": "Uptime in Days", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB verzija", "mongo.storage-engine": "Storage Engine", "mongo.collections": "Kolekcije", diff --git a/public/language/sr/admin/advanced/errors.json b/public/language/sr/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/sr/admin/advanced/errors.json +++ b/public/language/sr/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/sr/admin/appearance/customise.json b/public/language/sr/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/sr/admin/appearance/customise.json +++ b/public/language/sr/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/sr/admin/appearance/skins.json b/public/language/sr/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/sr/admin/appearance/skins.json +++ b/public/language/sr/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/sr/admin/appearance/themes.json b/public/language/sr/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/sr/admin/appearance/themes.json +++ b/public/language/sr/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/sr/admin/dashboard.json b/public/language/sr/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/sr/admin/dashboard.json +++ b/public/language/sr/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/sr/admin/development/logger.json b/public/language/sr/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/sr/admin/development/logger.json +++ b/public/language/sr/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/sr/admin/extend/plugins.json b/public/language/sr/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/sr/admin/extend/plugins.json +++ b/public/language/sr/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/sr/admin/extend/rewards.json b/public/language/sr/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/sr/admin/extend/rewards.json +++ b/public/language/sr/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/sr/admin/extend/widgets.json b/public/language/sr/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/sr/admin/extend/widgets.json +++ b/public/language/sr/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/sr/admin/manage/admins-mods.json b/public/language/sr/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/sr/admin/manage/admins-mods.json +++ b/public/language/sr/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/sr/admin/manage/categories.json b/public/language/sr/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/sr/admin/manage/categories.json +++ b/public/language/sr/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/sr/admin/manage/groups.json b/public/language/sr/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/sr/admin/manage/groups.json +++ b/public/language/sr/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/sr/admin/manage/privileges.json b/public/language/sr/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/sr/admin/manage/privileges.json +++ b/public/language/sr/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/sr/admin/manage/tags.json b/public/language/sr/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/sr/admin/manage/tags.json +++ b/public/language/sr/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/sr/admin/manage/uploads.json b/public/language/sr/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/sr/admin/manage/uploads.json +++ b/public/language/sr/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/sr/admin/manage/users.json b/public/language/sr/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/sr/admin/manage/users.json +++ b/public/language/sr/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/sr/admin/menu.json b/public/language/sr/admin/menu.json index 02074b61c0..9c5fbbfa23 100644 --- a/public/language/sr/admin/menu.json +++ b/public/language/sr/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Ponovo učitaj forum", + "restart": "Restart", "logout": "Izloguj se", "view-forum": "Pogledaj Forum", diff --git a/public/language/sr/admin/settings/api.json b/public/language/sr/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/sr/admin/settings/api.json +++ b/public/language/sr/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/sr/admin/settings/general.json b/public/language/sr/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/sr/admin/settings/general.json +++ b/public/language/sr/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/sr/admin/settings/guest.json b/public/language/sr/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/sr/admin/settings/guest.json +++ b/public/language/sr/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/sr/admin/settings/navigation.json b/public/language/sr/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/sr/admin/settings/navigation.json +++ b/public/language/sr/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/sr/admin/settings/post.json b/public/language/sr/admin/settings/post.json index be3cd4df14..2642504fc2 100644 --- a/public/language/sr/admin/settings/post.json +++ b/public/language/sr/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Sortiranje postova", "sorting.post-default": "Uobičajeno sortiranje postova", "sorting.oldest-to-newest": "Od starijih ka novijim", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum karaktera za Naslov", - "restrictions.max-title-length": "Maksimum karaktera za Naslov", - "restrictions.min-post-length": "Minimum karaktera za Post", - "restrictions.max-post-length": "Maksimum karaktera za Post", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "Ako se tema smatra \"ustajalom\", onda će upozorenje biti prikazano korisnicima koji su odgovarali na tu temu.", "timestamp": "Vremenski žig", @@ -41,10 +40,9 @@ "teaser.last-reply": "Poslednji &ndashč Pokaži najnoviji odgovor, ili ako \"Nema odgovora\" placeholder ako nema odgovora", "teaser.first": "Prvi", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Nepročitana podešavanja", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Nepročitano tokom prekinutih dana", "unread.min-track-last": "Minimum postova u temi, pre praćenja poslednjeg pročitanog", - "recent": "Nedavna Podešavanja", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Onemogući filtriranje tema u ignorisanim kategorijama na /recent stranici", "signature": "Podešavanja Potpisa", diff --git a/public/language/sr/admin/settings/reputation.json b/public/language/sr/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/sr/admin/settings/reputation.json +++ b/public/language/sr/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/sr/admin/settings/social.json b/public/language/sr/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/sr/admin/settings/social.json +++ b/public/language/sr/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/sr/admin/settings/tags.json b/public/language/sr/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/sr/admin/settings/tags.json +++ b/public/language/sr/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/sr/admin/settings/user.json b/public/language/sr/admin/settings/user.json index 331b89acce..55ecbd1720 100644 --- a/public/language/sr/admin/settings/user.json +++ b/public/language/sr/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maksimum karaktera O Meni", "terms-of-use": "Uslovi upotrebe foruma (Ostavite prazno da onemogućite)", "user-search": "Pretraga Korisnika", - "user-search-results-per-page": "Broj rezultata po prikazu", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Uobičajne Postavke Korisnika", "show-email": "Prikaži email", "show-fullname": "Prikaži puno ime", diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 3675b6c2dd..26b4580399 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Корисник \"%1\" нема подешену е-пошту.", "email-confirm-failed": "Потврда е-поште није успела, молимо вас да покушате касније.", "confirm-email-already-sent": "Е-порука за потврду је већ послата, молимо вас да сачекате %1 минут(а) да бисте послали други.", + "confirm-email-expired": "Е-порука за потврду је истекла", "sendmail-not-found": "Програм за слање поште није пронађен, проверите да ли је инсталиран и покренут од стране корисника NodeBB.", "digest-not-enabled": "Овај корисник нема омогућене сажетке или систем није подразумевано конфигурисан за слање сажетака", "username-too-short": "Корисничко име је прекратко", diff --git a/public/language/sr/global.json b/public/language/sr/global.json index 7e9b58164c..d3b061f54e 100644 --- a/public/language/sr/global.json +++ b/public/language/sr/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Успешно сте се пријавили", "save_changes": "Сачувај измене", "save": "Сачувај", + "create": "Креирај", "cancel": "Откажи", "close": "Затвори", "pagination": "Нумерисање страница", diff --git a/public/language/sr/modules.json b/public/language/sr/modules.json index 863a37b110..d8f3f8f7ed 100644 --- a/public/language/sr/modules.json +++ b/public/language/sr/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Ћаскај са", "chat.placeholder": "Куцајте поруку ћаскања овде, превуците и отпустите слике, притисните enter за слање", "chat.placeholder.mobile": "Куцајте поруку овде", - "chat.scroll-up-alert": "Гледате старије поруке, кликните овде да бисте прешли на најновију поруку.", + "chat.scroll-up-alert": "Идите на најновију поруку", "chat.usernames-and-x-others": "%1 & %2 осталих", "chat.chat-with-usernames": "Ћаскај са %1", "chat.chat-with-usernames-and-x-others": "Ћаскај са %1 & %2 осталих", diff --git a/public/language/sr/pages.json b/public/language/sr/pages.json index 18fe371ce8..6a98a054c5 100644 --- a/public/language/sr/pages.json +++ b/public/language/sr/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Садржај означен заставицом", "ip-blacklist": "Црна листа IP адреса", "post-queue": "Порука на чекању", + "registration-queue": "Регистрација на чекању", "users/online": "Корисници на мрежи", "users/latest": "Најновији корисници", "users/sort-posts": "Корисници са највише порука", diff --git a/public/language/sr/tags.json b/public/language/sr/tags.json index 8cf309e6a2..51349f96ff 100644 --- a/public/language/sr/tags.json +++ b/public/language/sr/tags.json @@ -7,5 +7,5 @@ "enter_tags_here_short": "Унесите ознаке...", "no_tags": "Још увек нема ознака.", "select_tags": "Изабери ознаке", - "tag-whitelist": "Tag Whitelist" + "tag-whitelist": "Бела листа ознака" } \ No newline at end of file diff --git a/public/language/sr/themes/harmony.json b/public/language/sr/themes/harmony.json index 57e2def8d3..eb5db9e602 100644 --- a/public/language/sr/themes/harmony.json +++ b/public/language/sr/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", - "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "theme-name": "Harmony тема", + "skins": "Маске", + "collapse": "Скупи", + "expand": "Рашири", + "login-register-to-search": "Пријавите се или региструјте за претрагу.", + "settings.title": "Подешавање тема", + "settings.enableQuickReply": "Омогући брзи одговор", + "settings.centerHeaderElements": "Центрирај елементе заглавља", + "settings.mobileTopicTeasers": "Прикажи најавне теме на мобилном телефону", + "settings.stickyToolbar": "Лепљива трака алата", + "settings.stickyToolbar.help": "Трака алата на страницама са темама и категоријама ће бити на врху странице", + "settings.autohideBottombar": "Аутоматско сакривање доње траке", + "settings.autohideBottombar.help": "Доња трака у приказу за мобилне уређаје биће скривена када се страница помера надоле", + "settings.chatModals": "Омогући модале ћаскања" } \ No newline at end of file diff --git a/public/language/sr/themes/persona.json b/public/language/sr/themes/persona.json index e7d1945303..fa9bed2183 100644 --- a/public/language/sr/themes/persona.json +++ b/public/language/sr/themes/persona.json @@ -1,10 +1,10 @@ { - "settings.title": "Theme settings", - "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", - "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", - "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", - "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", - "settings.autoHidingNavbar-md": "Medium sized screens (e.g. tablets in landscape mode)", - "settings.autoHidingNavbar-lg": "Larger screens (e.g. desktop computers)" + "settings.title": "Подешавање тема", + "settings.intro": "Овде можете прилагодити подешавања тема. Подешавања се чувају за сваки уређај, тако да можете да имате различита подешавања на различитим уређајима (телефон, таблет, десктоп итд.)", + "settings.mobile-menu-side": "Промените страну на којој је сваки мобилни мени", + "settings.autoHidingNavbar": "Аутоматски сакриј навигациону траку приликом померања", + "settings.autoHidingNavbar-xs": "Веома мали екрани (нпр. телефони у портретном режиму)", + "settings.autoHidingNavbar-sm": "Мањи екрани (нпр. телефони, неки таблети)", + "settings.autoHidingNavbar-md": "Екрани средње величине (нпр. таблети у пејзажном режиму)", + "settings.autoHidingNavbar-lg": "Већи екрани (нпр. десктоп рачунари)" } \ No newline at end of file diff --git a/public/language/sr/topic.json b/public/language/sr/topic.json index 7c78ea0d5f..65fb76a8d5 100644 --- a/public/language/sr/topic.json +++ b/public/language/sr/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Испланирај", "composer.replying_to": "Писање одговора на %1", "composer.new_topic": "Нова тема", - "composer.editing": "Уређивање", + "composer.editing-in": "Уређивање објаве у %1", "composer.uploading": "отпремање...", "composer.thumb_url_label": "Налепи адресу сличице теме", "composer.thumb_title": "Додај сличицу овој теми", diff --git a/public/language/sr/user.json b/public/language/sr/user.json index f030c88853..61e40f1591 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -141,6 +141,8 @@ "group-order-help": "Изаберите групу и користите стрелице за промену редоследа", "no-group-title": "Без назива групе", "select-skin": "Изаберите маску", + "default": "Подразумевано (%1)", + "no-skin": "Без маске", "select-homepage": "Изаберите матичну страницу", "homepage": "Матична страница", "homepage_description": "Изаберите страницу која ће се користити као матична страница форума или „None“ да би се користила подразумевана почетна страница.", diff --git a/public/language/sr/users.json b/public/language/sr/users.json index a44102be3d..b37157a8cf 100644 --- a/public/language/sr/users.json +++ b/public/language/sr/users.json @@ -6,7 +6,7 @@ "most_flags": "Најчешће означени заставицом", "search": "Претрага", "enter_username": "Унесите корисничко име за претрагу", - "search-user-for-chat": "Потражите корисника за ћаскање", + "search-user-for-chat": "Потражите корисника да бисте започели ћаскање", "load_more": "Учитај више", "users-found-search-took": "Нађено је %1 корисника! Претрага је завршена за %2 секунде.", "filter-by": "Филтрирај према", diff --git a/public/language/sv/admin/admin.json b/public/language/sv/admin/admin.json index 2d3fc7ea8e..70868783ce 100644 --- a/public/language/sv/admin/admin.json +++ b/public/language/sv/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Admin Kontrollpanel", "settings-header-contents": "Innehåll", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Ändringar Sparades Ej", - "changes-not-saved-message": "NodeBB kunde inte spara dina ändringar. (%1)" + "changes-not-saved-message": "NodeBB kunde inte spara dina ändringar. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/sv/admin/advanced/cache.json b/public/language/sv/admin/advanced/cache.json index ebdd17c2dc..81e5a41473 100644 --- a/public/language/sv/admin/advanced/cache.json +++ b/public/language/sv/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Inläggscache", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/sv/admin/advanced/database.json b/public/language/sv/admin/advanced/database.json index 0017290727..4ea1f8ac3b 100644 --- a/public/language/sv/admin/advanced/database.json +++ b/public/language/sv/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Driftstid i sekunder", "uptime-days": "Driftstid i dagar", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB-version", "mongo.storage-engine": "Lagringsmotor", "mongo.collections": "Samlingar", diff --git a/public/language/sv/admin/advanced/errors.json b/public/language/sv/admin/advanced/errors.json index 546f0f1508..fad54e99eb 100644 --- a/public/language/sv/admin/advanced/errors.json +++ b/public/language/sv/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figure %1", "error-events-per-day": "%1 events per day", "error.404": "404 Not Found", diff --git a/public/language/sv/admin/appearance/customise.json b/public/language/sv/admin/appearance/customise.json index c95e62c0f0..147ef37bb4 100644 --- a/public/language/sv/admin/appearance/customise.json +++ b/public/language/sv/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Enable Custom Header", "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save" + "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/sv/admin/appearance/skins.json b/public/language/sv/admin/appearance/skins.json index 4db6fbdd8a..c98482f27b 100644 --- a/public/language/sv/admin/appearance/skins.json +++ b/public/language/sv/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Loading Skins...", "homepage": "Homepage", "select-skin": "Select Skin", + "revert-skin": "Revert Skin", "current-skin": "Current Skin", "skin-updated": "Skin Updated", "applied-success": "%1 skin was succesfully applied", diff --git a/public/language/sv/admin/appearance/themes.json b/public/language/sv/admin/appearance/themes.json index 597830f379..a6b65e46f3 100644 --- a/public/language/sv/admin/appearance/themes.json +++ b/public/language/sv/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Checking for installed themes...", "homepage": "Homepage", "select-theme": "Select Theme", + "revert-theme": "Revert Theme", "current-theme": "Current Theme", "no-themes": "No installed themes found", "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", diff --git a/public/language/sv/admin/dashboard.json b/public/language/sv/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/sv/admin/dashboard.json +++ b/public/language/sv/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/sv/admin/development/logger.json b/public/language/sv/admin/development/logger.json index 6ab9558149..8cc83b9775 100644 --- a/public/language/sv/admin/development/logger.json +++ b/public/language/sv/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Logger Settings", "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", diff --git a/public/language/sv/admin/extend/plugins.json b/public/language/sv/admin/extend/plugins.json index f7e60c4360..4849f0cab2 100644 --- a/public/language/sv/admin/extend/plugins.json +++ b/public/language/sv/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Installed", "active": "Active", diff --git a/public/language/sv/admin/extend/rewards.json b/public/language/sv/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/sv/admin/extend/rewards.json +++ b/public/language/sv/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/sv/admin/extend/widgets.json b/public/language/sv/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/sv/admin/extend/widgets.json +++ b/public/language/sv/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/sv/admin/manage/admins-mods.json b/public/language/sv/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/sv/admin/manage/admins-mods.json +++ b/public/language/sv/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/sv/admin/manage/categories.json b/public/language/sv/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/sv/admin/manage/categories.json +++ b/public/language/sv/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/sv/admin/manage/groups.json b/public/language/sv/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/sv/admin/manage/groups.json +++ b/public/language/sv/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/sv/admin/manage/privileges.json b/public/language/sv/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/sv/admin/manage/privileges.json +++ b/public/language/sv/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/sv/admin/manage/tags.json b/public/language/sv/admin/manage/tags.json index dc027d84b9..dc39738e68 100644 --- a/public/language/sv/admin/manage/tags.json +++ b/public/language/sv/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Ditt forum har inte några ämnen med etiketter ännu.", "bg-color": "Bakgrundsfärg", "text-color": "Textfärg", "description": "Välj etiketter genom att klicka eller dra. Använd CTRL för att välja flera etiketter.", "create": "Skapa Etikett", + "add-tag": "Add tag", "modify": "Redigera Etikett", "rename": "Döp om etikett", "delete": "Radera Vald Etikett", diff --git a/public/language/sv/admin/manage/uploads.json b/public/language/sv/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/sv/admin/manage/uploads.json +++ b/public/language/sv/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/sv/admin/manage/users.json b/public/language/sv/admin/manage/users.json index 9064153de7..96b024fec5 100644 --- a/public/language/sv/admin/manage/users.json +++ b/public/language/sv/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Users", "edit": "Actions", "make-admin": "Make Admin", @@ -49,6 +50,10 @@ "users.username": "username", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "postcount", "users.reputation": "reputation", diff --git a/public/language/sv/admin/menu.json b/public/language/sv/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/sv/admin/menu.json +++ b/public/language/sv/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/sv/admin/settings/api.json b/public/language/sv/admin/settings/api.json index 9bc499e3f9..88fe6d6748 100644 --- a/public/language/sv/admin/settings/api.json +++ b/public/language/sv/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Inställningar", "lead-text": "Från den här sidan kan du konfigurera åtkomst till NodeBBs 'Write API'.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Tillåt endast API-användning via HTTPS", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Beskrivning", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "Ingen beskrivning finns.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/sv/admin/settings/general.json b/public/language/sv/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/sv/admin/settings/general.json +++ b/public/language/sv/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/sv/admin/settings/guest.json b/public/language/sv/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/sv/admin/settings/guest.json +++ b/public/language/sv/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/sv/admin/settings/navigation.json b/public/language/sv/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/sv/admin/settings/navigation.json +++ b/public/language/sv/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/sv/admin/settings/post.json b/public/language/sv/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/sv/admin/settings/post.json +++ b/public/language/sv/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/sv/admin/settings/reputation.json b/public/language/sv/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/sv/admin/settings/reputation.json +++ b/public/language/sv/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/sv/admin/settings/social.json b/public/language/sv/admin/settings/social.json index 23aedfcfaa..257e20b54b 100644 --- a/public/language/sv/admin/settings/social.json +++ b/public/language/sv/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Post Sharing", - "info-plugins-additional": "Plugins can add additional networks for sharing posts.", - "save-success": "Successfully saved Post Sharing Networks!" + "info-plugins-additional": "Plugins can add additional networks for sharing posts." } \ No newline at end of file diff --git a/public/language/sv/admin/settings/tags.json b/public/language/sv/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/sv/admin/settings/tags.json +++ b/public/language/sv/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/sv/admin/settings/user.json b/public/language/sv/admin/settings/user.json index c8c418a206..368548ba74 100644 --- a/public/language/sv/admin/settings/user.json +++ b/public/language/sv/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/sv/error.json b/public/language/sv/error.json index 2789cae3dc..ec3f18f974 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Kunde inte hitta Sendmail, vänligen se till att den är installerad och får köras av den användare som kör NodeBB.", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "Användarnamnet är för kort", diff --git a/public/language/sv/global.json b/public/language/sv/global.json index 3f53678719..6172d35dc6 100644 --- a/public/language/sv/global.json +++ b/public/language/sv/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Inloggningen lyckades", "save_changes": "Spara ändringar", "save": "Spara", + "create": "Create", "cancel": "Cancel", "close": "Stäng", "pagination": "Siduppdelning", diff --git a/public/language/sv/modules.json b/public/language/sv/modules.json index acb317476c..957403eb60 100644 --- a/public/language/sv/modules.json +++ b/public/language/sv/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Chatta med", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "Du tittar på äldre meddelanden. Klicka här för att gå till det senaste meddelandet.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/sv/pages.json b/public/language/sv/pages.json index 68ba8522cd..83d742cd9b 100644 --- a/public/language/sv/pages.json +++ b/public/language/sv/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Flaggat innehåll", "ip-blacklist": "IP Svartlista", "post-queue": "Inllägskö", + "registration-queue": "Registration Queue", "users/online": "Användare online", "users/latest": "Senaste Användare", "users/sort-posts": "Användare med flest inlägg", diff --git a/public/language/sv/themes/harmony.json b/public/language/sv/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/sv/themes/harmony.json +++ b/public/language/sv/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index db93c6b6d4..a946b6fd43 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schemalägg", "composer.replying_to": "Svarar till %1", "composer.new_topic": "Nytt ämne", - "composer.editing": "Redigerar", + "composer.editing-in": "Editing post in %1", "composer.uploading": "laddar upp...", "composer.thumb_url_label": "Klistra in URL till tumnagel för ämnet", "composer.thumb_title": "Lägg till tumnagel för detta ämne", diff --git a/public/language/sv/user.json b/public/language/sv/user.json index 26e1895936..52ba3b01c7 100644 --- a/public/language/sv/user.json +++ b/public/language/sv/user.json @@ -141,6 +141,8 @@ "group-order-help": "Välj en grupp och använd piltangenterna för att ordna rubriker", "no-group-title": "Ingen titel på gruppen", "select-skin": "Välj ett Skin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Välj en startsida", "homepage": "Startsida", "homepage_description": "Välj en sida som ska användas som forumets startsida eller 'Ingen' för att använda standardstartsidan.", diff --git a/public/language/sv/users.json b/public/language/sv/users.json index cdca3aaa37..9187cf796e 100644 --- a/public/language/sv/users.json +++ b/public/language/sv/users.json @@ -6,7 +6,7 @@ "most_flags": "Mest flaggade", "search": "Sök", "enter_username": "Ange ett användarnamn för att söka", - "search-user-for-chat": "Sök efter en användare för att starta en chat", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Ladda fler", "users-found-search-took": "%1 användare hittades! Sökningen tog %2 sekunder.", "filter-by": "Filtrera på", diff --git a/public/language/th/admin/admin.json b/public/language/th/admin/admin.json index 500fd1df8a..eb6d05a175 100644 --- a/public/language/th/admin/admin.json +++ b/public/language/th/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | แผงควบคุมของผู้ดูแลระบบ", "settings-header-contents": "เนื้อหา", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/th/admin/advanced/cache.json b/public/language/th/admin/advanced/cache.json index c751c880b0..0c7af6cd99 100644 --- a/public/language/th/admin/advanced/cache.json +++ b/public/language/th/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "แคชข้อความ", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/th/admin/advanced/database.json b/public/language/th/admin/advanced/database.json index 9f196b465b..8dd1c7931c 100644 --- a/public/language/th/admin/advanced/database.json +++ b/public/language/th/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "ระยะเวลาทำงานต่อเนื่องเป็นวินาที", "uptime-days": "ระยะเวลาทำงานต่อเนื่องเป็นวัน", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB เวอร์ชั่น", "mongo.storage-engine": "ระบบการจัดเก็บ", "mongo.collections": "คอลเลคชัน", diff --git a/public/language/th/admin/advanced/errors.json b/public/language/th/admin/advanced/errors.json index 354bdc8fda..7e7985ed9c 100644 --- a/public/language/th/admin/advanced/errors.json +++ b/public/language/th/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "การปรับแต่ง %1", "error-events-per-day": "%1 อีเวนท์ต่อวัน", "error.404": "404 ไม่พบเพจ", diff --git a/public/language/th/admin/appearance/customise.json b/public/language/th/admin/appearance/customise.json index d201b7c6f4..a7b479126f 100644 --- a/public/language/th/admin/appearance/customise.json +++ b/public/language/th/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "เปิดการปรับแต่งส่วนหัว", "custom-css.livereload": "เปิดการบังคับให้มีผลในทันที", - "custom-css.livereload.description": "การเปิดนี้จะบังคับทุกเซสชั่นบนทุกอุปกรณ์ภายใต้บัญชีของคุณให้ถูกรีเฟรชทันทีที่คุณกดบันทึก" + "custom-css.livereload.description": "การเปิดนี้จะบังคับทุกเซสชั่นบนทุกอุปกรณ์ภายใต้บัญชีของคุณให้ถูกรีเฟรชทันทีที่คุณกดบันทึก", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/th/admin/appearance/skins.json b/public/language/th/admin/appearance/skins.json index 7a3c23814a..e42d9bdca4 100644 --- a/public/language/th/admin/appearance/skins.json +++ b/public/language/th/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "กำลังโหลดหน้ากาก", "homepage": "หน้าแรก", "select-skin": "เลือกหน้ากาก", + "revert-skin": "Revert Skin", "current-skin": "หน้ากากปัจจุบัน", "skin-updated": "หน้ากากถูกอัปเดทแล้ว", "applied-success": "%1 หน้ากากถูกใช้เสร็จสิ้นแล้ว", diff --git a/public/language/th/admin/appearance/themes.json b/public/language/th/admin/appearance/themes.json index 589f054c4a..da26b0dbd6 100644 --- a/public/language/th/admin/appearance/themes.json +++ b/public/language/th/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "กำลังตรวจสอบธีมที่ถูกติดตั้งแล้ว", "homepage": "หน้าแรก", "select-theme": "เลือกธีม", + "revert-theme": "Revert Theme", "current-theme": "ธีมปัจจุบัน", "no-themes": "ไม่พบธีมที่ถูกติดตั้งแล้ว", "revert-confirm": "คุณแน่ใจแล้วใช่ไหมที่ต้องการกลับไปใช้ธีมพื้นฐานของ NodeBB?", diff --git a/public/language/th/admin/dashboard.json b/public/language/th/admin/dashboard.json index ba945e281a..c77f7ff0c2 100644 --- a/public/language/th/admin/dashboard.json +++ b/public/language/th/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Updates", "running-version": "You are running NodeBB v%1.", "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "

You are up-to-date

", - "upgrade-available": "

A new version (v%1) has been released. Consider upgrading your NodeBB.

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

This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.

", - "prerelease-warning": "

This is a pre-release version of NodeBB. Unintended bugs may occur.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator.", - "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Notices", "restart-not-required": "Restart not required", diff --git a/public/language/th/admin/development/logger.json b/public/language/th/admin/development/logger.json index ed412a1609..7315196d94 100644 --- a/public/language/th/admin/development/logger.json +++ b/public/language/th/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "การตั้งค่าการบันทึกผลกิจกรรม", "description": "ถ้าคุณเลือกช่องนี้, คุณจะได้รับการแสดงผลกิจกรรมทางจอภาพ แต่ถ้าคุณระบุเส้นทางการจัดเก็บผลการบันทึกกิจกรรมจะถูกบันทึกเป็นไฟล์แทน, ผลการบันทึกกิจกรรมของ HTTP มีประโยชน์เพื่อเก็บสถิติเกี่ยวกับ ใคร, เมื่อไหร่ และที่ไหนในฟอรั่มของคุณที่พวกเขาเข้าถึง เช่นเดียวกันกับที่เราสามารถบันทึกผลกิจกรรมอีเวนท์ของ socket.io โดยการบันทึกผลกิจกรรมของ Socket.io นั้นจะบันทึกร่วมกับการจับตาดู redis-cli ซึ่งสามารถช่วยให้เราศึกษา NodeBB จากภายในได้", "explanation": "ง่ายมากเพียงแค่ เลือกหรือยกเลิก การตั้งค่าการบันทึกผลกิจกรรม เพื่อเปิดและปิดการบันทึกผลกิจกรรมในทันที ไม่จำเป็นต้องรีสตาร์ท", diff --git a/public/language/th/admin/extend/plugins.json b/public/language/th/admin/extend/plugins.json index 49c9ad44f8..1a8f66fa6d 100644 --- a/public/language/th/admin/extend/plugins.json +++ b/public/language/th/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "ถูกติดตั้งแล้ว", "active": "ทำงาน", diff --git a/public/language/th/admin/extend/rewards.json b/public/language/th/admin/extend/rewards.json index df89d441a7..2706a25f51 100644 --- a/public/language/th/admin/extend/rewards.json +++ b/public/language/th/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Rewards", + "add-reward": "Add reward", "condition-if-users": "If User's", "condition-is": "Is:", "condition-then": "Then:", "max-claims": "Amount of times reward is claimable", "zero-infinite": "Enter 0 for infinite", + "select-reward": "Select reward", "delete": "Delete", "enable": "Enable", "disable": "Disable", diff --git a/public/language/th/admin/extend/widgets.json b/public/language/th/admin/extend/widgets.json index 9adfb98ab5..ab3a4b11d2 100644 --- a/public/language/th/admin/extend/widgets.json +++ b/public/language/th/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Available Widgets", "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/th/admin/manage/admins-mods.json b/public/language/th/admin/manage/admins-mods.json index f9bbc63632..999ce33aa4 100644 --- a/public/language/th/admin/manage/admins-mods.json +++ b/public/language/th/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Administrators", "global-moderators": "Global Moderators", "moderators": "Moderators", "no-global-moderators": "No Global Moderators", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "No Moderators", "add-administrator": "Add Administrator", "add-global-moderator": "Add Global Moderator", diff --git a/public/language/th/admin/manage/categories.json b/public/language/th/admin/manage/categories.json index ed5462e9be..0cfb251c56 100644 --- a/public/language/th/admin/manage/categories.json +++ b/public/language/th/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Category Settings", + "edit-category": "Edit Category", "privileges": "Privileges", - + "back-to-categories": "Back to categories", "name": "Category Name", "description": "Category Description", "bg-color": "Background Colour", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Upload Image", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Remove", "category-image": "Category Image", + "image-and-icon": "Image & Icon", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Disable", "edit": "Edit", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/th/admin/manage/groups.json b/public/language/th/admin/manage/groups.json index bd8c5bce15..bab95d9c10 100644 --- a/public/language/th/admin/manage/groups.json +++ b/public/language/th/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Group Name", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Edit", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Search", "create": "Create Group", "description-placeholder": "A short description about your group", diff --git a/public/language/th/admin/manage/privileges.json b/public/language/th/admin/manage/privileges.json index 0e8d7a4ff9..9af075bcfa 100644 --- a/public/language/th/admin/manage/privileges.json +++ b/public/language/th/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Global", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/th/admin/manage/tags.json b/public/language/th/admin/manage/tags.json index 01363dfda0..2bb50e7048 100644 --- a/public/language/th/admin/manage/tags.json +++ b/public/language/th/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Your forum does not have any topics with tags yet.", "bg-color": "Background Colour", "text-color": "Text Colour", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Create Tag", + "add-tag": "Add tag", "modify": "Modify Tags", "rename": "Rename Tags", "delete": "Delete Selected Tags", diff --git a/public/language/th/admin/manage/uploads.json b/public/language/th/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/th/admin/manage/uploads.json +++ b/public/language/th/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/th/admin/manage/users.json b/public/language/th/admin/manage/users.json index b479fe8422..eaf40ba943 100644 --- a/public/language/th/admin/manage/users.json +++ b/public/language/th/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "ผู้ใช้", "edit": "Actions", "make-admin": "ทำให้เป็นแอดมิน", @@ -49,6 +50,10 @@ "users.username": "ชื่อผู้ใช้", "users.email": "อีเมล", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "จำนวนกระทู้", "users.reputation": "ชื่อเสียง", diff --git a/public/language/th/admin/menu.json b/public/language/th/admin/menu.json index 379e0b2687..bdc794d943 100644 --- a/public/language/th/admin/menu.json +++ b/public/language/th/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Info", "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Restart Forum", + "restart": "Restart", "logout": "Log out", "view-forum": "View Forum", diff --git a/public/language/th/admin/settings/api.json b/public/language/th/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/th/admin/settings/api.json +++ b/public/language/th/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/th/admin/settings/general.json b/public/language/th/admin/settings/general.json index 29b939861b..2369a49d1c 100644 --- a/public/language/th/admin/settings/general.json +++ b/public/language/th/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Settings", "title": "Site Title", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "The URL of the site title", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Your Community Name", "title.show-in-header": "Show Site Title in Header", "browser-title": "Browser Title", @@ -16,7 +18,7 @@ "description": "Site Description", "keywords": "Site Keywords", "keywords-placeholder": "Keywords describing your community, comma-separated", - "logo": "Site Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Image", "logo.image-placeholder": "Path to a logo to display on forum header", "logo.upload": "Upload", diff --git a/public/language/th/admin/settings/guest.json b/public/language/th/admin/settings/guest.json index 75d44f37e4..44370e3668 100644 --- a/public/language/th/admin/settings/guest.json +++ b/public/language/th/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Allow guest handles", "handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/th/admin/settings/navigation.json b/public/language/th/admin/settings/navigation.json index 32b2722074..931ac5f4ba 100644 --- a/public/language/th/admin/settings/navigation.json +++ b/public/language/th/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Icon:", "change-icon": "change", "route": "Route:", diff --git a/public/language/th/admin/settings/post.json b/public/language/th/admin/settings/post.json index 57cc855319..9dc61afe57 100644 --- a/public/language/th/admin/settings/post.json +++ b/public/language/th/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Post Sorting", "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", @@ -23,10 +24,8 @@ "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.min-title-length": "Minimum Title Length", - "restrictions.max-title-length": "Maximum Title Length", - "restrictions.min-post-length": "Minimum Post Length", - "restrictions.max-post-length": "Maximum Post Length", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Days until topic is considered stale", "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.", "timestamp": "Timestamp", @@ -41,10 +40,9 @@ "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", "teaser.first": "First", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Unread Settings", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Unread cutoff days", "unread.min-track-last": "Minimum posts in topic before tracking last read", - "recent": "Recent Settings", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page", "signature": "Signature Settings", diff --git a/public/language/th/admin/settings/reputation.json b/public/language/th/admin/settings/reputation.json index e790ec094f..293aa5b440 100644 --- a/public/language/th/admin/settings/reputation.json +++ b/public/language/th/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/th/admin/settings/social.json b/public/language/th/admin/settings/social.json index 7d6a9a8c83..09701c7ac2 100644 --- a/public/language/th/admin/settings/social.json +++ b/public/language/th/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "การแชร์กระทู้", - "info-plugins-additional": "ส่วนเสริมสามารถเพิ่มการเชือมต่อโซเชียลมิเดียเพื่อแชร์กระทู้", - "save-success": "การบันทึกการโพสแชร์เนื้อหาเสร็จสมบูรณ์!" + "info-plugins-additional": "ส่วนเสริมสามารถเพิ่มการเชือมต่อโซเชียลมิเดียเพื่อแชร์กระทู้" } \ No newline at end of file diff --git a/public/language/th/admin/settings/tags.json b/public/language/th/admin/settings/tags.json index 080010f6f0..c1cdb2b644 100644 --- a/public/language/th/admin/settings/tags.json +++ b/public/language/th/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Minimum Tags per Topic", "max-per-topic": "Maximum Tags per Topic", "min-length": "Minimum Tag Length", diff --git a/public/language/th/admin/settings/user.json b/public/language/th/admin/settings/user.json index dd21ee6631..ddb30fa097 100644 --- a/public/language/th/admin/settings/user.json +++ b/public/language/th/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maximum About Me Length", "terms-of-use": "Forum Terms of Use (Leave blank to disable)", "user-search": "User Search", - "user-search-results-per-page": "Number of results to display", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Default User Settings", "show-email": "Show email", "show-fullname": "Show fullname", diff --git a/public/language/th/error.json b/public/language/th/error.json index 958bd892d6..99dabfb1c9 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "เราไม่สามารถยืนยันอีเมลของคุณ ณ ขณะนี้ กรุณาลองใหม่อีกครั้งภายหลัง", "confirm-email-already-sent": "อีเมล์ยืนยันตัวตนถูกส่งไปยังคุณเรียบร้อยแล้ว กรุณารอ %1 นาที(s) ก่อนการตัดสินใจส่งอีกครั้ง", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "ไม่พบการประมวลผลสำหรับการส่งอีเมล์ กรุณาตรวจสอบให้แน่ใจว่าได้มีการติดตั้งโปรแกรมการประมวลผลแล้วโดยผู้ใช้ที่กำลังใช้ NodeBB", "digest-not-enabled": "This user does not have digests enabled, or the system default is not configured to send digests", "username-too-short": "ชื่อบัญชีผู้ใช้ สั้นเกินไป", diff --git a/public/language/th/global.json b/public/language/th/global.json index 21d57d443e..d94308ef5d 100644 --- a/public/language/th/global.json +++ b/public/language/th/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "คุณได้เข้าสู่ระบบแล้ว", "save_changes": "บันทึกการเปลี่ยนแปลง", "save": "บันทึก", + "create": "Create", "cancel": "Cancel", "close": "ปิด", "pagination": "การแบ่งหน้า", diff --git a/public/language/th/modules.json b/public/language/th/modules.json index 3709009afa..f4326cac7c 100644 --- a/public/language/th/modules.json +++ b/public/language/th/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "คุยกับ", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/th/pages.json b/public/language/th/pages.json index 74eb775510..4b7d6be47d 100644 --- a/public/language/th/pages.json +++ b/public/language/th/pages.json @@ -14,6 +14,7 @@ "flagged-content": "เนื้อหาที่ถูกปักธง", "ip-blacklist": "ไอดีที่ถูกขึ้นบัญชีดำ", "post-queue": "คิวโพส", + "registration-queue": "Registration Queue", "users/online": "ผู้ใช้ออนไลน์", "users/latest": "ผู้ใช้ล่าสุด", "users/sort-posts": "ผู้ใช้ที่โพสต์เยอะที่สุด", diff --git a/public/language/th/themes/harmony.json b/public/language/th/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/th/themes/harmony.json +++ b/public/language/th/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/th/topic.json b/public/language/th/topic.json index fedce6ade2..8f7dfb09e7 100644 --- a/public/language/th/topic.json +++ b/public/language/th/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "ตอบไปยัง %1", "composer.new_topic": "กระทู้ใหม่", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "กำลังอัพโหลด ...", "composer.thumb_url_label": "วาง URL ของภาพของกระทู้นี้", "composer.thumb_title": "เพิ่มภาพให้กับกระทู้นี้", diff --git a/public/language/th/user.json b/public/language/th/user.json index af864cdd77..d3480c38b0 100644 --- a/public/language/th/user.json +++ b/public/language/th/user.json @@ -141,6 +141,8 @@ "group-order-help": "Select a group and use the arrows to order titles", "no-group-title": "ไม่มีชื่อกลุ่ม", "select-skin": "เลือกสกิน", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "เลือกหน้าแรก", "homepage": "หน้าแรก", "homepage_description": "เลือกหน้าที่จะใช้เป็นหน้าแรกของฟอรั่ม หรือเลือก None เพื่อใช้ค่าเริ่มต้น", diff --git a/public/language/th/users.json b/public/language/th/users.json index 91f7ff4222..8bbd73d103 100644 --- a/public/language/th/users.json +++ b/public/language/th/users.json @@ -6,7 +6,7 @@ "most_flags": "ผู้ที่ถูกรายงานมากที่สุด", "search": "ค้นหา", "enter_username": "กรอกชื่อผู้ใช้เพื่อค้นหา", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "โหลดเพิ่มเติม", "users-found-search-took": "พบ %1 ผู้ใช้(s)! การค้นหาใช้เวลาทั้งหมด %2 วินาที", "filter-by": "การกรอง", diff --git a/public/language/tr/admin/admin.json b/public/language/tr/admin/admin.json index eb6f621fb4..c4718b4700 100644 --- a/public/language/tr/admin/admin.json +++ b/public/language/tr/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB Yönetici Kontrol Paneli", "settings-header-contents": "İçerikler", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Değişiklikler kaydedilmedi", - "changes-not-saved-message": "NodeBB değişiklikleri kaydederken bir hata oluştu (%1)" + "changes-not-saved-message": "NodeBB değişiklikleri kaydederken bir hata oluştu (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/tr/admin/advanced/cache.json b/public/language/tr/admin/advanced/cache.json index a22bd4e060..c9537f7f7d 100644 --- a/public/language/tr/admin/advanced/cache.json +++ b/public/language/tr/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "İleti Önbelleği", "group-cache": "Grup Önbelleği", "local-cache": "Yerel Önbellek", diff --git a/public/language/tr/admin/advanced/database.json b/public/language/tr/admin/advanced/database.json index 8a55ee0978..51527eb08d 100644 --- a/public/language/tr/admin/advanced/database.json +++ b/public/language/tr/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Saniyede Bir Çalışma Zamanı", "uptime-days": "Günde Bir Çalışma Zamanı", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB Sürümü", "mongo.storage-engine": "Depolama Motoru", "mongo.collections": "Koleksiyonlar", diff --git a/public/language/tr/admin/advanced/errors.json b/public/language/tr/admin/advanced/errors.json index 0838d037ba..5fa63c339e 100644 --- a/public/language/tr/admin/advanced/errors.json +++ b/public/language/tr/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Figür %1", "error-events-per-day": "%1 günlük olay", "error.404": "404 Bulunamadı", diff --git a/public/language/tr/admin/appearance/customise.json b/public/language/tr/admin/appearance/customise.json index a167739afb..b759b7b039 100644 --- a/public/language/tr/admin/appearance/customise.json +++ b/public/language/tr/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Özel CSS/LESS", "custom-css.description": "Diğer tüm stillerden sonra uygulanacak kendi CSS/LESS kodlarınızı buraya girin.", "custom-css.enable": "Özelleştirilmiş CSS/LESS Aktifleştir", @@ -12,5 +13,8 @@ "custom-header.enable": "Özel Header'ı Etkinleştir", "custom-css.livereload": "Canlı Yenilemeyi Etkinleştir", - "custom-css.livereload.description": "\"Kayıt Et\"e her bastığınızda size ait tüm cihazlardaki oturumların yenilenmeye zorlanması için bunu etkinleştirin." + "custom-css.livereload.description": "\"Kayıt Et\"e her bastığınızda size ait tüm cihazlardaki oturumların yenilenmeye zorlanması için bunu etkinleştirin.", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/tr/admin/appearance/skins.json b/public/language/tr/admin/appearance/skins.json index 9d9dcecb31..ec988e7bc3 100644 --- a/public/language/tr/admin/appearance/skins.json +++ b/public/language/tr/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Görünümler yükleniyor...", "homepage": "Anasayfa", "select-skin": "Görünüm Seç", + "revert-skin": "Revert Skin", "current-skin": "Mevcut Görünüm", "skin-updated": "Görünüm Güncellendi", "applied-success": "%1 isimli görünüm başarıyla uygulandı", diff --git a/public/language/tr/admin/appearance/themes.json b/public/language/tr/admin/appearance/themes.json index fe734609d4..3d4c7410a9 100644 --- a/public/language/tr/admin/appearance/themes.json +++ b/public/language/tr/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Yüklü temalar kontrol ediliyor...", "homepage": "Anasayfa", "select-theme": "Tema Seç", + "revert-theme": "Revert Theme", "current-theme": "Mevcut Tema", "no-themes": "Yüklü tema bulunamadı", "revert-confirm": "Varsayılan NodeBB temasını geri yüklemek istediğinizden emin misiniz?", diff --git a/public/language/tr/admin/dashboard.json b/public/language/tr/admin/dashboard.json index 1db2420623..8762e41cac 100644 --- a/public/language/tr/admin/dashboard.json +++ b/public/language/tr/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Güncellemeler", "running-version": "NodeBB v%1 çalışıyor.", "keep-updated": "En son güvenlik değişiklikleri ve hata düzeltmeleri için NodeBB'nin güncel olduğundan emin olun.", - "up-to-date": "

Sürümünüzgüncel

", - "upgrade-available": "

Yeni bir sürüm (v% 1) yayımlandı. NodeBB yükseltmeyi göz önünde bulundurun

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

Bu, NodeBB'nin eski bir sürümü. Yeni bir sürüm (v% 1) yayımlandı. NodeBB’nizi yükseltmeyi düşünün.

", - "prerelease-warning": "

Bu, NodeBB'nin bir önsürüm versiyonudur. İstenmeyen hatalar oluşabilir.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "\"Fallback emailer\" bulunamadı!", - "running-in-development": "Forum, geliştirici modunda çalışıyor. Forum, potansiyel güvenlik açıklarına açık olabilir; lütfen sistem yöneticinize başvurun.", - "latest-lookup-failed": "

En güncel kullanılabilecek NodeBB sürümü görüntülenemedi

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Bildirimler", "restart-not-required": "Yeniden başlatma gerekmiyor", diff --git a/public/language/tr/admin/development/logger.json b/public/language/tr/admin/development/logger.json index 5a49b5be7c..be1656b3d6 100644 --- a/public/language/tr/admin/development/logger.json +++ b/public/language/tr/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Günlükçü Ayarları", "description": "Onay kutularını etkinleştirdiğinizde, günlükler terminalinize gönderilir. Bir dizin belirtirseniz, günlükler bunun yerine bir dosyaya kaydedilir. HTTP günlüğü, forumunuza kimler, ne zaman erişiyor gibi istatistikleri toplamak için kullanışlıdır. HTTP isteklerinin günlüğüne eklenmesine ek olarak, socket.io olaylarını da günlüğe kaydedebilirsiniz. Redis-cli monitörü ile birlikte Socket.io günlüğü, NodeBB'nin iç kısımlarını öğrenmek için çok yardımcı olabilir.", "explanation": "Basitçe günlüğe kaydetmeyi etkinleştirmek veya devre dışı bırakmak için günlüğe kaydetme ayarlarını kontrol edin. Yeniden başlatmaya gerek yoktur.", diff --git a/public/language/tr/admin/extend/plugins.json b/public/language/tr/admin/extend/plugins.json index 07446de21d..b064fc7bb1 100644 --- a/public/language/tr/admin/extend/plugins.json +++ b/public/language/tr/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Popüler", "installed": "Yüklenmiş", "active": "Etkin", diff --git a/public/language/tr/admin/extend/rewards.json b/public/language/tr/admin/extend/rewards.json index 282c929757..a95f454997 100644 --- a/public/language/tr/admin/extend/rewards.json +++ b/public/language/tr/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Ödüller", + "add-reward": "Add reward", "condition-if-users": "Eğer bir kullanıcının", "condition-is": "şu ise:", "condition-then": "O halde:", "max-claims": "Ödül kaç kez alınabilir", "zero-infinite": "Sınırsız için 0 girin", + "select-reward": "Select reward", "delete": "Sil", "enable": "Etkinleştir", "disable": "Etkinsizleştir", diff --git a/public/language/tr/admin/extend/widgets.json b/public/language/tr/admin/extend/widgets.json index 6f25e5d74e..e6463f505e 100644 --- a/public/language/tr/admin/extend/widgets.json +++ b/public/language/tr/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Kullanılabilir Bileşenler", "explanation": "Açılır menüden bir bileşen seçin ve sol taraftaki bir şablonun bileşen alanına sürükleyip bırakın.", "none-installed": "Bileşen bulunamadı! Eklentiler kontrol panelinden bileşen eklentisini aktifleştirmelisiniz!", diff --git a/public/language/tr/admin/manage/admins-mods.json b/public/language/tr/admin/manage/admins-mods.json index 9014cdcea7..b415fabcca 100644 --- a/public/language/tr/admin/manage/admins-mods.json +++ b/public/language/tr/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Yöneticiler", "global-moderators": "Genel Moderatörler", "moderators": "Moderatörler", "no-global-moderators": "Genel Moderatör Yok", "no-sub-categories": "Alt Kategori Yok", - "subcategories": "%1 Alt Kategori", + "view-children": "View children (%1)", "no-moderators": "Moderatör Yok", "add-administrator": "Yönetici Ekle", "add-global-moderator": "Genel Moderatör Ekle", diff --git a/public/language/tr/admin/manage/categories.json b/public/language/tr/admin/manage/categories.json index c15eb8d545..82137392ff 100644 --- a/public/language/tr/admin/manage/categories.json +++ b/public/language/tr/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Kategori Ayarları", + "edit-category": "Edit Category", "privileges": "İzinler", - + "back-to-categories": "Back to categories", "name": "Kategori Adı", "description": "Kategori Açıklaması", "bg-color": "Arkaplan Rengi", @@ -15,8 +19,11 @@ "post-queue": "İleti Kuyruğu", "tag-whitelist": "İzin Verilen Etiketler", "upload-image": "Görsel Yükle", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Sil", "category-image": "Kategori Görseli", + "image-and-icon": "Image & Icon", "parent-category": "Üst Kategori", "optional-parent-category": "(Opsiyonel) Üst Kategori", "top-level": "En üst seviye", @@ -31,6 +38,7 @@ "disable": "Devre dışı", "edit": "Düzenle", "analytics": "Analiz", + "view-category": "Kategori Görüntüle", "set-order": "Bir sıra ayarla", "set-order-help": "Kategorinin sırasını ayarlamak, bu kategoriyi o sıraya taşıyacak ve diğer kategorilerin sırasını güncelleyecektir. Kategoriyi en üste taşımak için 1 girin.", diff --git a/public/language/tr/admin/manage/groups.json b/public/language/tr/admin/manage/groups.json index 7b97709e2f..e7d0e060b1 100644 --- a/public/language/tr/admin/manage/groups.json +++ b/public/language/tr/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Grup Adı", "badge": "Rozet", "properties": "Özellikler", @@ -10,7 +16,7 @@ "edit": "Düzenle", "delete": "Sil", "privileges": "Ayrıcalıklar", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Ara", "create": "Grup Oluştur", "description-placeholder": "Grup hakkında kısa bir açıklama yazın", diff --git a/public/language/tr/admin/manage/privileges.json b/public/language/tr/admin/manage/privileges.json index 87b670b06b..7372fde2e6 100644 --- a/public/language/tr/admin/manage/privileges.json +++ b/public/language/tr/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Genel", "admin": "Admin", "group-privileges": "Grup Ayrıcalıkları", diff --git a/public/language/tr/admin/manage/tags.json b/public/language/tr/admin/manage/tags.json index 6417b50d7a..cf35960cd6 100644 --- a/public/language/tr/admin/manage/tags.json +++ b/public/language/tr/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Forumda henüz etiketli herhangi bir başlık yok.", "bg-color": "Arkaplan Rengi", "text-color": "Yazı Rengi", "description": "Etiketleri tıklayarak veya sürükleyerek seçin, birden fazla etiket seçmek için CTRL tuşunu kullanabilirsiniz. ", "create": "Etiket Oluştur", + "add-tag": "Add tag", "modify": "Etiketleri Düzenle", "rename": "Etiketleri Yeniden Adlandır", "delete": "Seçili Etiketleri Sil", diff --git a/public/language/tr/admin/manage/uploads.json b/public/language/tr/admin/manage/uploads.json index c3cd6a4574..c42e9466c2 100644 --- a/public/language/tr/admin/manage/uploads.json +++ b/public/language/tr/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Dosya yükle", "filename": "Dosya adı", "usage": "İleti Kullanımı", diff --git a/public/language/tr/admin/manage/users.json b/public/language/tr/admin/manage/users.json index c787e333f3..150cdeb098 100644 --- a/public/language/tr/admin/manage/users.json +++ b/public/language/tr/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Kullanıcılar", "edit": "Hareketler", "make-admin": "Yönetici Yap", @@ -49,6 +50,10 @@ "users.username": "kullanıcı adı", "users.email": "e-posta", "users.no-email": "(e-mail yok)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "ileti sayısı", "users.reputation": "itibar", diff --git a/public/language/tr/admin/menu.json b/public/language/tr/admin/menu.json index ffac5f26de..953527aace 100644 --- a/public/language/tr/admin/menu.json +++ b/public/language/tr/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "bilgi", "rebuild-and-restart-forum": "Forumu Yeniden oluştur & Yeniden Başlat", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Forumu Yeniden Başlat", + "restart": "Restart", "logout": "Çıkış", "view-forum": "Forumu Görüntüle", diff --git a/public/language/tr/admin/settings/api.json b/public/language/tr/admin/settings/api.json index b40ffefcb0..67f0d44b52 100644 --- a/public/language/tr/admin/settings/api.json +++ b/public/language/tr/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Ayarlar", "lead-text": "Bu sayfadan NodeBB'deki \"Write API\"e erişimi yapılandırabilirsiniz.", "intro": "Varsayılan olarak, Yazma API'si kullanıcıların kimliklerini oturum tanımlama bilgileri temelinde doğrular, ancak NodeBB ayrıca bu sayfa aracılığıyla oluşturulan belirteçler aracılığıyla Taşıyıcı kimlik doğrulamasını da destekler.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Tüm API özeliklerine erişmek için buraya tıklayın. ", "require-https": "API kullanımı için HTTPS kısıtlaması gerektir", "require-https-caveat": "Not: Yük dengeleyicilerini içeren bazı kurulumlar, isteklerini HTTP kullanarak NodeBB'ye proxy uygulayabilir, bu durumda bu seçenek devre dışı kalmalıdır.", "uid": "Kullanıcı ID", + "token": "Token", "uid-help-text": "Bu jetonla ilişkilendirilecek bir Kullanıcı Kimliği belirtin. Kullanıcı kimliği 0 ise, diğer kullanıcıların kimliğini _uid parametresine göre üstlenebilen bir ana simge olarak kabul edilir.", "description": "Açıklama", - "last-seen-ago": "En son kullanıldı.", - "last-seen-on": "En son tarihinde kullanıldı.", + "last-seen": "Last seen", + "created": "Oluşturuldu", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "Bu anahtar daha önce hiç kullanılmadı.", "no-description": "Hiçbir açıklama belirtilmemiş.", - "token-on-save": "Form kaydedildikten sonra bir jeton oluşturulacak" + "actions": "Eylemler", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/tr/admin/settings/general.json b/public/language/tr/admin/settings/general.json index 6bf2e17cdf..c77194875a 100644 --- a/public/language/tr/admin/settings/general.json +++ b/public/language/tr/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Site Ayarları", "title": "Site Başlığı", "title.short": "Başlık Kısaltması", "title.short-placeholder": "Eğer başlık kısaltması girilmediyse \"Site Başlığı\" kullanılacak", "title.url": "Başlık Bağlantı URL'si", "title.url-placeholder": "Site başlığının URL adresi", - "title.url-help": "Başlık tıklandığında kullanıcıları bu adrese gönderin. Boş bırakılırsa, kullanıcı forum dizinine gönderilecektir. Not: Bu, e-postalarda vb. kullanılan harici URL değildir. Bu, config.json'daki url özelliği tarafından belirlenir.", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Topluluk İsmi", "title.show-in-header": "Site Konusunu Başlık'ta Göster", "browser-title": "Tarayıcı Başlığı", @@ -16,7 +18,7 @@ "description": "Site Açıklaması", "keywords": "Site Anahtar Kelimeler", "keywords-placeholder": "Topluluğunuzu tanımlayan anahtar kelimeler, virgülle-ayrılmış", - "logo": "Site Logosu", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Görsel", "logo.image-placeholder": "Forum başlığında görüntülenecek bir logo yolu", "logo.upload": "Yükle", diff --git a/public/language/tr/admin/settings/guest.json b/public/language/tr/admin/settings/guest.json index 1362b3affb..9757591fbd 100644 --- a/public/language/tr/admin/settings/guest.json +++ b/public/language/tr/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Ayarlar", + "guest-settings": "Guest settings", "handles.enabled": "Misafir üyelere izin ver", "handles.enabled-help": "Bu seçenek, misafirlerin yaptıkları her gönderiyle ilişkilendirebilecekleri bir isim alanı sunar. Devre dışı bırakılırsa, gönderenin ismi basitçe \"Misafir\" olarak adlandırılacaktır.", "topic-views.enabled": "Ziyaretçilerin konu bakış sayısını arttırmasına izin ver", diff --git a/public/language/tr/admin/settings/navigation.json b/public/language/tr/admin/settings/navigation.json index 2808ce3949..11cbd021b9 100644 --- a/public/language/tr/admin/settings/navigation.json +++ b/public/language/tr/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "İkon:", "change-icon": "değiştir", "route": "Yol:", diff --git a/public/language/tr/admin/settings/post.json b/public/language/tr/admin/settings/post.json index 8034b6f1d6..4975faa299 100644 --- a/public/language/tr/admin/settings/post.json +++ b/public/language/tr/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "İleti Sıralaması", "sorting.post-default": "Varsayılan İleti Sıralaması", "sorting.oldest-to-newest": "En Eskiden En Yeniye", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Bir ileti kaç saniye boyunca değiştirilebilir (Etkinsizleştirmek için 0 yazınız)", "restrictions.seconds-delete-after": "Bir ileti kaç saniye boyunca silinebilir (Etkinsizleştirmek için 0 yazınız)", "restrictions.replies-no-delete": "Bir başlığa kaç ileti yazıldıktan sonra o başlık silinemez (Etkinsizleştirmek için 0 yazınız)", - "restrictions.min-title-length": "Minimum Başlık Uzunluğu", - "restrictions.max-title-length": "Maksimum Başlık Uzunluğu", - "restrictions.min-post-length": "Minimum İleti Uzunluğu", - "restrictions.max-post-length": "Maksimum İleti Uzunluğu", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Konu eskimiş sayılana kadar geçen gün sayısı", "restrictions.stale-help": "Bir konu \"eskimiş\" olarak kabul edilirse, o konuya cevap vermeye çalışan kullanıcılara bir uyarı gösterilecektir.", "timestamp": "Zaman Damgası", @@ -41,10 +40,9 @@ "teaser.last-reply": "Son – cevap yoksa en son yanıtı veya \"Yanıt yok\" yertutucusunu gösterir.", "teaser.first": "İlk", "showPostPreviewsOnHover": "İmleç ileti üstüne geldiğinde önizleme göster", - "unread": "Okunmamış Ayarları", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Okunmamış gün sınırı", "unread.min-track-last": "Son okumayı takip etmeden önce konuya yapılan asgari gönderim", - "recent": "Güncel Ayarlar", "recent.max-topics": "Güncel Bölümde Gösterilecek Maksimum Konu Sayısı", "recent.categoryFilter.disable": "Son sayfada önemsenmeyen kategorilerde konu filtrelemeyi devre dışı bırak", "signature": "İmza Ayarları", diff --git a/public/language/tr/admin/settings/reputation.json b/public/language/tr/admin/settings/reputation.json index 57d50011b6..a3025c42b7 100644 --- a/public/language/tr/admin/settings/reputation.json +++ b/public/language/tr/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Bir şikayet çözümlendiğinde şunu yap", "flags.action-on-reject": "Bir şikayet reddedildiğinde şunu yap", "flags.action.nothing": "Hiçbir şey yapma", - "flags.action.rescind": "Moderatör ve Adminlere gönderilen bildirimleri iptal et" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/tr/admin/settings/social.json b/public/language/tr/admin/settings/social.json index 5b186a82c4..88c8ac3597 100644 --- a/public/language/tr/admin/settings/social.json +++ b/public/language/tr/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "İleti Paylaşımı", - "info-plugins-additional": "Eklentiler, paylaşımda bulunmak için ek sosyal ağlar ekleyebilir.", - "save-success": "İleti Paylaşım Ağları başarıyla kaydedildi!" + "info-plugins-additional": "Eklentiler, paylaşımda bulunmak için ek sosyal ağlar ekleyebilir." } \ No newline at end of file diff --git a/public/language/tr/admin/settings/tags.json b/public/language/tr/admin/settings/tags.json index 256c56e1ee..1df0c21665 100644 --- a/public/language/tr/admin/settings/tags.json +++ b/public/language/tr/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Etiketleri Düzenle", "system-tags": "Sistem etiketleri", "system-tags-help": "Sadece ayrıcalıklı üyeler bu etiketleri görebilir.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Konu Başına Minimum Etiket Sayısı", "max-per-topic": "Konu Başına Maksimum Etiket Sayısı", "min-length": "Minimum Etiket Uzunluğu", diff --git a/public/language/tr/admin/settings/user.json b/public/language/tr/admin/settings/user.json index 2ed3e783dc..5fb3979d99 100644 --- a/public/language/tr/admin/settings/user.json +++ b/public/language/tr/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Maksimum Hakkımda Uzunluğu", "terms-of-use": "Forum Kullanım Şartları (Devre dışı bırakmak için boş bırakın) ", "user-search": "Kullanıcı Ara", - "user-search-results-per-page": "Görüntülenecek sonuç sayısı", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Varsayılan Kullanıcı Ayarları", "show-email": "E-posta Göster", "show-fullname": "Tam adı göster", diff --git a/public/language/tr/error.json b/public/language/tr/error.json index 06e90ddb2c..9d5360fc09 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "\"%1\" kullanıcısı bir e-posta belirlememiş.", "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.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Sendmail yürütülemedi, lüften indirildiğinden ve NodeBB kullanıcısı tarafından uygulanabilir olduğundan emin olun.", "digest-not-enabled": "Bu kullanıcı özet e-postalarını etkinleştirmemiş veya sistem varsayılanı özet e-postası göndermek için ayarlanmamış", "username-too-short": "Kullanıcı ismi çok kısa", @@ -102,7 +103,7 @@ "guest-upload-disabled": "Ziyaretçilerin yükleme yapması devre dışı bırakıldı", "cors-error": "Yanlış yapılandırılmış CORS nedeniyle resim yüklenemiyor", "upload-ratelimit-reached": "Tek seferde çok sayıda dosya yüklediniz. Lütfen daha sonra tekrar deneyin.", - "upload-error-fallback": "Unable to upload image — %1", + "upload-error-fallback": "Resim yüklenemiyor — %1", "scheduling-to-past": "Lütfen gelecekte bir tarih seçiniz.", "invalid-schedule-date": "Lütfen geçerli bir tarih ve saat seçiniz.", "cant-pin-scheduled": "Zamanlanmış konular sabitlenemez veya sabitliği kaldırılamaz. ", @@ -136,8 +137,8 @@ "group-already-requested": "Üyelik isteğiniz zaten gönderildi", "group-join-disabled": "Gruba şu anda katılamazsınız!", "group-leave-disabled": "Grubu şu anda terk edemezsiniz! ", - "group-user-not-pending": "User does not have a pending request to join this group.", - "gorup-user-not-invited": "User has not been invited to join this group.", + "group-user-not-pending": "Kullanıcının bu gruba katılmak için bekleyen bir isteği yok.", + "gorup-user-not-invited": "Kullanıcı bu gruba katılmaya davet edilmedi.", "post-already-deleted": "İleti zaten silinmiş", "post-already-restored": "İleti zaten geri getirilmiş", "topic-already-deleted": "Başlık zaten silinmiş", diff --git a/public/language/tr/global.json b/public/language/tr/global.json index 4866b70cd1..3b98b62bed 100644 --- a/public/language/tr/global.json +++ b/public/language/tr/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Başarıyla giriş yaptınız!", "save_changes": "Değişiklikleri Kaydet", "save": "Kaydet", + "create": "Create", "cancel": "İptal et", "close": "Kapat", "pagination": "Sayfalara numara koyma", diff --git a/public/language/tr/modules.json b/public/language/tr/modules.json index 5dd8656624..72e0181ebe 100644 --- a/public/language/tr/modules.json +++ b/public/language/tr/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Sohbet", "chat.placeholder": "Mesajı yazın veya resim sürükleyip bırakın", "chat.placeholder.mobile": "Sohbet içeriğini buraya giriniz", - "chat.scroll-up-alert": "Eski mesajlara bakıyorsunuz, en yeni mesajları görmek için buraya tıklayınız.", + "chat.scroll-up-alert": "En son yazılan mesaja geri dönün", "chat.usernames-and-x-others": "%1 & %2 başka kişi", "chat.chat-with-usernames": "%1 ile sohbet edin", "chat.chat-with-usernames-and-x-others": "%1 & %2 diğer kişi ile sohbet edin", diff --git a/public/language/tr/pages.json b/public/language/tr/pages.json index 2a16f45eec..e5666af929 100644 --- a/public/language/tr/pages.json +++ b/public/language/tr/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Şikayet Edilen İçerik", "ip-blacklist": "IP Kara Listesi", "post-queue": "İleti Kuyruğu", + "registration-queue": "Registration Queue", "users/online": "Çevrimiçi Kullanıcılar", "users/latest": "En yeni kullanıcılar", "users/sort-posts": "En çok ileti gönderen kullanıcılar", diff --git a/public/language/tr/themes/harmony.json b/public/language/tr/themes/harmony.json index 705b8e4ab5..8d0bb3c10e 100644 --- a/public/language/tr/themes/harmony.json +++ b/public/language/tr/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Deriler", "collapse": "Daralt", "expand": "Genişlet", @@ -8,7 +9,8 @@ "settings.centerHeaderElements": "Tepedeki Merkezi Öğeler", "settings.mobileTopicTeasers": "Başlık Önizlemelerini mobilde göster", "settings.stickyToolbar": "Yapışkan Araç Çubuğu", - "settings.stickyToolbar.help": "kategori ve konu sayfalarındaki araç çubuğu sayfanın üstünde sabitlenmiş şekilde kalacak", + "settings.stickyToolbar.help": "Kategori ve konu sayfalarındaki araç çubuğu sayfanın üstünde sabitlenmiş şekilde kalacak", "settings.autohideBottombar": "Alttaki şeridi otomatik olarak gizle", - "settings.autohideBottombar.help": "Sayfanın altındaki şerit sayfayı aşağıya doğru kaydırırken mobilde gizlenecek" + "settings.autohideBottombar.help": "Sayfanın altındaki şerit sayfayı aşağıya doğru kaydırırken mobilde gizlenecek", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/tr/topic.json b/public/language/tr/topic.json index 9189180754..ee9ccf74cc 100644 --- a/public/language/tr/topic.json +++ b/public/language/tr/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Konu Zamanla", "composer.replying_to": "Yanıtlanan Başlık: %1", "composer.new_topic": "Yeni Başlık", - "composer.editing": "Düzenleme", + "composer.editing-in": "Editing post in %1", "composer.uploading": "yükleniyor...", "composer.thumb_url_label": "Başlık fotosu URL adresini yapıştır", "composer.thumb_title": "Bu başlığa bir fotoğraf ekle", diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 04d00c69e6..5a91331b87 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -141,6 +141,8 @@ "group-order-help": "Bir grup seçin ve unvanları sıralamak için yön tuşlarını kullanın", "no-group-title": "Grup unvanı yok", "select-skin": "Bir tema seçin", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Bir \"Anasayfa\" seçin", "homepage": "Anasayfa", "homepage_description": "Anasayfa olarak kullanacağınız sayfayı seçin veya \"Hiçbiri\" diyerek varsayılan sayfayı kullanın.", diff --git a/public/language/uk/admin/admin.json b/public/language/uk/admin/admin.json index 49683ade92..e5050a475f 100644 --- a/public/language/uk/admin/admin.json +++ b/public/language/uk/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Адмінська Панель Керування NodeBB", "settings-header-contents": "Зміст", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/uk/admin/advanced/cache.json b/public/language/uk/admin/advanced/cache.json index db008a7eab..7ad4a264d7 100644 --- a/public/language/uk/admin/advanced/cache.json +++ b/public/language/uk/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Кеш постів", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/uk/admin/advanced/database.json b/public/language/uk/admin/advanced/database.json index a904c115a4..6e2cfcee2a 100644 --- a/public/language/uk/admin/advanced/database.json +++ b/public/language/uk/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Uptime в секундах", "uptime-days": "Uptime в днях", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Версія MongoDB", "mongo.storage-engine": "Двигун сховища", "mongo.collections": "Колекцій", diff --git a/public/language/uk/admin/advanced/errors.json b/public/language/uk/admin/advanced/errors.json index 6d8a56ca30..3715fca5a6 100644 --- a/public/language/uk/admin/advanced/errors.json +++ b/public/language/uk/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Рисунок %1", "error-events-per-day": "%1 подій в день", "error.404": "404 Not Found", diff --git a/public/language/uk/admin/appearance/customise.json b/public/language/uk/admin/appearance/customise.json index 5ed56f3a90..a1e13ecd52 100644 --- a/public/language/uk/admin/appearance/customise.json +++ b/public/language/uk/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "Увімкнути користувацький заголовок", "custom-css.livereload": "Увімкнути Автоматичне Оновлення", - "custom-css.livereload.description": "Увімкніть цю опцію, щоб примусово оновлювати всі сесії вашого акаунту, коли ви натискаєте Зберегти" + "custom-css.livereload.description": "Увімкніть цю опцію, щоб примусово оновлювати всі сесії вашого акаунту, коли ви натискаєте Зберегти", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/uk/admin/appearance/skins.json b/public/language/uk/admin/appearance/skins.json index cc37055d8d..d151e5d0e4 100644 --- a/public/language/uk/admin/appearance/skins.json +++ b/public/language/uk/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Завантаження стилів...", "homepage": "Головна", "select-skin": "Обрати стиль", + "revert-skin": "Revert Skin", "current-skin": "Поточний стиль", "skin-updated": "Стиль оновлено", "applied-success": "Стиль %1 було успішно примінено", diff --git a/public/language/uk/admin/appearance/themes.json b/public/language/uk/admin/appearance/themes.json index effaee2031..9e3d950bf2 100644 --- a/public/language/uk/admin/appearance/themes.json +++ b/public/language/uk/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Перевірка встановлених тем...", "homepage": "Головна", "select-theme": "Обрати тему", + "revert-theme": "Revert Theme", "current-theme": "Поточна тема", "no-themes": "Не знайдено вставлених тем", "revert-confirm": "Ви впевнені, що бажаєте відновити тему NodeBB по замовчуванню?", diff --git a/public/language/uk/admin/dashboard.json b/public/language/uk/admin/dashboard.json index 86c84bf851..e1982c1711 100644 --- a/public/language/uk/admin/dashboard.json +++ b/public/language/uk/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Оновлень", "running-version": "У вас працює NodeBB v%1.", "keep-updated": "Регулярно перевіряйте, що ваш NodeBB знаходиться в актуальному стані, щоб мати останні патчі та виправлення.", - "up-to-date": "

Ваша версія актуальна

", - "upgrade-available": "

Було випущено нову версію (v%1). Подумайте про оновлення вашого NodeBB.

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

Це застаріла до-релізна версія NodeBB. Було випущено нову версію (v%1). Подумайте про оновлення вашого NodeBB.

", - "prerelease-warning": "

Це пре-релізна версія NodeBB. Можуть виникати неочікувані помилки.

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Форум працює в режимі розробки. Форум потенційно може бути незахищеним, будь-ласка повідомте вашого системного адміністратора.", - "latest-lookup-failed": "

Помилка при спробі перевірки останньої версії NodeBB

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "Сповіщення", "restart-not-required": "Перезавантаження не потрібне", diff --git a/public/language/uk/admin/development/logger.json b/public/language/uk/admin/development/logger.json index b4887c2022..d4e29d6dc6 100644 --- a/public/language/uk/admin/development/logger.json +++ b/public/language/uk/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Налаштування логування", "description": "Увімкнувши ці налаштування, ви будете отримувати логи в ваш термінал. Якщо ви вкажете шлях, логи натомість буде збережено в файл. HTTP логування корисно для сбору статистики про те хто, коли і до якого вмісту отримують доступ люди на вашому форумі. Додатково до логування HTTP запитів ми також можемо логувати події socket.io. Логування socket.io, в комбінації з redis-cli моніторингом може бути дуже зручним для вивчення внутрішньої роботи NodeBB.", "explanation": "Просто поставте/зніміть прапорець, щоб вімкнути/вимкнути логування на льоту. Перезавантаження не потрібне. ", diff --git a/public/language/uk/admin/extend/plugins.json b/public/language/uk/admin/extend/plugins.json index 2dada6ef4f..8a96a91f98 100644 --- a/public/language/uk/admin/extend/plugins.json +++ b/public/language/uk/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "Встановлені", "active": "Активні", diff --git a/public/language/uk/admin/extend/rewards.json b/public/language/uk/admin/extend/rewards.json index 47a0dd459d..69e47c486f 100644 --- a/public/language/uk/admin/extend/rewards.json +++ b/public/language/uk/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Нагороди", + "add-reward": "Add reward", "condition-if-users": "Якщо у користувача", "condition-is": "Є:", "condition-then": "Тоді:", "max-claims": "Скільки разів можна отримати цю нагороду", "zero-infinite": "Уведіть 0 для нескінченності", + "select-reward": "Select reward", "delete": "Видалити", "enable": "Увімкнути", "disable": "Вимкнути", diff --git a/public/language/uk/admin/extend/widgets.json b/public/language/uk/admin/extend/widgets.json index ab6e3f2128..1121b42a25 100644 --- a/public/language/uk/admin/extend/widgets.json +++ b/public/language/uk/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Доступні віджети", "explanation": "Оберіть віджет із випадаючого меню і перетягніть його в область зліва.", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/uk/admin/manage/admins-mods.json b/public/language/uk/admin/manage/admins-mods.json index 04984ca7bd..e6ea255d03 100644 --- a/public/language/uk/admin/manage/admins-mods.json +++ b/public/language/uk/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Адміністратори", "global-moderators": "Глобальні Модератори", "moderators": "Moderators", "no-global-moderators": "Відсутні Глобальні Модератори", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "Відсутні Модератори", "add-administrator": "Додати Адміністратора", "add-global-moderator": "Додати Глобального Модератора", diff --git a/public/language/uk/admin/manage/categories.json b/public/language/uk/admin/manage/categories.json index 6198af0464..ccff2556f3 100644 --- a/public/language/uk/admin/manage/categories.json +++ b/public/language/uk/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Налаштування категорій", + "edit-category": "Edit Category", "privileges": "Права", - + "back-to-categories": "Back to categories", "name": "Назва категорії", "description": "Опис категорії", "bg-color": "Колір фону", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "Завантажити зображення", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Видалити", "category-image": "Зображення категорії", + "image-and-icon": "Image & Icon", "parent-category": "Батьківська категорія", "optional-parent-category": "(Необов'язково) Батьківська категорія", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "Вимкнути", "edit": "Редагувати", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/uk/admin/manage/groups.json b/public/language/uk/admin/manage/groups.json index c826fb202c..219c9a800d 100644 --- a/public/language/uk/admin/manage/groups.json +++ b/public/language/uk/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Назва групи", "badge": "Badge", "properties": "Properties", @@ -10,7 +16,7 @@ "edit": "Редагувати", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Пошук", "create": "Створити групу", "description-placeholder": "Короткий опис вашої групи", diff --git a/public/language/uk/admin/manage/privileges.json b/public/language/uk/admin/manage/privileges.json index ccad5c3173..3a0372dafe 100644 --- a/public/language/uk/admin/manage/privileges.json +++ b/public/language/uk/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Глобальні", "admin": "Admin", "group-privileges": "Group Privileges", diff --git a/public/language/uk/admin/manage/tags.json b/public/language/uk/admin/manage/tags.json index a596fda200..96c7eb949a 100644 --- a/public/language/uk/admin/manage/tags.json +++ b/public/language/uk/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Жодна тема на вашому форумі ще не має тегів.", "bg-color": "Колір фону", "text-color": "Колір тексту", "description": "Select tags by clicking or dragging, use CTRL to select multiple tags.", "create": "Створити тег", + "add-tag": "Add tag", "modify": "Змінити тег", "rename": "Перейменувати теги", "delete": "Видалити вибрані теги", diff --git a/public/language/uk/admin/manage/uploads.json b/public/language/uk/admin/manage/uploads.json index 72a695ccdc..e5f3a2a940 100644 --- a/public/language/uk/admin/manage/uploads.json +++ b/public/language/uk/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Upload File", "filename": "Filename", "usage": "Post Usage", diff --git a/public/language/uk/admin/manage/users.json b/public/language/uk/admin/manage/users.json index 79bf9905e8..010a781379 100644 --- a/public/language/uk/admin/manage/users.json +++ b/public/language/uk/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Користувачі", "edit": "Actions", "make-admin": "Створити адміна", @@ -49,6 +50,10 @@ "users.username": "ім'я", "users.email": "email", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "постів", "users.reputation": "репутація", diff --git a/public/language/uk/admin/menu.json b/public/language/uk/admin/menu.json index 8a44556a55..ea4e7e89e6 100644 --- a/public/language/uk/admin/menu.json +++ b/public/language/uk/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Інформація", "rebuild-and-restart-forum": "Перебудувати & Перезавантажити Форум", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Перезавантажити форум", + "restart": "Restart", "logout": "Вийти", "view-forum": "Переглянути форум", diff --git a/public/language/uk/admin/settings/api.json b/public/language/uk/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/uk/admin/settings/api.json +++ b/public/language/uk/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/uk/admin/settings/general.json b/public/language/uk/admin/settings/general.json index 964027ac2b..97ce6cff18 100644 --- a/public/language/uk/admin/settings/general.json +++ b/public/language/uk/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Налаштування сайту", "title": "Назва сайту", "title.short": "Short Title", "title.short-placeholder": "If no short title is specified, the site title will be used", "title.url": "Title Link URL", "title.url-placeholder": "URL заголовку сайту", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Назва вашої спільноти", "title.show-in-header": "Показувати заголовок сайту в шапці", "browser-title": "Заголовок браузера", @@ -16,7 +18,7 @@ "description": "Опис сайту", "keywords": "Ключові слова сайту", "keywords-placeholder": "Ключові слова, що описують вашу спільноту, розділені комами", - "logo": "Логотип сайту", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Зображення", "logo.image-placeholder": "Шлях до логотипу для відображення в шапці форуму", "logo.upload": "Завантажити", diff --git a/public/language/uk/admin/settings/guest.json b/public/language/uk/admin/settings/guest.json index 1e439e53a6..4ce2a3a6aa 100644 --- a/public/language/uk/admin/settings/guest.json +++ b/public/language/uk/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "Дозволити гостьові імена", "handles.enabled-help": "Ця опція надає додаткове поле, що дозволяє гостям обрати собі ім'я для кожного посту. Якщо вимкнено, вони будуть просто зватися \"Гість\"", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/uk/admin/settings/navigation.json b/public/language/uk/admin/settings/navigation.json index a835bf0d2e..821b46fe18 100644 --- a/public/language/uk/admin/settings/navigation.json +++ b/public/language/uk/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Іконка:", "change-icon": "змінити", "route": "Шлях:", diff --git a/public/language/uk/admin/settings/post.json b/public/language/uk/admin/settings/post.json index 1a881baf3a..bfb6ebd5d6 100644 --- a/public/language/uk/admin/settings/post.json +++ b/public/language/uk/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Сортування постів", "sorting.post-default": "Типове сортування постів", "sorting.oldest-to-newest": "Старі > Нові", @@ -23,10 +24,8 @@ "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.min-title-length": "Мінімальна довжина заголовку", - "restrictions.max-title-length": "Максимальна довжина заголовку", - "restrictions.min-post-length": "Мінімальна довжина посту", - "restrictions.max-post-length": "Максимальна довжина посту", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Днів, доки тема не вважатиметься застарілою", "restrictions.stale-help": "Якщо тема є \"застарілою\", то для користувачів, що бажають відповісти на неї буде показано попередження.", "timestamp": "Часова мітка", @@ -41,10 +40,9 @@ "teaser.last-reply": "Останній — показувати останній пост або \"Немає відповідей\", якщо немає відповідей", "teaser.first": "Перший", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "Налаштування непрочитаних", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "За скільки днів показувати непрочитані", "unread.min-track-last": "Мінімальна кількість постів у темі перш ніж відслідковувати останні прочитані", - "recent": "Останні Налаштування", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "Відключити фільтрування тем в ігнорованих категоріях на сторінці /recent", "signature": "Налаштування підписів", diff --git a/public/language/uk/admin/settings/reputation.json b/public/language/uk/admin/settings/reputation.json index 67de89ab77..c399b0c4d8 100644 --- a/public/language/uk/admin/settings/reputation.json +++ b/public/language/uk/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/social.json b/public/language/uk/admin/settings/social.json index ce739d8b13..adddbe832f 100644 --- a/public/language/uk/admin/settings/social.json +++ b/public/language/uk/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Поширення постів", - "info-plugins-additional": "Плагіни можуть доповнювати набір доступних мереж для поширення постів", - "save-success": "Набір мереж для поширення постів успішно збережено!" + "info-plugins-additional": "Плагіни можуть доповнювати набір доступних мереж для поширення постів" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/tags.json b/public/language/uk/admin/settings/tags.json index 0e6538bb5b..f4c6274dfa 100644 --- a/public/language/uk/admin/settings/tags.json +++ b/public/language/uk/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Manage Tags", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Мінімальна кількість тегів для теми", "max-per-topic": "Максимальна кількість тегів для теми", "min-length": "Мінімальна довжина тега", diff --git a/public/language/uk/admin/settings/user.json b/public/language/uk/admin/settings/user.json index 49e9d9fae7..b7a12302b0 100644 --- a/public/language/uk/admin/settings/user.json +++ b/public/language/uk/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Максимальна довжина розділу \"Про мене\"", "terms-of-use": "Умови користування форумом (Залиште пустим, щоб вимкнути)", "user-search": "Пошук користувачів", - "user-search-results-per-page": "Кількість результатів до показу", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "Налаштування користувача за замовчуванням", "show-email": "Показувати електронну пошту", "show-fullname": "Показувати повне ім'я", diff --git a/public/language/uk/error.json b/public/language/uk/error.json index 924e35e270..87ad050254 100644 --- a/public/language/uk/error.json +++ b/public/language/uk/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "Ми не можемо підтвердити вашу електронну пошту, будь ласка, спробуйте пізніше.", "confirm-email-already-sent": "Підтвердження по електронній пошті вже було надіслано, зачекайте, будь ласка, %1 хвилин(и), щоб відправити ще одне. ", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Виконуваний файл sendmail не знайдено, переконайтесь, будь ласка, що його встановлено та що він виконується власником процесу NodeBB.", "digest-not-enabled": "Цей користувач не має активних дайджестів, або налаштування по замовчанню не включають надсилання дайджестів.", "username-too-short": "Ім'я користувача закоротке", diff --git a/public/language/uk/global.json b/public/language/uk/global.json index 2f7a765bbc..0326777e17 100644 --- a/public/language/uk/global.json +++ b/public/language/uk/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "Ви успішно увійшли", "save_changes": "Зберегти зміни", "save": "Зберегти", + "create": "Create", "cancel": "Cancel", "close": "Закрити", "pagination": "Розбиття на сторінки", diff --git a/public/language/uk/modules.json b/public/language/uk/modules.json index d93fe12652..3af610d79a 100644 --- a/public/language/uk/modules.json +++ b/public/language/uk/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Чат з", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/uk/pages.json b/public/language/uk/pages.json index d9d9d63c41..28da12fd53 100644 --- a/public/language/uk/pages.json +++ b/public/language/uk/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Оскаржений вміст", "ip-blacklist": "Чорний список IP адрес", "post-queue": "Черга Постів", + "registration-queue": "Registration Queue", "users/online": "Користувачі в мережі", "users/latest": "Останні користувачі", "users/sort-posts": "Користувачі з найбільшою кількістю постів", diff --git a/public/language/uk/themes/harmony.json b/public/language/uk/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/uk/themes/harmony.json +++ b/public/language/uk/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/uk/topic.json b/public/language/uk/topic.json index d5523dde59..f100cd844c 100644 --- a/public/language/uk/topic.json +++ b/public/language/uk/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "Відповідь для %1", "composer.new_topic": "Cтворити тему", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "завантаження...", "composer.thumb_url_label": "Вставте URL мініатюри теми", "composer.thumb_title": "Додати мініатюру цій темі", diff --git a/public/language/uk/user.json b/public/language/uk/user.json index 58e88f2e35..77cf774cfc 100644 --- a/public/language/uk/user.json +++ b/public/language/uk/user.json @@ -141,6 +141,8 @@ "group-order-help": "Оберіть групу і використовуйте стрілки для зміни порядку заголовків", "no-group-title": "Немає заголовка групи", "select-skin": "Обрати стиль сайту", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Обрати домашню сторінку", "homepage": "Домашня сторінка", "homepage_description": "Вкажіть сторінку в якості першої сторінки форуму або \"None\", для використання сторінки за замовчуванням.", diff --git a/public/language/uk/users.json b/public/language/uk/users.json index a7b562ba10..1f2314cd96 100644 --- a/public/language/uk/users.json +++ b/public/language/uk/users.json @@ -6,7 +6,7 @@ "most_flags": "Найбільше скарг", "search": "Пошук", "enter_username": "Уведіть ім'я користувача для пошуку", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "Завантажити більше", "users-found-search-took": "%1 користувач(ів) знайдено! Пошук тривав %2 секунди.", "filter-by": "Фільтрувати за", diff --git a/public/language/vi/admin/admin.json b/public/language/vi/admin/admin.json index 2d2e82f7f9..b9b457dfa9 100644 --- a/public/language/vi/admin/admin.json +++ b/public/language/vi/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | Bảng Điểu Khiển Quản Trị Viên NodeBB", "settings-header-contents": "Nội dung", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Thay Đổi Chưa Được Lưu", - "changes-not-saved-message": "NodeBB đã gặp sự cố khi lưu các thay đổi của bạn. (%1)" + "changes-not-saved-message": "NodeBB đã gặp sự cố khi lưu các thay đổi của bạn. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/vi/admin/advanced/cache.json b/public/language/vi/admin/advanced/cache.json index 48100e2c25..d06443e357 100644 --- a/public/language/vi/admin/advanced/cache.json +++ b/public/language/vi/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "Bộ Nhớ Đệm Bài Viết", "group-cache": "Bộ Nhớ Đệm Nhóm", "local-cache": "Bộ Nhớ Đệm Cục Bộ", diff --git a/public/language/vi/admin/advanced/database.json b/public/language/vi/admin/advanced/database.json index ca6530dc65..043be99ca4 100644 --- a/public/language/vi/admin/advanced/database.json +++ b/public/language/vi/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "Thời gian hoạt động(giây)", "uptime-days": "Thời gian hoạt động(Ngày)", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "Phiên bản MongoDB ", "mongo.storage-engine": "Phương Thức Lưu Trữ", "mongo.collections": "Tập dữ liệu", diff --git a/public/language/vi/admin/advanced/errors.json b/public/language/vi/admin/advanced/errors.json index 70182f48a9..53789387a9 100644 --- a/public/language/vi/admin/advanced/errors.json +++ b/public/language/vi/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "Hình %1", "error-events-per-day": "sự kiện mỗi ngày %1", "error.404": "404 Không Tìm Thấy", diff --git a/public/language/vi/admin/appearance/customise.json b/public/language/vi/admin/appearance/customise.json index ec665e39d5..5613f36d8b 100644 --- a/public/language/vi/admin/appearance/customise.json +++ b/public/language/vi/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "CSS/SASS Tùy Chỉnh", "custom-css.description": "Nhập các khai báo CSS/SASS của riêng bạn tại đây, sẽ được áp dụng sau tất cả các kiểu khác.", "custom-css.enable": "Bật CSS/SASS Tùy Chỉnh", @@ -12,5 +13,8 @@ "custom-header.enable": "Bật Tùy Chỉnh Phần Đầu Trang", "custom-css.livereload": "Bật tải lại trực tiếp", - "custom-css.livereload.description": "Bật điều này để buộc tất cả các phiên trên mọi thiết bị trong tài khoản của bạn phải làm mới bất cứ khi nào bạn nhấp vào lưu" + "custom-css.livereload.description": "Bật điều này để buộc tất cả các phiên trên mọi thiết bị trong tài khoản của bạn phải làm mới bất cứ khi nào bạn nhấp vào lưu", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/vi/admin/appearance/skins.json b/public/language/vi/admin/appearance/skins.json index faf0579331..94469d6fc5 100644 --- a/public/language/vi/admin/appearance/skins.json +++ b/public/language/vi/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "Đang tải giao diện ...", "homepage": "Trang chủ", "select-skin": "Chọn giao diện", + "revert-skin": "Revert Skin", "current-skin": "Giao diện hiện tại", "skin-updated": "Đã cập nhật giao diện", "applied-success": "%1 giao diện đã được sử dụng thành công", diff --git a/public/language/vi/admin/appearance/themes.json b/public/language/vi/admin/appearance/themes.json index 1d326191dd..370aacada0 100644 --- a/public/language/vi/admin/appearance/themes.json +++ b/public/language/vi/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "Đang kiểm tra các giao diện đã cài đặt...", "homepage": "Trang chủ", "select-theme": "Chọn Giao Diện", + "revert-theme": "Revert Theme", "current-theme": "Giao Diện Hiện Tại", "no-themes": "Không tìm thấy giao diện đã cài đặt", "revert-confirm": "Bạn có chắc muốn khôi phục giao diện NodeBB mặc định không?", diff --git a/public/language/vi/admin/dashboard.json b/public/language/vi/admin/dashboard.json index 45fdec1582..d312a0d071 100644 --- a/public/language/vi/admin/dashboard.json +++ b/public/language/vi/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "Cập nhật", "running-version": "Bạn đang chạy NodeBB v%1.", "keep-updated": "Đảm bảo NodeBB của bạn luôn cập nhật các bản vá bảo mật và sửa lỗi mới nhất.", - "up-to-date": "

Bạn đã cập nhật bản mới nhất

", - "upgrade-available": "

Phiên bản mới (v%1) đã được phát hành. Xem xét nâng cấp NodeBB của bạn.

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

Đây là bản phát hành NodeBB đã lỗi thời. Phiên bản mới (v%1) đã phát hành. Xem xét nâng cấp NodeBB của bạn.

", - "prerelease-warning": "

Đây là phiên bản NodeBB trước phát hành. Lỗi ngoài ý muốn có thể xảy ra.

", + "up-to-date": "Bạn đã cập nhật mới nhất ", + "upgrade-available": "Một phiên bản mới (v%1) đã được phát hành. Cân nhắc nâng cấp NodeBB của bạn.", + "prerelease-upgrade-available": "Đây là phiên bản trước khi phát hành đã lỗi thời của NodeBB. Một phiên bản mới (v%1) đã được phát hành. Cân nhắc nâng cấp NodeBB của bạn.", + "prerelease-warning": "Đây là một phiên bản NodeBB trước khi phát hành. Lỗi ngoài ý muốn có thể xảy ra. ", "fallback-emailer-not-found": "Không tìm thấy trình gửi email dự phòng!", - "running-in-development": "Diễn đàn đang chạy ở chế độ phát triển. Diễn đàn có thể mở cho các lỗ hổng tiềm ẩn; Xin vui lòng liên hệ với quản trị hệ thống của bạn.", - "latest-lookup-failed": "

Không tra cứu được phiên bản NodeBB mới nhất

", + "running-in-development": "Diễn đàn đang chạy ở chế độ phát triển. Diễn đàn có thể mở ra các lỗ hổng tiềm ẩn; Xin vui lòng liên hệ với quản trị hệ thống của bạn", + "latest-lookup-failed": "Không tìm được phiên bản mới nhất hiện có của NodeBB", "notices": "Thông báo", "restart-not-required": "Không cần khởi động lại", diff --git a/public/language/vi/admin/development/logger.json b/public/language/vi/admin/development/logger.json index b3e3e9bd1d..0fd7dc3d28 100644 --- a/public/language/vi/admin/development/logger.json +++ b/public/language/vi/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "Cài Đặt Ghi Nhật Ký", "description": "Bật cái này, bạn sẽ nhận nhật ký ở công cụ dòng lệnh của bạn. Nếu có đường dẫn cụ thể, nhật ký sẽ được lưu vào một tệp thay thế. Ghi nhật ký HTTP có lợi để thu thập thống kê về ai, khi nào và những gì mọi người truy cập trên diễn đàn. Ngoài ghi nhật ký yêu cầu HTTP, chúng tôi có thể ghi nhật ký sự kiện socket.io. Ghi nhật ký Socket.io, kết hợp với màn hình redis-cli, có thể hữu ích để tìm hiểu nội bộ NodeBB.", "explanation": "Chỉ cần chọn/bỏ chọn cài đặt ghi nhật ký để bật hoặc tắt ghi nhật ký một cách nhanh chóng. Không cần khởi động lại.", diff --git a/public/language/vi/admin/extend/plugins.json b/public/language/vi/admin/extend/plugins.json index 1074a7fafd..09a7817bf6 100644 --- a/public/language/vi/admin/extend/plugins.json +++ b/public/language/vi/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Nổi bật", "installed": "Đã cài đặt", "active": "Kích hoạt", diff --git a/public/language/vi/admin/extend/rewards.json b/public/language/vi/admin/extend/rewards.json index d7a803ae6a..bbb0c9d22d 100644 --- a/public/language/vi/admin/extend/rewards.json +++ b/public/language/vi/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "Phần thưởng", + "add-reward": "Add reward", "condition-if-users": "Nếu Người Dùng", "condition-is": "Là:", "condition-then": "Sau đó:", "max-claims": "Số lần nhận thưởng có thể nhận được", "zero-infinite": "Nhập 0 cho vô hạn", + "select-reward": "Select reward", "delete": "Xóa", "enable": "Bật", "disable": "Tắt", diff --git a/public/language/vi/admin/extend/widgets.json b/public/language/vi/admin/extend/widgets.json index 10034cea38..72549d2927 100644 --- a/public/language/vi/admin/extend/widgets.json +++ b/public/language/vi/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "Tiện ích có sẵn", "explanation": "Chọn một tiện ích từ menu thả xuống, sau đó kéo và thả nó vào khu vực tiện ích của mẫu ở bên trái.", "none-installed": "Không tìm thấy tiện ích nào! Kích hoạt plugin tiện ích cần thiết trong bảng điều khiểnplugins .", @@ -26,7 +27,7 @@ "container.placeholder": "Kéo và thả một vùng chứa hoặc nhập HTML vào đây.", "show-to-groups": "Hiển thị lên nhóm", "hide-from-groups": "Ẩn khỏi nhóm", - "start-date": "Start date", - "end-date": "End date", + "start-date": "Ngày bắt đầu", + "end-date": "Ngày kết thúc", "hide-on-mobile": "Ẩn trên thiết bị di động" } \ No newline at end of file diff --git a/public/language/vi/admin/manage/admins-mods.json b/public/language/vi/admin/manage/admins-mods.json index 924a46396e..cef97c646f 100644 --- a/public/language/vi/admin/manage/admins-mods.json +++ b/public/language/vi/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "Quản Trị Viên", "global-moderators": "Người Điều Hành Toàn Quyền", "moderators": "Người điều hành", "no-global-moderators": "Không Có Người Điều Hành Toàn Quyền", "no-sub-categories": "Không có danh mục phụ", - "subcategories": "%1 danh mục phụ", + "view-children": "View children (%1)", "no-moderators": "Không Có Người Điều Hành", "add-administrator": "Thêm Quản Trị Viên", "add-global-moderator": "Thêm Người Điều Hành Toàn Quyền", diff --git a/public/language/vi/admin/manage/categories.json b/public/language/vi/admin/manage/categories.json index c592ee4cda..c47a4feebd 100644 --- a/public/language/vi/admin/manage/categories.json +++ b/public/language/vi/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "Cài Đặt Chuyên Mục", + "edit-category": "Edit Category", "privileges": "Đặc quyền", - + "back-to-categories": "Back to categories", "name": "Tên Chuyên Mục", "description": "Mô Tả Chuyên Mục", "bg-color": "Màu Nền", @@ -15,8 +19,11 @@ "post-queue": "Hàng đợi bài đăng", "tag-whitelist": "Danh Sách Trắng Gắn Thẻ ", "upload-image": "Tải Lên Ảnh", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "Xóa", "category-image": "Ảnh Chuyên Mục", + "image-and-icon": "Image & Icon", "parent-category": "Chuyên Mục Chính", "optional-parent-category": "(Tùy chọn) Danh mục chính", "top-level": "Cấp Độ Hàng Đầu", @@ -31,6 +38,7 @@ "disable": "Tắt", "edit": "Sửa", "analytics": "Phân tích", + "view-category": "Xem chuyên mục", "set-order": "Đặt thứ tự", "set-order-help": "Đặt thứ tự của danh mục sẽ chuyển danh mục này sang thứ tự đó và cập nhật thứ tự của các danh mục khác khi cần thiết. Thứ tự tối thiểu là 1 đặt danh mục ở trên cùng.", diff --git a/public/language/vi/admin/manage/groups.json b/public/language/vi/admin/manage/groups.json index dd79c94c2a..638eaf9fbf 100644 --- a/public/language/vi/admin/manage/groups.json +++ b/public/language/vi/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "Tên Nhóm", "badge": "Huy hiệu", "properties": "Thuộc tính", @@ -10,7 +16,7 @@ "edit": "Sửa", "delete": "Xóa", "privileges": "Đặc Quyền", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "Tìm", "create": "Tạo Nhóm", "description-placeholder": "Mô tả ngắn gọn về nhóm của bạn", diff --git a/public/language/vi/admin/manage/privileges.json b/public/language/vi/admin/manage/privileges.json index 50cd6684db..641b2c7c67 100644 --- a/public/language/vi/admin/manage/privileges.json +++ b/public/language/vi/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "Chung", "admin": "Quản Trị Viên", "group-privileges": "Đặc Quyền Nhóm", diff --git a/public/language/vi/admin/manage/tags.json b/public/language/vi/admin/manage/tags.json index 46eefcfe87..95cd104447 100644 --- a/public/language/vi/admin/manage/tags.json +++ b/public/language/vi/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "Diễn đàn của bạn chưa có bất kỳ chủ đề nào gắn thẻ.", "bg-color": "Màu Nền", "text-color": "Màu Chữ", "description": "Chọn các thẻ bằng cách nhấp hoặc kéo, bấm CTRL để chọn nhiều thẻ.", "create": "Tạo Thẻ", + "add-tag": "Add tag", "modify": "Sửa Đổi Thẻ", "rename": "Đổi Tên Thẻ", "delete": "Xóa Các Thẻ Đã Chọn", diff --git a/public/language/vi/admin/manage/uploads.json b/public/language/vi/admin/manage/uploads.json index 232dff8993..65c53cb5dc 100644 --- a/public/language/vi/admin/manage/uploads.json +++ b/public/language/vi/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "Tải Lên Tệp", "filename": "Tên Tệp", "usage": "Đăng sử dụng", diff --git a/public/language/vi/admin/manage/users.json b/public/language/vi/admin/manage/users.json index cc0299a0f1..ad02785a9e 100644 --- a/public/language/vi/admin/manage/users.json +++ b/public/language/vi/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "Người Dùng", "edit": "Hành động", "make-admin": "Làm Quản Trị Viên", @@ -49,6 +50,10 @@ "users.username": "tên đăng nhập", "users.email": "thư điện tử", "users.no-email": "(không có email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "số lượng bài viết", "users.reputation": "uy tín", diff --git a/public/language/vi/admin/menu.json b/public/language/vi/admin/menu.json index d6d4e72a6d..23bcfce03d 100644 --- a/public/language/vi/admin/menu.json +++ b/public/language/vi/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "Thông tin", "rebuild-and-restart-forum": "Xây dựng lại & Khởi động lại diễn đàn", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "Khởi Động Lại Diễn Đàn", + "restart": "Restart", "logout": "Đăng xuất", "view-forum": "Xem diễn đàn", diff --git a/public/language/vi/admin/settings/advanced.json b/public/language/vi/admin/settings/advanced.json index 961593854c..dc36499712 100644 --- a/public/language/vi/admin/settings/advanced.json +++ b/public/language/vi/admin/settings/advanced.json @@ -21,7 +21,7 @@ "headers.coop": "Cross-Origin-Opener-Policy", "headers.corp": "Cross-Origin-Resource-Policy", "headers.permissions-policy": "Quyền-Chính sách", - "headers.permissions-policy-help": "Allows setting permissions policy header, for example \"geolocation=*, camera=()\", see this for more info.", + "headers.permissions-policy-help": "Cho phép đặt tiêu đề chính sách quyền, ví dụ \"geolocation=*, camera=()\", xemđây để biết thêm thông tin.", "hsts": "Bảo Vệ Truyền Tải Nghiêm Ngặt", "hsts.enabled": "Đã bật HSTS (đề nghị)", "hsts.maxAge": "HSTS Tuổi Tối Đa", diff --git a/public/language/vi/admin/settings/api.json b/public/language/vi/admin/settings/api.json index 0b16c3af71..11973d4988 100644 --- a/public/language/vi/admin/settings/api.json +++ b/public/language/vi/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Cài đặt", "lead-text": "Từ trang này, bạn có thể cấu hình quyền truy cập vào API Viết trong NodeBB.", "intro": "Mặc định, API Viết xác thực người dùng dựa trên cookie phiên của họ, nhưng NodeBB cũng hỗ trợ xác thực Bearer thông qua mã truy cập được tạo qua trang này.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Nhấp vào đây để truy cập thông số kỹ thuật API đầy đủ", "require-https": "Chỉ yêu cầu sử dụng API qua HTTPS", "require-https-caveat": "Ghi chú: Một số cài đặt liên quan đến bộ cân bằng tải có thể ủy quyền các yêu cầu của họ tới NodeBB bằng HTTP, trong trường hợp đó tùy chọn này vẫn bị vô hiệu hóa.", "uid": "ID Người Dùng", + "token": "Token", "uid-help-text": "Ghi rõ ID người dùng liên kết với mã truy cập. Nếu ID người dùng là 0, nó sẽ là môt mã truy cập cao cấp, có thể giả định danh tính của những người dùng khác dựa trên tham số _uid", "description": "Mô tả", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "Khóa này chưa bao giờ được dùng.", "no-description": "Không có mô tả cụ thể.", - "token-on-save": "Mã truy cập sẽ được tạo sau khi biểu mẫu được lưu" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/vi/admin/settings/email.json b/public/language/vi/admin/settings/email.json index fa1a23ab66..acd3865308 100644 --- a/public/language/vi/admin/settings/email.json +++ b/public/language/vi/admin/settings/email.json @@ -42,7 +42,7 @@ "subscriptions.hour-help": "Vui lòng nhập một số đại diện cho giờ để gửi thông báo email đã lên lịch (VD: 0 cho nửa đêm, 17 cho 5h chiều). Hãy nhớ rằng đây là giờ theo chính máy chủ và có thể không khớp chính xác với đồng hồ hệ thống của bạn.
Thời gian máy chủ gần đúng là:
Thông báo hàng ngày kế tiếp được lên lịch để gửi ", "notifications.remove-images": "Xóa hình ảnh khỏi thông báo email", "require-email-address": "Bắt buộc người dùng mới phải điền địa chỉ email", - "require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means new users will have to enter and confirm an email address in order to proceed with registration and subsequent access to the forum. It does not ensure user will enter a real email address, nor even an address they own.", + "require-email-address-warning": "Mặc định, người dùng có thể từ chối nhập địa chỉ email bằng cách để trống trường này. Bật tùy chọn này nghĩa là người dùng mới sẽ phải nhập và xác nhận một địa chỉ email để tiến hành đăng ký và tiếp theo truy cập vào diễn đàn. Nó không đảm bảo người dùng sẽ nhập địa chỉ email thực, thậm chí không phải là địa chỉ mà họ sở hữu.", "send-validation-email": "Gửi email xác thực khi một email được thêm vào hoặc thay đổi", "include-unverified-emails": "Gửi email đến những người nhận chưa xác nhận rõ ràng email của họ", "include-unverified-warning": "Theo mặc định, người dùng có email được liên kết với tài khoản của họ đã được xác minh, nhưng có những trường hợp không phải như vậy (ví dụ: đăng nhập SSO, người dùng phổ thông, v.v.). Bạn tự chịu rủi ro khi bật cài đặt này – gửi email đến các địa chỉ chưa được xác minh có thể vi phạm luật chống thư rác trong khu vực.", diff --git a/public/language/vi/admin/settings/general.json b/public/language/vi/admin/settings/general.json index 7034716c95..482653d149 100644 --- a/public/language/vi/admin/settings/general.json +++ b/public/language/vi/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "Cài Đặt Trang Web", "title": "Tiêu Đề Trang Web", "title.short": "Tiêu Đề Ngắn", "title.short-placeholder": "Nếu không có tiêu đề ngắn nào được chỉ định, tiêu đề trang web sẽ được sử dụng", "title.url": "Liên kết URL Tiêu đề", "title.url-placeholder": "URL của tiêu đề trang web", - "title.url-help": "Khi tiêu đề được nhấp vào, hãy đưa người dùng đến địa chỉ này. Nếu để trống, người dùng sẽ được chuyển đến chỉ mục diễn đàn.
Lưu ý: Đây không phải là URL bên ngoài được sử dụng trong email, v.v. Nó được đặt bởi thuộc tính url trong config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "Tên Cộng Đồng Của Bạn", "title.show-in-header": "Hiển Thị Tiêu Đề Trang Ở Phần Đầu", "browser-title": "Tiêu Đề Trình Duyệt", @@ -16,7 +18,7 @@ "description": "Mô Tả Trang Web", "keywords": "Từ Khóa Trang Web", "keywords-placeholder": "Các từ khóa mô tả cộng đồng của bạn, được phân tách bằng dấu phẩy", - "logo": "Biểu Trưng Trang Web", + "logo-and-icons": "Site Logo & Icons", "logo.image": "Ảnh", "logo.image-placeholder": "Đường dẫn đến biểu trưng để hiển thị phần đầu diễn đàn", "logo.upload": "Tải lên", diff --git a/public/language/vi/admin/settings/guest.json b/public/language/vi/admin/settings/guest.json index 52c4878bc4..4b9200ce6f 100644 --- a/public/language/vi/admin/settings/guest.json +++ b/public/language/vi/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Cài đặt", + "guest-settings": "Guest settings", "handles.enabled": "Cho phép xử lý khách", "handles.enabled-help": "Tùy chọn này hiển thị một trường mới cho phép khách chọn tên để liên kết với mỗi bài đăng mà họ thực hiện. Nếu bị tắt, họ sẽ chỉ được gọi là \"Khách\"", "topic-views.enabled": "Cho phép khách tăng lượt xem chủ đề", diff --git a/public/language/vi/admin/settings/navigation.json b/public/language/vi/admin/settings/navigation.json index eb94fcad5e..d7613ff682 100644 --- a/public/language/vi/admin/settings/navigation.json +++ b/public/language/vi/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "Biểu tượng:", "change-icon": "thay đổi", "route": "Liên kết:", @@ -12,7 +13,7 @@ "groups": "Nhóm:", "open-new-window": "Mở trong một cửa sổ mới", "dropdown": "Thả xuống", - "dropdown-placeholder": "Place your dropdown menu items below, ie:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", + "dropdown-placeholder": "Đặt các mục menu thả xuống của bạn bên dưới, tức là:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", "btn.delete": "Xóa", "btn.disable": "Tắt", diff --git a/public/language/vi/admin/settings/post.json b/public/language/vi/admin/settings/post.json index 10cdce3b46..17f565168a 100644 --- a/public/language/vi/admin/settings/post.json +++ b/public/language/vi/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "Sắp Xếp Bài Đăng", "sorting.post-default": "Sắp Xếp Bài Đăng Mặc Định", "sorting.oldest-to-newest": "Cũ nhất đến Mới nhất", @@ -23,10 +24,8 @@ "restrictions.seconds-edit-after": "Số giây bài đăng vẫn có thể chỉnh sửa được (đặt thành 0 để tắt)", "restrictions.seconds-delete-after": "Số giây một bài đăng vẫn có thể xóa được (đặt thành 0 để tắt)", "restrictions.replies-no-delete": "Số câu trả lời sau khi người dùng không được phép xóa chủ đề của chính họ (đặt thành 0 để tắt)", - "restrictions.min-title-length": "Độ Dài Tiêu Đề Tối Thiểu", - "restrictions.max-title-length": "Độ Dài Tiêu Đề Tối Đa", - "restrictions.min-post-length": "Độ Dài Bài Viết Tối Thiểu", - "restrictions.max-post-length": "Độ Dài Bài Viết Tối Đa", + "restrictions.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "Số ngày cho đến khi chủ đề được coi là cũ", "restrictions.stale-help": "Nếu một chủ đề được coi là \"cũ\", thì một cảnh báo sẽ được hiển thị cho những người dùng cố gắng trả lời chủ đề đó.", "timestamp": "Dấu thời gian", @@ -41,10 +40,9 @@ "teaser.last-reply": "Cuối cùng - Hiển thị câu trả lời mới nhất hoặc trình giữ chỗ \"Không trả lời\" nếu không có câu trả lời", "teaser.first": "Đầu tiên", "showPostPreviewsOnHover": "Hiển thị bản xem trước của các bài đăng khi di chuột qua", - "unread": "Cài Đặt Chưa Đọc", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "Số ngày giới hạn chưa đọc", "unread.min-track-last": "Số bài viết tối thiểu trong chủ đề trước khi theo dõi lần đọc cuối cùng", - "recent": "Cài Đặt Gần Đây", "recent.max-topics": "Chủ đề tối đa trên trang / gần đây", "recent.categoryFilter.disable": "Tắt tính năng lọc chủ đề trong chuyên mục bị bỏ qua trên trang /gần đây", "signature": "Cài Đặt Chữ Ký", diff --git a/public/language/vi/admin/settings/reputation.json b/public/language/vi/admin/settings/reputation.json index 3a73f1ded0..3f1c0a489c 100644 --- a/public/language/vi/admin/settings/reputation.json +++ b/public/language/vi/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Làm như sau khi một gắn cờ được giải quyết", "flags.action-on-reject": "Làm như sau khi một gắn cờ bị từ chối", "flags.action.nothing": "Không làm gì cả", - "flags.action.rescind": "Hủy bỏ gửi thông báo cho người điều hành/quản trị viên" + "flags.action.rescind": "Hủy bỏ thông báo đã gửi cho người điều hành/quản trị viên" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/social.json b/public/language/vi/admin/settings/social.json index f9dcde47ad..53ff04204a 100644 --- a/public/language/vi/admin/settings/social.json +++ b/public/language/vi/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "Chia sẻ bài viết", - "info-plugins-additional": "Plugin có thể thêm các mạng bổ sung để chia sẻ bài viết.", - "save-success": "Mạng chia sẻ bài đã lưu thành công!" + "info-plugins-additional": "Plugin có thể thêm các mạng bổ sung để chia sẻ bài viết." } \ No newline at end of file diff --git a/public/language/vi/admin/settings/tags.json b/public/language/vi/admin/settings/tags.json index dcfd4e09b8..9ebf4dabc2 100644 --- a/public/language/vi/admin/settings/tags.json +++ b/public/language/vi/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "Quản Lý Thẻ", "system-tags": "Thẻ Hệ Thống", "system-tags-help": "Chỉ người dùng đặc quyền mới có thể dùng thẻ này.", + "tags-per-topic": "Tags per topic", "min-per-topic": "Số Thẻ Ít Nhất Mỗi Chủ Đề", "max-per-topic": "Số Thẻ Tối Đa Mỗi Chủ Đề", "min-length": "Độ Dài Thẻ Tối Thiểu", diff --git a/public/language/vi/admin/settings/user.json b/public/language/vi/admin/settings/user.json index 920b8135b3..b7209ece67 100644 --- a/public/language/vi/admin/settings/user.json +++ b/public/language/vi/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "Độ Dài Tối Đa Giới Thiệu Bản Thân", "terms-of-use": "Điều Khoản Sử Dụng Diễn Đàn (Để trống để tắt)", "user-search": "Tìm Kiếm Người Dùng", - "user-search-results-per-page": "Số lượng kết quả sẽ hiển thị", + "user-search-results-per-page": "Số lượng người dùng hiển thị trong kết quả tìm kiếm", "default-user-settings": "Cài Đặt Người Dùng Mặc Định", "show-email": "Hiển thị email", "show-fullname": "Hiển thị tên đầy đủ", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index b8f39e0756..db16e2ffa8 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "Người dùng \"%1\" chưa đặt email.", "email-confirm-failed": "Chúng tôi không thể xác nhận email của bạn, vui lòng thử lại sau.", "confirm-email-already-sent": "Email xác nhận đã được gửi, vui lòng chờ %1 phút để yêu cầu gửi lại.", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "Không tìm thấy lệnh thực thi \"sendmail\", hãy chắc chắn nó đã được cài đặt và thực thi bởi người quản trị đang vận hành NodeBB", "digest-not-enabled": "Người dùng này chưa bật thông báo hoặc mặc định hệ thống không được cấu hình để gửi thông báo", "username-too-short": "Tên đăng nhập quá ngắn", @@ -102,7 +103,7 @@ "guest-upload-disabled": "Tải lên của khách đã bị tắt", "cors-error": "Không thể tải lên hình ảnh do CORS bị cấu hình sai", "upload-ratelimit-reached": "‎Bạn‎‎ đã tải lên quá nhiều tệp cùng một lúc. Vui lòng thử lại sau.‎", - "upload-error-fallback": "Unable to upload image — %1", + "upload-error-fallback": "Không thể tải lên hình ảnh — %1", "scheduling-to-past": "Vui lòng chọn một ngày trong tương lai.", "invalid-schedule-date": "Vui lòng nhập ngày và giờ hợp lệ.", "cant-pin-scheduled": "Không thể ghim (bỏ) các chủ đề đã lên lịch.", @@ -136,8 +137,8 @@ "group-already-requested": "Yêu cầu tham gia của bạn đã được gửi.", "group-join-disabled": "Bạn không thể tham gia nhóm này vào lúc này", "group-leave-disabled": "Bạn không thể rời khỏi nhóm này vào lúc này", - "group-user-not-pending": "User does not have a pending request to join this group.", - "gorup-user-not-invited": "User has not been invited to join this group.", + "group-user-not-pending": "Người dùng không có yêu cầu đang chờ xử lý để tham gia nhóm này.", + "gorup-user-not-invited": "Người dùng chưa được mời tham gia nhóm này.", "post-already-deleted": "Bài viết này đã bị xóa", "post-already-restored": "Bài viết này đã được phục hồi", "topic-already-deleted": "Chủ đề này đã bị xóa", diff --git a/public/language/vi/flags.json b/public/language/vi/flags.json index 61fe6d5f9c..af7768df0e 100644 --- a/public/language/vi/flags.json +++ b/public/language/vi/flags.json @@ -9,7 +9,7 @@ "updated": "Đã cập nhật", "resolved": "Đã Xử Lý", "target-purged": "Nội dung mà cờ này đề cập đến đã bị xóa và không còn nữa.", - "target-aboutme-empty": "This user has no "About Me" set.", + "target-aboutme-empty": "Người dùng này không có "Giới Thiệu Về Tôi" set.", "graph-label": "Cờ Hàng Ngày", "quick-filters": "Bộ Lọc Nhanh", diff --git a/public/language/vi/global.json b/public/language/vi/global.json index bc6b5ba39c..70a120fa29 100644 --- a/public/language/vi/global.json +++ b/public/language/vi/global.json @@ -4,13 +4,13 @@ "buttons.close": "Đóng", "403.title": "Truy Cập Bị Từ Chối", "403.message": "Dường như bạn đã tình cờ gặp một trang mà bạn không có quyền truy cập.", - "403.login": "Perhaps you should try logging in?", + "403.login": "Có lẽ bạn nên thử đăng nhập?", "404.title": "Không Tìm Thấy", - "404.message": "You seem to have stumbled upon a page that does not exist.
Return to the home page.
", + "404.message": "Có vẻ như bạn đã gặp phải một trang không tồn tại.
Quay lại trang chủ.
", "500.title": "Lỗi Bên Trong.", "500.message": "Úi chà! Có vẻ như đã xảy ra sự cố!", "400.title": "Yêu Cầu Không Hợp Lệ.", - "400.message": "It looks like this link is malformed, please double-check and try again.
Return to the home page.
", + "400.message": "Có vẻ như liên kết này không đúng định dạng, vui lòng kiểm tra kỹ và thử lại.
Quay lại trang chủ.
", "register": "Đăng ký", "login": "Đăng nhập", "please_log_in": "Vui Lòng Đăng Nhập", @@ -20,7 +20,8 @@ "you_have_successfully_logged_in": "Bạn đã đăng nhập thành công", "save_changes": "Lưu thay đổi", "save": "Lưu", - "cancel": "Cancel", + "create": "Create", + "cancel": "Hủy bỏ", "close": "Đóng", "pagination": "Phân trang", "pagination.out_of": "%1 trong số %2", @@ -132,9 +133,9 @@ "edited": "Đã cập nhật", "disabled": "Đã tắt", "select": "Chọn", - "copied": "Copied", + "copied": "Đã sao chép", "user-search-prompt": "Nhập để tìm kiếm thành viên", - "hidden": "Hidden", + "hidden": "Ẩn", "sort": "Sort", "actions": "Actions" } \ No newline at end of file diff --git a/public/language/vi/groups.json b/public/language/vi/groups.json index e30a4cba57..02a096ba36 100644 --- a/public/language/vi/groups.json +++ b/public/language/vi/groups.json @@ -1,5 +1,5 @@ { - "all-groups": "All groups", + "all-groups": "Tất cả các nhóm", "groups": "Nhóm", "members": "Members", "view_group": "Xem nhóm", diff --git a/public/language/vi/modules.json b/public/language/vi/modules.json index 82dbd9e1ea..5c5b1812bc 100644 --- a/public/language/vi/modules.json +++ b/public/language/vi/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "Trò chuyện với", "chat.placeholder": "Nhập tin nhắn trò chuyện tại đây, kéo và thả hình ảnh, nhấn enter để gửi", "chat.placeholder.mobile": "Nhập tin nhắn trò chuyện tại đây", - "chat.scroll-up-alert": "Bạn đang xem các tin nhắn cũ hơn, nhấp vào đây để chuyển đến tin nhắn gần đây nhất.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Trò chuyện với %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/vi/pages.json b/public/language/vi/pages.json index 5528cd22e6..e611dedf4f 100644 --- a/public/language/vi/pages.json +++ b/public/language/vi/pages.json @@ -14,6 +14,7 @@ "flagged-content": "Nội Dung Bị Gắn Cờ", "ip-blacklist": "Danh sách đen IP", "post-queue": "Hàng Đợi Bài Viết", + "registration-queue": "Registration Queue", "users/online": "Thành viên trực tuyến", "users/latest": "Thành viên mới nhất", "users/sort-posts": "Thành viên có nhiều bài đăng nhất", @@ -60,7 +61,7 @@ "account/uploads": "Tải lên bởi %1", "account/sessions": "Phiên Đăng Nhập", "confirm": "Đã xác nhận email", - "maintenance.text": "%1 is currently undergoing maintenance.
Please come back another time.", + "maintenance.text": "%1 hiện đang bảo trì.
Vui lòng quay lại vào lúc khác.", "maintenance.messageIntro": "Ngoài ra, quản trị viên đã để lại thông báo này:", "throttled.text": "%1 hiện không khả dụng do quá tải. Vui lòng quay lại vào lúc khác." } \ No newline at end of file diff --git a/public/language/vi/post-queue.json b/public/language/vi/post-queue.json index 7a0d48c31d..4692dd1d7c 100644 --- a/public/language/vi/post-queue.json +++ b/public/language/vi/post-queue.json @@ -3,8 +3,8 @@ "post-queue": "Hàng Đợi Bài Đăng", "no-queued-posts": "Không có bài viết trong hàng đợi bài viết.", "no-single-post": "Chủ đề hoặc bài đăng bạn đang tìm kiếm không còn trong hàng đợi. Nó có thể đã được phê duyệt hoặc xóa rồi.", - "enabling-help": "To enable this feature, go to Settings → Post → Post Queue and enable Post Queue.", - "back-to-list": "Back to Post Queue", + "enabling-help": "Để bật tính năng này, hãy đi tới Cài Đặt → Bài Đăng → Hàng Đợi Đăng và bật Hàng Đợi Đăng.", + "back-to-list": "Quay lại Hàng Đợi Đăng", "user": "Người dùng", "when": "When", "category": "Chuyên mục", diff --git a/public/language/vi/register.json b/public/language/vi/register.json index 717fea721d..3b977cd8e8 100644 --- a/public/language/vi/register.json +++ b/public/language/vi/register.json @@ -1,6 +1,6 @@ { "register": "Đăng ký", - "already-have-account": "Already have an account?", + "already-have-account": "Đã có tài khoản rồi?", "cancel_registration": "Hủy đăng ký", "help.email": "Mặc định, email của bạn sẽ bị ẩn không công khai.", "help.username_restrictions": "Một tên đăng nhập duy nhất giữa %1 và %2 ký tự. Người khác có thể nhắc đến bạn với @tên đăng nhập.", diff --git a/public/language/vi/search.json b/public/language/vi/search.json index 76a36c1c79..5563de5d81 100644 --- a/public/language/vi/search.json +++ b/public/language/vi/search.json @@ -19,8 +19,8 @@ "tags-x": "Tags: %1", "type-a-tag": "Nhập một thẻ", "match-words": "Khớp các từ", - "match-all-words": "Match all words", - "match-any-word": "Match any word", + "match-all-words": "Khớp tất cả các từ", + "match-any-word": "Khớp với bất kỳ từ nào", "all": "Tất cả", "any": "Bất kì", "posted-by": "Đăng bởi", diff --git a/public/language/vi/social.json b/public/language/vi/social.json index 7ebb50c0c7..45d971b6a8 100644 --- a/public/language/vi/social.json +++ b/public/language/vi/social.json @@ -1,10 +1,10 @@ { - "sign-in-with-twitter": "Sign in with Twitter", - "sign-up-with-twitter": "Sign up with Twitter", - "sign-in-with-github": "Sign in with Github", - "sign-up-with-github": "Sign up with Github", - "sign-in-with-google": "Sign in with Google", - "sign-up-with-google": "Sign up with Google", - "log-in-with-facebook": "Log in with Facebook", - "continue-with-facebook": "Continue with Facebook" + "sign-in-with-twitter": "Đăng nhập bằng Twitter", + "sign-up-with-twitter": "Đăng ký với Twitter", + "sign-in-with-github": "Đăng nhập bằng Github", + "sign-up-with-github": "Đăng ký với Github", + "sign-in-with-google": "Đăng nhập bằng Google", + "sign-up-with-google": "Đăng ký với Google", + "log-in-with-facebook": "Đăng nhập bằng Facebook", + "continue-with-facebook": "Tiếp tục với Facebook" } \ No newline at end of file diff --git a/public/language/vi/themes/harmony.json b/public/language/vi/themes/harmony.json index 57e2def8d3..8ff922e36b 100644 --- a/public/language/vi/themes/harmony.json +++ b/public/language/vi/themes/harmony.json @@ -1,14 +1,16 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", - "login-register-to-search": "Login or register to search.", + "login-register-to-search": "Đăng nhập hoặc đăng ký để tìm kiếm.", "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", + "settings.enableQuickReply": "Bật trả lời nhanh", "settings.centerHeaderElements": "Center header elements", "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.stickyToolbar": "Thanh công cụ cố định", + "settings.stickyToolbar.help": "Thanh công cụ trên các trang chủ đề và danh mục sẽ nằm ở đầu trang", + "settings.autohideBottombar": "Tự động ẩn thanh dưới cùng", + "settings.autohideBottombar.help": "Thanh dưới cùng trên chế độ xem trên thiết bị di động sẽ bị ẩn khi trang được cuộn xuống", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/vi/themes/persona.json b/public/language/vi/themes/persona.json index e7d1945303..2fd03e51e9 100644 --- a/public/language/vi/themes/persona.json +++ b/public/language/vi/themes/persona.json @@ -1,6 +1,6 @@ { - "settings.title": "Theme settings", - "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", + "settings.title": "Cài đặt chủ đề", + "settings.intro": "Bạn có thể tùy chỉnh cài đặt chủ đề của mình tại đây. Cài đặt được lưu trữ trên cơ sở từng thiết bị, vì vậy bạn có thể có các cài đặt khác nhau trên các thiết bị khác nhau (điện thoại, máy tính bảng, máy tính để bàn, v.v.)", "settings.mobile-menu-side": "Switch which side each mobile menu is on", "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", diff --git a/public/language/vi/topic.json b/public/language/vi/topic.json index 08de0dd083..19f602ad0c 100644 --- a/public/language/vi/topic.json +++ b/public/language/vi/topic.json @@ -44,20 +44,20 @@ "wrote-on": "wrote on ", "replied-to-user-ago": "replied to %3 ", "replied-to-user-on": "replied to %3 on ", - "user-locked-topic-ago": "%1 locked this topic %2", - "user-locked-topic-on": "%1 locked this topic on %2", - "user-unlocked-topic-ago": "%1 unlocked this topic %2", - "user-unlocked-topic-on": "%1 unlocked this topic on %2", - "user-pinned-topic-ago": "%1 pinned this topic %2", - "user-pinned-topic-on": "%1 pinned this topic on %2", - "user-unpinned-topic-ago": "%1 unpinned this topic %2", - "user-unpinned-topic-on": "%1 unpinned this topic on %2", - "user-deleted-topic-ago": "%1 deleted this topic %2", - "user-deleted-topic-on": "%1 deleted this topic on %2", - "user-restored-topic-ago": "%1 restored this topic %2", - "user-restored-topic-on": "%1 restored this topic on %2", - "user-moved-topic-from-ago": "%1 moved this topic from %2 %3", - "user-moved-topic-from-on": "%1 moved this topic from %2 on %3", + "user-locked-topic-ago": "%1 đã khóa chủ đề này %2", + "user-locked-topic-on": "%1 đã khóa chủ đề này trên %2", + "user-unlocked-topic-ago": "%1 đã mở khóa chủ đề này %2", + "user-unlocked-topic-on": "%1 đã mở chủ đề này trên %2", + "user-pinned-topic-ago": "%1 đã ghim chủ đề này %2", + "user-pinned-topic-on": "%1 đã ghim chủ đề này vào %2", + "user-unpinned-topic-ago": "%1 đã bỏ ghim chủ đề này %2", + "user-unpinned-topic-on": "%1 đã bỏ ghim chủ đề này trên %2", + "user-deleted-topic-ago": "%1 đã xóa chủ đề này %2", + "user-deleted-topic-on": "%1 đã xóa chủ đề này trên %2", + "user-restored-topic-ago": "%1 đã khôi phục chủ đề này %2", + "user-restored-topic-on": "%1 đã khôi phục chủ đề này trên %2", + "user-moved-topic-from-ago": "%1 đã chuyển chủ đề này từ %2 %3", + "user-moved-topic-from-on": "%1 đã chuyển chủ đề này từ %2 trên %3", "user-queued-post-ago": "%1 queued post for approval %3", "user-queued-post-on": "%1 queued post for approval on %3", "user-referenced-topic-ago": "%1 referenced this topic %3", @@ -164,7 +164,7 @@ "composer.schedule": "Lên lịch", "composer.replying_to": "Đang trả lời %1", "composer.new_topic": "Chủ đề mới", - "composer.editing": "Sửa", + "composer.editing-in": "Editing post in %1", "composer.uploading": "đang tải lên...", "composer.thumb_url_label": "Dán URL hình mô tả chủ đề", "composer.thumb_title": "Thêm ảnh mô tả cho chủ đề này", diff --git a/public/language/vi/user.json b/public/language/vi/user.json index 6a747e04cc..5d74dda241 100644 --- a/public/language/vi/user.json +++ b/public/language/vi/user.json @@ -141,6 +141,8 @@ "group-order-help": "Chọn một nhóm và sử dụng các phím mũi tên để sắp xếp các tiêu đề", "no-group-title": "Không có tiêu đề nhóm", "select-skin": "Chọn một giao diện", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "Chọn Trang chủ", "homepage": "Trang chủ", "homepage_description": "Chọn một trang dùng cho trang chủ diễn đàn hoặc chọn \"Không\" để dùng trang chủ mặc định.", @@ -202,5 +204,5 @@ "emailUpdate.required": "Trường này là bắt buộc.", "emailUpdate.change-instructions": "Một email xác nhận sẽ được gửi đến địa chỉ email đã nhập với một liên kết duy nhất. Việc truy cập vào liên kết đó sẽ xác nhận quyền sở hữu của bạn đối với địa chỉ email và nó sẽ có hiệu lực trên tài khoản của bạn. Bất cứ lúc nào, bạn có thể cập nhật email của mình trong hồ sơ từ trong trang tài khoản của bạn.", "emailUpdate.password-challenge": "Nhập mật khẩu của bạn để xác minh quyền sở hữu tài khoản.", - "emailUpdate.pending": "Your email address has not yet been confirmed, but an email has been sent out requesting confirmation. If you wish to invalidate that request and send a new confirmation request, please fill in the form below." + "emailUpdate.pending": "Địa chỉ email của bạn chưa được xác nhận, nhưng một email đã được gửi đi yêu cầu xác nhận. Nếu bạn muốn vô hiệu hóa yêu cầu đó và gửi yêu cầu xác nhận mới, vui lòng điền vào mẫu dưới đây." } \ No newline at end of file diff --git a/public/language/vi/users.json b/public/language/vi/users.json index 328894bce0..d7851a4049 100644 --- a/public/language/vi/users.json +++ b/public/language/vi/users.json @@ -1,12 +1,12 @@ { - "all-users": "All Users", + "all-users": "Tất Cả Người Dùng", "latest_users": "Thành viên mới nhất", "top_posters": "Thành viên đăng bài nhiều nhất", "most_reputation": "Nhiều Uy Tín", "most_flags": "Gắn cờ nhiều", "search": "Tìm kiếm", "enter_username": "Nhập tên đăng nhập để tìm", - "search-user-for-chat": "Tìm kiếm người dùng để bắt đầu trò chuyện:", + "search-user-for-chat": "Tìm kiếm người dùng để bắt đầu trò chuyện", "load_more": "Tải thêm", "users-found-search-took": "Đã tìm thấy %1 thành viên! Tìm kiếm mất %2 giây.", "filter-by": "Lọc Bởi", diff --git a/public/language/zh-CN/admin/admin.json b/public/language/zh-CN/admin/admin.json index 4ea1bd6370..554c76b245 100644 --- a/public/language/zh-CN/admin/admin.json +++ b/public/language/zh-CN/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB 管理员控制面板", "settings-header-contents": "内容", + "changes-saved": "更改已保存", + "changes-saved-message": "你对 NodeBB 配置文件的更改已经保存。", "changes-not-saved": "更改未保存", - "changes-not-saved-message": "NodeBB 在保存您的更改时遇到了问题。 (%1)" + "changes-not-saved-message": "NodeBB 在保存您的更改时遇到了问题。 (%1)", + "save-changes": "保存更改", + "min": "最小:", + "max": "最大:", + "view": "浏览", + "edit": "编辑" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/advanced/cache.json b/public/language/zh-CN/admin/advanced/cache.json index 4f9c161549..d8b46d5c6c 100644 --- a/public/language/zh-CN/admin/advanced/cache.json +++ b/public/language/zh-CN/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "缓存", "post-cache": "帖子缓存", "group-cache": "用户组缓存", "local-cache": "本地缓存", diff --git a/public/language/zh-CN/admin/advanced/database.json b/public/language/zh-CN/admin/advanced/database.json index 96c440c8e0..7652d9e4c8 100644 --- a/public/language/zh-CN/admin/advanced/database.json +++ b/public/language/zh-CN/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "运行秒数", "uptime-days": "运行天数", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB 版本", "mongo.storage-engine": "存储引擎", "mongo.collections": "集合", diff --git a/public/language/zh-CN/admin/advanced/errors.json b/public/language/zh-CN/admin/advanced/errors.json index 6fd8b532b6..f5af2fb229 100644 --- a/public/language/zh-CN/admin/advanced/errors.json +++ b/public/language/zh-CN/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "错误", "figure-x": "数量 %1", "error-events-per-day": "%1 事件/天", "error.404": "404 页面不存在", diff --git a/public/language/zh-CN/admin/appearance/customise.json b/public/language/zh-CN/admin/appearance/customise.json index f3c6cf8b91..f26b6ddf70 100644 --- a/public/language/zh-CN/admin/appearance/customise.json +++ b/public/language/zh-CN/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "定制", "custom-css": "自定义 CSS/SASS", "custom-css.description": "在此输入您的 CSS/LESS 声明,这些声明将在所有其他样式之后应用。", "custom-css.enable": "启用自定义 CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "启用自定义 Header", "custom-css.livereload": "启用实时重载", - "custom-css.livereload.description": "启用此功能可以在您点击保存时强制您帐户下的每个设备上的所有会话进行刷新" + "custom-css.livereload.description": "启用此功能可以在您点击保存时强制您帐户下的每个设备上的所有会话进行刷新", + "bsvariables": "_variables.scss", + "bsvariables.description": "在这里覆盖bootstrap的变量。你也可以使用像bootstrap.build这样的工具,并在这里粘贴输出。
更改之后需要重建和重启。", + "bsvariables.enable": "开启 _variables.scss" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/appearance/skins.json b/public/language/zh-CN/admin/appearance/skins.json index 1a075fe9f9..08168437e6 100644 --- a/public/language/zh-CN/admin/appearance/skins.json +++ b/public/language/zh-CN/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "皮肤", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "正在加载皮肤...", "homepage": "主页", "select-skin": "选择皮肤", + "revert-skin": "恢复皮肤配置", "current-skin": "当前皮肤", "skin-updated": "皮肤已更新", "applied-success": "%1 皮肤已成功应用", diff --git a/public/language/zh-CN/admin/appearance/themes.json b/public/language/zh-CN/admin/appearance/themes.json index e50ef99c18..495f16cb3c 100644 --- a/public/language/zh-CN/admin/appearance/themes.json +++ b/public/language/zh-CN/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "主题", "checking-for-installed": "正在检查已安装的主题...", "homepage": "首页", "select-theme": "选择主题", + "revert-theme": "回退主题", "current-theme": "当前主题", "no-themes": "未发现已安装的主题", "revert-confirm": "确认恢复到 NodeBB 默认主题?", diff --git a/public/language/zh-CN/admin/dashboard.json b/public/language/zh-CN/admin/dashboard.json index 71c2747ea3..93d0ec231b 100644 --- a/public/language/zh-CN/admin/dashboard.json +++ b/public/language/zh-CN/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "更新", "running-version": "您正在运行 NodeBB v%1 .", "keep-updated": "请确保您已及时更新 NodeBB 以获得最新的安全补丁与 Bug 修复。", - "up-to-date": "

您正在使用 最新版本

", - "upgrade-available": "

新的版本 (v%1) 已经发布。建议您 升级 NodeBB

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

这是一个已经过期的预发布版本的 NodeBB,新的版本 (v%1) 已经发布。建议您 升级 NodeBB

", - "prerelease-warning": "

正在使用测试版 NodeBB。可能会出现意外的 Bug。

", + "up-to-date": "你处于最新版本", + "upgrade-available": "一个新的版本(v%1)已经发布。建议您升级你的 NodeBB 。", + "prerelease-upgrade-available": "这是一个过时的预发布版本的 NodeBB 。一个新的版本(v%1)已经发布。考虑升级你的 NodeBB 。", + "prerelease-warning": "这是NodeBB的一个预发布版本。可能会出现意想不到的错误。", "fallback-emailer-not-found": "找不到备用邮箱", - "running-in-development": "论坛正处于开发模式,这可能使其暴露于潜在的危险之中;请联系您的系统管理员。", - "latest-lookup-failed": "

无法查找 NodeBB 的最新可用版本

", + "running-in-development": "论坛正以开发模式运行。该论坛可能存在潜在的漏洞,请联系您的系统管理员。", + "latest-lookup-failed": "查询NodeBB的最新可用版本失败", "notices": "提醒", "restart-not-required": "不需要重启", diff --git a/public/language/zh-CN/admin/development/logger.json b/public/language/zh-CN/admin/development/logger.json index 4d3d8460c2..9e08d09452 100644 --- a/public/language/zh-CN/admin/development/logger.json +++ b/public/language/zh-CN/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "日志记录器", "logger-settings": "日志记录器设置", "description": "启用此选项后,日志会在您的终端里显示。如果您注明了文件路径,日志会被保存到该文件中。HTTP 日志可以帮助您收集论坛被谁,何时,以及什么内容被访问等统计信息。在此基础上,我们还提供 socket.io 事件日志。结合 socket.io 日志和 redis-cli 监控器,学习 NodeBB 的内部构造会更加方便。", "explanation": "勾选或反勾选日志设置项即可启用或禁用相应设置。无需重启。", diff --git a/public/language/zh-CN/admin/extend/plugins.json b/public/language/zh-CN/admin/extend/plugins.json index 4ce9db2fd8..2c81179baa 100644 --- a/public/language/zh-CN/admin/extend/plugins.json +++ b/public/language/zh-CN/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "插件", "trending": "趋势", "installed": "已安装", "active": "已启用", diff --git a/public/language/zh-CN/admin/extend/rewards.json b/public/language/zh-CN/admin/extend/rewards.json index 7646b33976..25ef109af8 100644 --- a/public/language/zh-CN/admin/extend/rewards.json +++ b/public/language/zh-CN/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "奖励", + "add-reward": "增加奖励", "condition-if-users": "如果用户的", "condition-is": "是:", "condition-then": "则:", "max-claims": "可获取奖励的次数", "zero-infinite": "无限制请输入0", + "select-reward": "选择奖励", "delete": "删除", "enable": "启用", "disable": "禁用", diff --git a/public/language/zh-CN/admin/extend/widgets.json b/public/language/zh-CN/admin/extend/widgets.json index f6fd2af026..d45bc7487a 100644 --- a/public/language/zh-CN/admin/extend/widgets.json +++ b/public/language/zh-CN/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "小工具", "available": "可用的窗口部件", "explanation": "从下拉菜单中选择一个窗口部件并拖放到模板左边的窗口部件区域。", "none-installed": "未发现窗口部件!请在插件控制面板中启用必要的窗口部件插件。", @@ -26,7 +27,7 @@ "container.placeholder": "将容器拖拽至此处或在此处输入HTML", "show-to-groups": "对群组显示", "hide-from-groups": "对群组隐藏", - "start-date": "Start date", - "end-date": "End date", + "start-date": "开始日期", + "end-date": "结束日期", "hide-on-mobile": "在移动端隐藏" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/manage/admins-mods.json b/public/language/zh-CN/admin/manage/admins-mods.json index 79457a0f07..5301678355 100644 --- a/public/language/zh-CN/admin/manage/admins-mods.json +++ b/public/language/zh-CN/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "管理管理员和版主", "administrators": "管理员", "global-moderators": "全局版主", "moderators": "版主", "no-global-moderators": "没有全局版主", "no-sub-categories": "没有子版块", - "subcategories": "%1 个子版块", + "view-children": "查看子 (%1)", "no-moderators": "没有版主", "add-administrator": "添加管理员", "add-global-moderator": "添加全局版主", diff --git a/public/language/zh-CN/admin/manage/categories.json b/public/language/zh-CN/admin/manage/categories.json index 07eb9f30ef..2d51d702c9 100644 --- a/public/language/zh-CN/admin/manage/categories.json +++ b/public/language/zh-CN/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "管理分类", + "add-category": "添加分类", + "jump-to": "跳转…", "settings": "版块设置", + "edit-category": "编辑分类", "privileges": "权限", - + "back-to-categories": "回到分类", "name": "版块名", "description": "版块描述", "bg-color": "背景颜色", @@ -15,8 +19,11 @@ "post-queue": "发布队列", "tag-whitelist": "标签白名单", "upload-image": "上传图片", + "upload": "上传", + "select-icon": "选择图标", "delete-image": "移除", "category-image": "版块图片", + "image-and-icon": "图片和图标", "parent-category": "父版块", "optional-parent-category": "(可选)父版块", "top-level": "顶层", @@ -31,6 +38,7 @@ "disable": "禁用", "edit": "编辑", "analytics": "分析", + "view-category": "查看版块", "set-order": "设置顺序", "set-order-help": "设置版块的顺序会将此版块移动到对应的顺序,并根据需要更新其他版块的顺序。顺序值最小为 1,即将版块置于顶部。", diff --git a/public/language/zh-CN/admin/manage/groups.json b/public/language/zh-CN/admin/manage/groups.json index da975f1a5f..fbb620f064 100644 --- a/public/language/zh-CN/admin/manage/groups.json +++ b/public/language/zh-CN/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "管理群组", + "add-group": "添加群组", + "edit-group": "编辑群组", + "back-to-groups": "回到群组", + "view-group": "查看群组", + "icon-and-title": "图标和标题", "name": "群组名", "badge": "徽章", "properties": "属性", @@ -10,7 +16,7 @@ "edit": "编辑", "delete": "删除", "privileges": "权限", - "download-csv": "CSV", + "members-csv": "成员(CSV)", "search-placeholder": "搜索", "create": "创建群组", "description-placeholder": "一个关于你的群组的简短描述", diff --git a/public/language/zh-CN/admin/manage/privileges.json b/public/language/zh-CN/admin/manage/privileges.json index 84b5770ddd..6f6c26d71e 100644 --- a/public/language/zh-CN/admin/manage/privileges.json +++ b/public/language/zh-CN/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "管理权限", + "discard-changes": "放弃更改", "global": "全局", "admin": "管理员", "group-privileges": "群组权限", diff --git a/public/language/zh-CN/admin/manage/tags.json b/public/language/zh-CN/admin/manage/tags.json index 5a8dd20804..53c8fb1e5a 100644 --- a/public/language/zh-CN/admin/manage/tags.json +++ b/public/language/zh-CN/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "管理标签", "none": "您的论坛目前没有带标签的主题。", "bg-color": "背景颜色", "text-color": "文字颜色", "description": "通过点击或拖动选择标签,按住 CTRL 进行多选。", "create": "创建标签", + "add-tag": "增加标签", "modify": "修改标签", "rename": "重命名标签", "delete": "删除所选标签", diff --git a/public/language/zh-CN/admin/manage/uploads.json b/public/language/zh-CN/admin/manage/uploads.json index 3bdaa05c20..fc8d543cf2 100644 --- a/public/language/zh-CN/admin/manage/uploads.json +++ b/public/language/zh-CN/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "管理上传", "upload-file": "上传文件", "filename": "文件名", "usage": "使用的帖子", diff --git a/public/language/zh-CN/admin/manage/users.json b/public/language/zh-CN/admin/manage/users.json index 3b47528c38..e53a2b051f 100644 --- a/public/language/zh-CN/admin/manage/users.json +++ b/public/language/zh-CN/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "管理用户", "users": "用户", "edit": "操作", "make-admin": "设为管理", @@ -49,6 +50,10 @@ "users.username": "用户名", "users.email": "电子邮件", "users.no-email": "(没有邮箱)", + "users.validated": "已验证", + "users.not-validated": "未验证", + "users.validation-pending": "等待验证", + "users.validation-expired": "验证过期", "users.ip": "IP", "users.postcount": "发帖数", "users.reputation": "声望", diff --git a/public/language/zh-CN/admin/menu.json b/public/language/zh-CN/admin/menu.json index f16645b71d..0e33098536 100644 --- a/public/language/zh-CN/admin/menu.json +++ b/public/language/zh-CN/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "信息", "rebuild-and-restart-forum": "部署并重启论坛", + "rebuild-and-restart": "重建和重启", "restart-forum": "重启论坛", + "restart": "重启", "logout": "登出", "view-forum": "查看论坛", diff --git a/public/language/zh-CN/admin/settings/api.json b/public/language/zh-CN/admin/settings/api.json index 8458b5afad..09705a02d1 100644 --- a/public/language/zh-CN/admin/settings/api.json +++ b/public/language/zh-CN/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "设置", "lead-text": "从此处,您可以配置对 NodeBB 中 Write API 的访问。", "intro": "默认情况下,Write API 根据用户的会话cookie对用户进行身份验证,但 NodeBB 也支持通过此页面生成的令牌进行身份验证。", + "warning": "请注意 - 将令牌视为密码。如果它们被泄露,你的账户应被视为受到影响。", "docs": "单击此处访问完整的 API 规范", "require-https": "要求 API 只能通过 HTTPS 调用", "require-https-caveat": "注意:一些负载均衡器可能会使用 HTTP 代理对 NodeBB 的请求,在此情况下此选项应保持关闭状态。", "uid": "用户ID", + "token": "令牌", "uid-help-text": "指定要与此令牌关联的用户ID。如果用户ID是 0, 它将被实危 最高 令牌,可以通过 _uid 参数假定其他用户的身份", "description": "说明", - "last-seen-ago": "最后一次使用", - "last-seen-on": "最后一次使用于", + "last-seen": "最后一次查看", + "created": "创建", + "create-token": "创建令牌", + "update-token": "更新令牌", + "master-token": "主令牌", "last-seen-never": "从未被使用过的键值", "no-description": "未指定说明。", - "token-on-save": "保存表单后将生成令牌" + "actions": "操作", + "edit": "编辑", + "roll": "滚动", + + "delete-confirm": "你确定要删除这个令牌吗?它将无法恢复。", + "roll-confirm": "你确定要重新生成该令牌吗?旧令牌将被立刻废止,并且无法恢复。" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/email.json b/public/language/zh-CN/admin/settings/email.json index 019d8cbdc3..8f9081112f 100644 --- a/public/language/zh-CN/admin/settings/email.json +++ b/public/language/zh-CN/admin/settings/email.json @@ -42,7 +42,7 @@ "subscriptions.hour-help": "请输入一个代表小时的数字来发送计划的电子邮件摘要 (例如,对于午夜,0,对于下午5:00,17)。 请记住,这是根据服务器本身的时间,可能与您的系统时钟不完全匹配。
服务器的大致时间为:
下一个每日摘要被计划在发送", "notifications.remove-images": "从电子邮件通知中删除图像", "require-email-address": "要求新用户指定电子邮箱地址", - "require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means new users will have to enter and confirm an email address in order to proceed with registration and subsequent access to the forum. It does not ensure user will enter a real email address, nor even an address they own.", + "require-email-address-warning": "默认情况下,用户可以选择不输入电子邮件地址,将该区域留空。启用这个选项意味着新用户必须输入并确认一个电子邮件地址,以便继续注册和随后访问论坛。这并不确保用户会输入一个真实的电子邮件地址,甚至是他们自己的地址。", "send-validation-email": "添加或更改电子邮件时发送验证电子邮件", "include-unverified-emails": "向尚未明验证其电子邮箱的人发送电子邮件", "include-unverified-warning": "默认情况下,账号有邮件地址关联的用户是已核实的用户,但有些情况下不是这样(例如,单点登录,遗留用户等等)。您自行承担启用此设置的风险——发送邮件给未核实的用户可能会违反地区性的反垃圾邮件法律。", diff --git a/public/language/zh-CN/admin/settings/general.json b/public/language/zh-CN/admin/settings/general.json index ceb249179d..92ff2690c5 100644 --- a/public/language/zh-CN/admin/settings/general.json +++ b/public/language/zh-CN/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "一般设置", + "on-this-page": "在该页面:", "site-settings": "站点设置", "title": "站点标题", "title.short": "短标题", "title.short-placeholder": "如果没有指定短标题,将会使用站点标题", "title.url": "标题链接地址", "title.url-placeholder": "网站标题链接", - "title.url-help": "用户点击标题时将会跳转到此地址。如果留空,用户将会跳转到论坛首页。
注意:此处不是在电子邮件等地方使用的外部 URL,它应该由配置文件 config.json 中的 url 属性指定。", + "title.url-help": "当标题被点击时,将向用户发送该地址。如果留空,用户将跳转到论坛索引页面。注意:这不是在电子邮件中使用的外部URL,这由config.json中的url属性设置。", "title.name": "您的社区名称", "title.show-in-header": "在顶部显示站点标题", "browser-title": "浏览器标题", @@ -16,7 +18,7 @@ "description": "站点描述", "keywords": "站点关键字", "keywords-placeholder": "描述您的社区的关键字(以逗号分隔)", - "logo": "站点 Logo", + "logo-and-icons": "网站徽标与图标", "logo.image": "图像", "logo.image-placeholder": "要在论坛标题上显示的 Logo 的路径", "logo.upload": "上传", diff --git a/public/language/zh-CN/admin/settings/guest.json b/public/language/zh-CN/admin/settings/guest.json index db8a11858a..c9ebe43739 100644 --- a/public/language/zh-CN/admin/settings/guest.json +++ b/public/language/zh-CN/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "设置", + "guest-settings": "访客设置", "handles.enabled": "允许游客用户名", "handles.enabled-help": "这个选项将允许游客使用一个额外的输入框来设置发帖时的用户名,如果被禁用,仅会统一显示为“游客”", "topic-views.enabled": "将来自游客的浏览记入帖子的浏览数", diff --git a/public/language/zh-CN/admin/settings/navigation.json b/public/language/zh-CN/admin/settings/navigation.json index 1aa63c32a5..78aa03c388 100644 --- a/public/language/zh-CN/admin/settings/navigation.json +++ b/public/language/zh-CN/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "导航", "icon": "图标:", "change-icon": "更改", "route": "路由:", @@ -12,7 +13,7 @@ "groups": "群组:", "open-new-window": "在新窗口中打开", "dropdown": "下拉列表", - "dropdown-placeholder": "Place your dropdown menu items below, ie:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", + "dropdown-placeholder": "将你的下拉菜单项目放在下面,即:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", "btn.delete": "删除", "btn.disable": "禁用", diff --git a/public/language/zh-CN/admin/settings/post.json b/public/language/zh-CN/admin/settings/post.json index 14326753ed..8d6ebf9153 100644 --- a/public/language/zh-CN/admin/settings/post.json +++ b/public/language/zh-CN/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "通用", "sorting": "帖子排序", "sorting.post-default": "默认帖子排序", "sorting.oldest-to-newest": "从旧到新", @@ -23,10 +24,8 @@ "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.title-length": "标题长度", + "restrictions.post-length": "帖子字数", "restrictions.days-until-stale": "主题过时的天数", "restrictions.stale-help": "如果某个主题被视为“过时”,则会向尝试回复该主题的用户显示警告。", "timestamp": "时间戳", @@ -41,10 +40,9 @@ "teaser.last-reply": "最后– 显示最新回复,如果没有回复,则显示“无回复”占位符", "teaser.first": "第一", "showPostPreviewsOnHover": "鼠标悬停时显示帖子预览", - "unread": "未读设置", + "unread-and-recent": "未读与最近设置", "unread.cutoff": "未读截止的天数", "unread.min-track-last": "跟踪最后阅读之前的主题最小帖子", - "recent": "最近设置", "recent.max-topics": "/recent 页面的最大主题数", "recent.categoryFilter.disable": "禁用对 /recent 页面上忽略类别中的主题进行过滤", "signature": "签名设置", diff --git a/public/language/zh-CN/admin/settings/reputation.json b/public/language/zh-CN/admin/settings/reputation.json index 195bf8fb3e..0212a58aec 100644 --- a/public/language/zh-CN/admin/settings/reputation.json +++ b/public/language/zh-CN/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "当举报被解决时做以下事", "flags.action-on-reject": "当举报被拒绝时做以下事", "flags.action.nothing": "不做任何事", - "flags.action.rescind": "撤回发送给版主/管理员的通知" + "flags.action.rescind": "撤销发给版主/管理员的通知" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/social.json b/public/language/zh-CN/admin/settings/social.json index 0882ee95e9..b76f8bb5d1 100644 --- a/public/language/zh-CN/admin/settings/social.json +++ b/public/language/zh-CN/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "帖子分享", - "info-plugins-additional": "插件可以增加可选的用于分享帖子的网络。", - "save-success": "已成功保存帖子分享网络。" + "info-plugins-additional": "插件可以增加可选的用于分享帖子的网络。" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/tags.json b/public/language/zh-CN/admin/settings/tags.json index 3f1afb0726..68503002ce 100644 --- a/public/language/zh-CN/admin/settings/tags.json +++ b/public/language/zh-CN/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "管理标签", "system-tags": "系统标签", "system-tags-help": "只有特权用户可以使用这些标签。", + "tags-per-topic": "每个主题的标签", "min-per-topic": "每个主题的最少标签数", "max-per-topic": "每个主题的最多标签数", "min-length": "标签名称最小长度", diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json index 419ee8c7b7..1f0a71353e 100644 --- a/public/language/zh-CN/admin/settings/user.json +++ b/public/language/zh-CN/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "自我介绍的最大长度", "terms-of-use": "论坛使用条款 (留空即可禁用)", "user-search": "用户搜索", - "user-search-results-per-page": "展示的结果数量", + "user-search-results-per-page": "在搜索结果中显示的用户数", "default-user-settings": "默认用户设置", "show-email": "显示邮箱", "show-fullname": "显示全名", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 298b488e34..a1df0db9e5 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "用户“%1”还没有设置邮箱。", "email-confirm-failed": "我们无法确认您的电子邮箱,请重试", "confirm-email-already-sent": "确认邮件已发出,如需重新发送请等待 %1 分钟后再试。", + "confirm-email-expired": "确认邮件已过期。", "sendmail-not-found": "无法找到 sendmail 可执行程序,请确保 sendmail 已经安装并可被运行 NodeBB 的用户执行", "digest-not-enabled": "此用户未开启摘要通知,或系统配置默认不发送摘要", "username-too-short": "用户名太短", @@ -92,7 +93,7 @@ "already-posting": "您已在发布帖子", "tag-too-short": "请输入一个更长的标签。标签应当包含不少于 %1 个字符", "tag-too-long": "请输入一个更短的标签。标签不能超过 %1 个字符", - "tag-not-allowed": "Tag not allowed", + "tag-not-allowed": "标签不被允许", "not-enough-tags": "没有足够的标签。主题必须至少有 %1 个标签。", "too-many-tags": "标签过多。主题不能拥有超过 %1 个标签。", "cant-use-system-tag": "您不能使用此系统标签。", diff --git a/public/language/zh-CN/flags.json b/public/language/zh-CN/flags.json index c4efe9e315..17e3d32ede 100644 --- a/public/language/zh-CN/flags.json +++ b/public/language/zh-CN/flags.json @@ -3,27 +3,27 @@ "reports": "报告", "first-reported": "首次报告", "no-flags": "啊哈!没发现任何的举报。", - "x-flags-found": "%1 flag(s) found.", + "x-flags-found": "发现%1个标志。", "assignee": "受委托人", "update": "更新", "updated": "已更新", "resolved": "已解决", "target-purged": "被举报的内容已经被清除,不再可用。", - "target-aboutme-empty": "This user has no "About Me" set.", + "target-aboutme-empty": "这个用户没有设置 "关于我" 。", "graph-label": "日举报", "quick-filters": "快速过滤器", "filter-active": "该列中有一个或更多激活的过滤器", "filter-reset": "删除过滤器", "filters": "过滤器选项", - "filter-reporterId": "Reporter", - "filter-targetUid": "Reportee", + "filter-reporterId": "报道人", + "filter-targetUid": "报告人", "filter-type": "举报类型", "filter-type-all": "所有内容", "filter-type-post": "帖子", "filter-type-user": "用户", "filter-state": "状态", - "filter-assignee": "Assignee", + "filter-assignee": "受让人", "filter-cid": "版块", "filter-quick-mine": "委托给我", "filter-cid-all": "全部版块", @@ -47,7 +47,7 @@ "notes": "举报备注", "add-note": "添加备注", - "edit-note": "Edit Note", + "edit-note": "编辑说明", "no-notes": "没有共享的备注内容。", "delete-note-confirm": "您确定要删除此举报备注吗?", "delete-flag-confirm": "您确定您要删除此举报吗?", diff --git a/public/language/zh-CN/global.json b/public/language/zh-CN/global.json index 8889a22824..6cd895b4b8 100644 --- a/public/language/zh-CN/global.json +++ b/public/language/zh-CN/global.json @@ -6,11 +6,11 @@ "403.message": "您似乎碰到了一个您没有访问权限的页面。", "403.login": "请您尝试登录后再试", "404.title": "未找到", - "404.message": "You seem to have stumbled upon a page that does not exist.
Return to the home page.
", + "404.message": "你似乎偶然发现了一个不存在的页面。
回到主页
", "500.title": "内部错误", "500.message": "哎呀!看来是哪里出错了!", "400.title": "错误的请求", - "400.message": "It looks like this link is malformed, please double-check and try again.
Return to the home page.
", + "400.message": "看起来这个链接是畸形的,请仔细检查并重新尝试。
回到主页
", "register": "注册", "login": "登录", "please_log_in": "请登录", @@ -20,7 +20,8 @@ "you_have_successfully_logged_in": "您已成功登录", "save_changes": "保存更改", "save": "保存", - "cancel": "Cancel", + "create": "创建", + "cancel": "取消", "close": "关闭", "pagination": "分页", "pagination.out_of": "%1 / %2", @@ -61,7 +62,7 @@ "posts": "帖子", "x-posts": "%1 个帖子", "x-topics": "%1 个主题", - "x-reputation": "%1 reputation", + "x-reputation": "%1声望", "best": "最佳", "controversial": "有争议的", "votes": "赞同", @@ -132,9 +133,9 @@ "edited": "已编辑", "disabled": "禁用", "select": "选择", - "copied": "Copied", + "copied": "已复制", "user-search-prompt": "输入以查找用户", "hidden": "隐藏", "sort": "排序", - "actions": "Actions" + "actions": "操作" } \ No newline at end of file diff --git a/public/language/zh-CN/groups.json b/public/language/zh-CN/groups.json index ad6acf9bfa..6048723964 100644 --- a/public/language/zh-CN/groups.json +++ b/public/language/zh-CN/groups.json @@ -1,5 +1,5 @@ { - "all-groups": "All groups", + "all-groups": "所有群组", "groups": "群组", "members": "成员", "view_group": "查看群组", diff --git a/public/language/zh-CN/modules.json b/public/language/zh-CN/modules.json index 4d1575eb85..c7ce0d5e37 100644 --- a/public/language/zh-CN/modules.json +++ b/public/language/zh-CN/modules.json @@ -1,11 +1,11 @@ { "chat.chatting_with": "与聊天", "chat.placeholder": "在此输入聊天消息,或者拖入图片,按下回车键以发送", - "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "您正在查看较旧的消息,点击此处转到最新消息。", - "chat.usernames-and-x-others": "%1 & %2 others", - "chat.chat-with-usernames": "Chat with %1", - "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", + "chat.placeholder.mobile": "在此输入聊天信息", + "chat.scroll-up-alert": "转到最近的信息", + "chat.usernames-and-x-others": "%1 和 %2 其他人", + "chat.chat-with-usernames": "与聊天", + "chat.chat-with-usernames-and-x-others": "与%1 & %2 和其他人聊天", "chat.send": "发送", "chat.no_active": "暂无聊天", "chat.user_typing": "%1 正在输入……", @@ -46,7 +46,7 @@ "composer.compose": "编写帮助", "composer.show_preview": "显示预览", "composer.hide_preview": "隐藏预览", - "composer.help": "Help", + "composer.help": "帮助", "composer.user_said_in": "%1 在 %2 中说:", "composer.user_said": "%1 说:", "composer.discard": "确定想要取消此帖?", @@ -69,11 +69,11 @@ "composer.schedule-date": "日期", "composer.schedule-time": "时间", "composer.cancel-scheduling": "取消定时", - "composer.change-schedule-date": "Change Date", + "composer.change-schedule-date": "更改日期", "composer.set-schedule-date": "设置日期", - "composer.discard-all-drafts": "Discard all drafts", - "composer.no-drafts": "You have no drafts", - "composer.discard-draft-confirm": "Do you want to discard this draft?", + "composer.discard-all-drafts": "丢弃所有的草稿", + "composer.no-drafts": "你没有草稿", + "composer.discard-draft-confirm": "你想丢弃这个草案吗?", "bootbox.ok": "确认", "bootbox.cancel": "取消", "bootbox.confirm": "确认", diff --git a/public/language/zh-CN/pages.json b/public/language/zh-CN/pages.json index b2e280ac12..8686915b05 100644 --- a/public/language/zh-CN/pages.json +++ b/public/language/zh-CN/pages.json @@ -14,6 +14,7 @@ "flagged-content": "举报管理", "ip-blacklist": "IP 黑名单", "post-queue": "发帖队列", + "registration-queue": "注册申请队列", "users/online": "在线用户", "users/latest": "最新用户", "users/sort-posts": "发帖最多的用户", @@ -49,7 +50,7 @@ "account/watched_categories": "%1 关注的版块", "account/bookmarks": "%1 收藏的帖子", "account/settings": "用户设置", - "account/settings-of": "Changing settings of %1", + "account/settings-of": "改变设置的 %1", "account/watched": "%1 关注的主题", "account/ignored": "%1 忽略的主题", "account/upvoted": "帖子被 %1 顶过", @@ -60,7 +61,7 @@ "account/uploads": "%1 上传的文件", "account/sessions": "已登录的会话", "confirm": "电子邮箱已确认", - "maintenance.text": "%1 is currently undergoing maintenance.
Please come back another time.", + "maintenance.text": "%1 目前正在进行维护,请下次再来。", "maintenance.messageIntro": "此外,管理员留下的消息:", "throttled.text": "%1 因负荷超载暂不可用。请稍后再来。" } \ No newline at end of file diff --git a/public/language/zh-CN/post-queue.json b/public/language/zh-CN/post-queue.json index 4901b5bbfd..865de66267 100644 --- a/public/language/zh-CN/post-queue.json +++ b/public/language/zh-CN/post-queue.json @@ -6,7 +6,7 @@ "enabling-help": "要启用此特性,跳转到设置→帖子→发帖队列然后启用发帖队列。", "back-to-list": "回到发帖队列", "user": "用户", - "when": "When", + "when": "当", "category": "版块", "title": "标题", "content": "内容", @@ -23,7 +23,7 @@ "notify": "通知", "notify-user": "通知用户", "confirm-reject": "您想要拒绝这个帖子吗?", - "confirm-remove": "Do you want to remove this post?", + "confirm-remove": "你想删除这个帖子吗?", "bulk-actions": "批量操作", "accept-all": "全部同意", "accept-selected": "同意选中项", @@ -31,10 +31,10 @@ "reject-all-confirm": "您想要拒绝全部帖子吗?", "reject-selected": "拒绝选中项", "reject-selected-confirm": "您确定要拒绝%1个选择的帖子吗?", - "remove-all": "Remove all", - "remove-all-confirm": "Do you want to remove all posts?", - "remove-selected": "Remove Selected", - "remove-selected-confirm": "Do you want to remove %1 selected posts?", + "remove-all": "移动全部", + "remove-all-confirm": "你想删除所有的帖子吗?", + "remove-selected": "移除所选内容", + "remove-selected-confirm": "你想删除%1的选定帖子吗?", "bulk-accept-success": "%1个帖子已接受", "bulk-reject-success": "%1个帖子已拒绝" } \ No newline at end of file diff --git a/public/language/zh-CN/recent.json b/public/language/zh-CN/recent.json index 2841867d25..a6017ede09 100644 --- a/public/language/zh-CN/recent.json +++ b/public/language/zh-CN/recent.json @@ -7,5 +7,5 @@ "alltime": "总计", "no_recent_topics": "暂无主题。", "no_popular_topics": "暂无热门主题。", - "load-new-posts": "Load new posts" + "load-new-posts": "加载新的帖子" } \ No newline at end of file diff --git a/public/language/zh-CN/register.json b/public/language/zh-CN/register.json index 6a0d65dc23..1a4e6ceded 100644 --- a/public/language/zh-CN/register.json +++ b/public/language/zh-CN/register.json @@ -1,6 +1,6 @@ { "register": "注册", - "already-have-account": "Already have an account?", + "already-have-account": "已经有了一个账户?", "cancel_registration": "取消注册", "help.email": "默认情况下,您的电子邮箱不会公开。", "help.username_restrictions": "全局唯一的用户名,长度 %1 到 %2 个字。其他人可以使用 @用户名 提及您。", diff --git a/public/language/zh-CN/tags.json b/public/language/zh-CN/tags.json index 0ff107df86..0a670ab040 100644 --- a/public/language/zh-CN/tags.json +++ b/public/language/zh-CN/tags.json @@ -1,11 +1,11 @@ { - "all-tags": "All tags", + "all-tags": "所有标签", "no_tag_topics": "此标签还没有主题帖。", - "no-tags-found": "No tags found", + "no-tags-found": "没有找到标签", "tags": "标签", "enter_tags_here": "在这里输入标签,每个标签 %1 到 %2 个字符。", "enter_tags_here_short": "输入标签...", "no_tags": "尚无标签。", "select_tags": "选择标签", - "tag-whitelist": "Tag Whitelist" + "tag-whitelist": "标签白名单" } \ No newline at end of file diff --git a/public/language/zh-CN/themes/harmony.json b/public/language/zh-CN/themes/harmony.json index 57e2def8d3..989f4bc30a 100644 --- a/public/language/zh-CN/themes/harmony.json +++ b/public/language/zh-CN/themes/harmony.json @@ -1,14 +1,16 @@ { - "skins": "Skins", - "collapse": "Collapse", - "expand": "Expand", - "login-register-to-search": "Login or register to search.", - "settings.title": "Theme settings", - "settings.enableQuickReply": "Enable quick reply", - "settings.centerHeaderElements": "Center header elements", - "settings.mobileTopicTeasers": "Show topic teasers on mobile", - "settings.stickyToolbar": "Sticky toolbar", - "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", - "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "theme-name": "Harmony 主题", + "skins": "皮肤", + "collapse": "折叠", + "expand": "展开", + "login-register-to-search": "登录或注册以进行搜索。", + "settings.title": "主题设置", + "settings.enableQuickReply": "启用快速回复", + "settings.centerHeaderElements": "标题元素居中", + "settings.mobileTopicTeasers": "在移动设备显示话题预告", + "settings.stickyToolbar": "附着工具条", + "settings.stickyToolbar.help": "主题和类别页面上的工具条将附着在页面顶部", + "settings.autohideBottombar": "自动隐藏底栏", + "settings.autohideBottombar.help": "当页面向下滚动时,移动设备视图的底栏将被隐藏", + "settings.chatModals": "启用聊天模式" } \ No newline at end of file diff --git a/public/language/zh-CN/themes/persona.json b/public/language/zh-CN/themes/persona.json index e7d1945303..18a9f2080f 100644 --- a/public/language/zh-CN/themes/persona.json +++ b/public/language/zh-CN/themes/persona.json @@ -1,10 +1,10 @@ { - "settings.title": "Theme settings", - "settings.intro": "You can customise your theme settings here. Settings are stored on a per-device basis, so you are able to have different settings on different devices (phone, tablet, desktop, etc.)", - "settings.mobile-menu-side": "Switch which side each mobile menu is on", - "settings.autoHidingNavbar": "Automatically hide the navbar on scroll", - "settings.autoHidingNavbar-xs": "Very small screens (e.g. phones in portrait mode)", - "settings.autoHidingNavbar-sm": "Smaller screens (e.g. phones, some tablets)", - "settings.autoHidingNavbar-md": "Medium sized screens (e.g. tablets in landscape mode)", - "settings.autoHidingNavbar-lg": "Larger screens (e.g. desktop computers)" + "settings.title": "主题设置", + "settings.intro": "你可以在这里定制你的主题设置。设置是以每个设备为基础存储的,所以你能够在不同的设备上有不同的设置(手机、平板电脑、桌面等)。", + "settings.mobile-menu-side": "移动端导航菜单切换到另一侧", + "settings.autoHidingNavbar": "滚动时自动隐藏导航条", + "settings.autoHidingNavbar-xs": "非常小的屏幕(如纵向模式的手机)。", + "settings.autoHidingNavbar-sm": "较小的屏幕(如手机、某些平板电脑)。", + "settings.autoHidingNavbar-md": "中等尺寸的屏幕(如横向模式的平板电脑)。", + "settings.autoHidingNavbar-lg": "较大的屏幕(如台式电脑)。" } \ No newline at end of file diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json index 0343131cbf..678e3c5ad1 100644 --- a/public/language/zh-CN/topic.json +++ b/public/language/zh-CN/topic.json @@ -36,7 +36,7 @@ "scheduled": "已定时", "moved": "已移动", "moved-from": "移自%1版 ", - "copy-code": "Copy Code", + "copy-code": "复制代码", "copy-ip": "复制IP", "ban-ip": "封禁 IP", "view-history": "编辑历史", @@ -102,7 +102,7 @@ "thread_tools.change_owner": "更改所有者", "thread_tools.select_category": "选择版块", "thread_tools.fork": "分割主题", - "thread_tools.tag": "Tag Topic", + "thread_tools.tag": "为主题新增标签", "thread_tools.delete": "删除主题", "thread_tools.delete-posts": "删除回复", "thread_tools.delete_confirm": "确定要删除此主题吗?", @@ -164,7 +164,7 @@ "composer.schedule": "定时", "composer.replying_to": "正在回复 %1", "composer.new_topic": "新主题", - "composer.editing": "编辑中", + "composer.editing-in": "在 1% 中编辑帖子", "composer.uploading": "正在上传...", "composer.thumb_url_label": "粘贴主题缩略图网址", "composer.thumb_title": "给此主题添加缩略图", diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json index f3e2c4ad08..572f914e5f 100644 --- a/public/language/zh-CN/user.json +++ b/public/language/zh-CN/user.json @@ -43,7 +43,7 @@ "followers": "粉丝", "following": "关注", "blocks": "屏蔽", - "blocked-users": "Blocked users", + "blocked-users": "屏蔽用户", "block_toggle": "屏蔽该用户", "block_user": "屏蔽用户", "unblock_user": "解除屏蔽用户", @@ -69,7 +69,7 @@ "upload_new_picture": "上传新头像", "upload_new_picture_from_url": "上传来自URL的新头像", "current_password": "当前密码", - "new_password": "New Password", + "new_password": "新密码", "change_password": "更改密码", "change_password_error": "无效的密码!", "change_password_error_wrong_current": "您的当前密码不正确!", @@ -117,8 +117,8 @@ "paginate_description": "使用分页式版块浏览", "topics_per_page": "每页主题数", "posts_per_page": "每页帖子数", - "category-topic-sort": "Category topic sort", - "topic-post-sort": "Topic post sort", + "category-topic-sort": "分类主题排序", + "topic-post-sort": "主题帖子排序", "max_items_per_page": "最大值 %1", "acp_language": "管理员页面语言", "notifications": "通知", @@ -141,6 +141,8 @@ "group-order-help": "选择群组然后使用箭头排列称号", "no-group-title": "不展示群组称号", "select-skin": "选择皮肤", + "default": "默认(%1)", + "no-skin": "不使用皮肤", "select-homepage": "选择首页", "homepage": "首页", "homepage_description": "选择一个页面作为论坛的首页,否则设置为 ‘空’ 使用默认首页。", @@ -172,8 +174,8 @@ "info.moderation-note.success": "版主备注已保存", "info.moderation-note.add": "添加备注", "sessions.description": "此页面允许您查看当前论坛的所有激活的会话(active session),并在需要的时候关闭它们.您可以通过注销您的账户来关闭自己的会话(session)", - "revoke-session": "Revoke Session", - "browser-version-on-platform": "%1 %2 on %3", + "revoke-session": "撤回会话", + "browser-version-on-platform": "%1 %2 在 %3", "consent.title": "您的权利与许可", "consent.lead": "本论坛将会收集与处理您的个人信息。", "consent.intro": "我们收集这些信息将仅用于个性化您于本社区的体验,和关联您的用户账号与您所发表的帖子。在注册过程中您需要提供一个用户名和邮箱地址,您也可以选择是否提供额外的个人信息,以完善您的用户资料。

在您的用户账号有效期内,我们将保留您的信息。您可以在任何时候通过删除您的账号,以撤回您的许可。您可以在任何时候通过您的权力与许可页面,获取一份您对本论坛的贡献的副本。

如果您有任何疑问,我们鼓励您与本论坛管理团队联系。", @@ -202,5 +204,5 @@ "emailUpdate.required": "此字段为必填。", "emailUpdate.change-instructions": "将向输入的电子邮箱地址发送一封带有唯一链接的确认电子邮件。访问该链接将验证您对该电子邮箱的所有权,它将在您的账号上处于活动状态。在任何时候,您都可以在您的账号页面更新存档的电子邮箱地址。", "emailUpdate.password-challenge": "请输入您的密码以验证账号所有权。", - "emailUpdate.pending": "Your email address has not yet been confirmed, but an email has been sent out requesting confirmation. If you wish to invalidate that request and send a new confirmation request, please fill in the form below." + "emailUpdate.pending": "您的电子邮件地址尚未被确认,但一封请求确认的电子邮件已发送了。如果您希望使该请求无效、并重新发送确认请求,请填写以下表格。" } \ No newline at end of file diff --git a/public/language/zh-CN/users.json b/public/language/zh-CN/users.json index 711ced9253..aa65b8ae82 100644 --- a/public/language/zh-CN/users.json +++ b/public/language/zh-CN/users.json @@ -6,7 +6,7 @@ "most_flags": "举报最多", "search": "搜索", "enter_username": "输入用户名搜索", - "search-user-for-chat": "搜索一个用户开始聊天:", + "search-user-for-chat": "搜索用户开始聊天", "load_more": "加载更多", "users-found-search-took": "找到 %1 位用户!耗时 %2 秒。", "filter-by": "过滤选项", diff --git a/public/language/zh-TW/admin/admin.json b/public/language/zh-TW/admin/admin.json index 86960c8017..f5814c10c4 100644 --- a/public/language/zh-TW/admin/admin.json +++ b/public/language/zh-TW/admin/admin.json @@ -4,6 +4,13 @@ "acp-title": "%1 | NodeBB 管理控制台", "settings-header-contents": "内容", + "changes-saved": "Changes Saved", + "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)" + "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", + "save-changes": "Save changes", + "min": "Min:", + "max": "Max:", + "view": "View", + "edit": "Edit" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/advanced/cache.json b/public/language/zh-TW/admin/advanced/cache.json index 02f2586f57..151b78e039 100644 --- a/public/language/zh-TW/admin/advanced/cache.json +++ b/public/language/zh-TW/admin/advanced/cache.json @@ -1,4 +1,5 @@ { + "cache": "Cache", "post-cache": "貼文快取", "group-cache": "Group Cache", "local-cache": "Local Cache", diff --git a/public/language/zh-TW/admin/advanced/database.json b/public/language/zh-TW/admin/advanced/database.json index 03bf08fc14..9b523b51e6 100644 --- a/public/language/zh-TW/admin/advanced/database.json +++ b/public/language/zh-TW/admin/advanced/database.json @@ -5,7 +5,7 @@ "uptime-seconds": "運行秒數", "uptime-days": "運行天數", - "mongo": "Mongo", + "mongo": "MongoDB", "mongo.version": "MongoDB 版本", "mongo.storage-engine": "儲存引擎", "mongo.collections": "集合", diff --git a/public/language/zh-TW/admin/advanced/errors.json b/public/language/zh-TW/admin/advanced/errors.json index 547effa250..1af43b0362 100644 --- a/public/language/zh-TW/admin/advanced/errors.json +++ b/public/language/zh-TW/admin/advanced/errors.json @@ -1,4 +1,5 @@ { + "errors": "Errors", "figure-x": "數量 %1", "error-events-per-day": "%1 事件/天", "error.404": "404 頁面不存在", diff --git a/public/language/zh-TW/admin/appearance/customise.json b/public/language/zh-TW/admin/appearance/customise.json index acc46d0a9a..af026c4b57 100644 --- a/public/language/zh-TW/admin/appearance/customise.json +++ b/public/language/zh-TW/admin/appearance/customise.json @@ -1,4 +1,5 @@ { + "customise": "Customise", "custom-css": "Custom CSS/SASS", "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", "custom-css.enable": "Enable Custom CSS/SASS", @@ -12,5 +13,8 @@ "custom-header.enable": "啟用自訂 Header", "custom-css.livereload": "啟用動態重載", - "custom-css.livereload.description": "啟用此功能可以在您點擊儲存時強制您帳戶下的每個設備上的所有會話進行重載" + "custom-css.livereload.description": "啟用此功能可以在您點擊儲存時強制您帳戶下的每個設備上的所有會話進行重載", + "bsvariables": "_variables.scss", + "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", + "bsvariables.enable": "Enable _variables.scss" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/appearance/skins.json b/public/language/zh-TW/admin/appearance/skins.json index ba0bf3b7cf..13b204409e 100644 --- a/public/language/zh-TW/admin/appearance/skins.json +++ b/public/language/zh-TW/admin/appearance/skins.json @@ -1,7 +1,16 @@ { + "skins": "Skins", + "bootswatch-skins": "Bootswatch Skins", + "custom-skins": "Custom Skins", + "add-skin": "Add Skin", + "save-custom-skins": "Save Custom Skins", + "save-custom-skins-success": "Custom skins saved successfully", + "custom-skin-name": "Custom Skin Name", + "custom-skin-variables": "Custom Skin Variables", "loading": "正在加載配色...", "homepage": "首頁", "select-skin": "選擇配色", + "revert-skin": "Revert Skin", "current-skin": "當前配色", "skin-updated": "配色已更新", "applied-success": "%1 配色已成功套用", diff --git a/public/language/zh-TW/admin/appearance/themes.json b/public/language/zh-TW/admin/appearance/themes.json index 23b7c948db..ea53bd0e5c 100644 --- a/public/language/zh-TW/admin/appearance/themes.json +++ b/public/language/zh-TW/admin/appearance/themes.json @@ -1,7 +1,9 @@ { + "themes": "Themes", "checking-for-installed": "正在檢查已安裝的佈景主題...", "homepage": "首頁", "select-theme": "選擇佈景主題", + "revert-theme": "Revert Theme", "current-theme": "當前佈景主題", "no-themes": "未發現已安裝的佈景主題", "revert-confirm": "確認恢復到 NodeBB 預設佈景主題?", diff --git a/public/language/zh-TW/admin/dashboard.json b/public/language/zh-TW/admin/dashboard.json index 01509f41b8..de215a568e 100644 --- a/public/language/zh-TW/admin/dashboard.json +++ b/public/language/zh-TW/admin/dashboard.json @@ -26,13 +26,13 @@ "updates": "更新", "running-version": "您正在運行 NodeBB v%1 .", "keep-updated": "請確保您已及時更新 NodeBB 以獲得最新的安全修補程式與 Bug 修復。", - "up-to-date": "

正在使用 最新版本

", - "upgrade-available": "

新的版本 (v%1) 已經發布。建議您 升級 NodeBB

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

這是一個已經過期的預發佈版本的 NodeBB,新的版本 (v%1) 已經發布。建議您 升級 NodeBB

", - "prerelease-warning": "

正在使用測試版 NodeBB。可能會出現意外的 Bug。

", + "up-to-date": "You are up-to-date ", + "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", + "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "論壇正處於開發模式,這可能使其暴露於潛在的危險之中;請聯繫您的系統管理員。", - "latest-lookup-failed": "

無法找到 NodeBB 的最新可用版本

", + "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", + "latest-lookup-failed": "Failed to look up latest available version of NodeBB", "notices": "提醒", "restart-not-required": "不需要重啟", diff --git a/public/language/zh-TW/admin/development/logger.json b/public/language/zh-TW/admin/development/logger.json index e7f398272b..6987c012c9 100644 --- a/public/language/zh-TW/admin/development/logger.json +++ b/public/language/zh-TW/admin/development/logger.json @@ -1,4 +1,5 @@ { + "logger": "Logger", "logger-settings": "日誌記錄器設定", "description": "啟用此選項後,日誌會在您的終端裡顯示。如果您註明了檔案路徑,日誌會被保存到該檔案中。HTTP 日誌可以幫助您收集論壇被誰,何時,以及什麼內容被訪問等統計資訊。在此基礎上,我們還提供 socket.io 事件日誌。結合 socket.io 日誌和 redis-cli 監控器,學習 NodeBB 的內部構造會更加方便。", "explanation": "勾選或反勾選日誌設定項即可啟用或禁用相應設定。無需重啟。", diff --git a/public/language/zh-TW/admin/extend/plugins.json b/public/language/zh-TW/admin/extend/plugins.json index 546f286f9a..281390c5b4 100644 --- a/public/language/zh-TW/admin/extend/plugins.json +++ b/public/language/zh-TW/admin/extend/plugins.json @@ -1,4 +1,5 @@ { + "plugins": "Plugins", "trending": "Trending", "installed": "已安裝", "active": "已啟用", diff --git a/public/language/zh-TW/admin/extend/rewards.json b/public/language/zh-TW/admin/extend/rewards.json index 924bc85f71..751e5d5efc 100644 --- a/public/language/zh-TW/admin/extend/rewards.json +++ b/public/language/zh-TW/admin/extend/rewards.json @@ -1,10 +1,12 @@ { "rewards": "獎勵", + "add-reward": "Add reward", "condition-if-users": "如果使用者的", "condition-is": "是:", "condition-then": "則:", "max-claims": "可獲取獎勵的次數", "zero-infinite": "無限制請輸入0", + "select-reward": "Select reward", "delete": "刪除", "enable": "啟用", "disable": "禁用", diff --git a/public/language/zh-TW/admin/extend/widgets.json b/public/language/zh-TW/admin/extend/widgets.json index 287bc76001..9c1584b264 100644 --- a/public/language/zh-TW/admin/extend/widgets.json +++ b/public/language/zh-TW/admin/extend/widgets.json @@ -1,4 +1,5 @@ { + "widgets": "Widgets", "available": "可用的小工具", "explanation": "從下拉選單中選擇一個小工具並拖放到樣板左邊的小工具區域。", "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", diff --git a/public/language/zh-TW/admin/manage/admins-mods.json b/public/language/zh-TW/admin/manage/admins-mods.json index d251180dc4..763ab27c1c 100644 --- a/public/language/zh-TW/admin/manage/admins-mods.json +++ b/public/language/zh-TW/admin/manage/admins-mods.json @@ -1,10 +1,11 @@ { + "manage-admins-and-mods": "Manage Admins & Mods", "administrators": "管理員", "global-moderators": "超級版主", "moderators": "Moderators", "no-global-moderators": "沒有超級版主", "no-sub-categories": "No subcategories", - "subcategories": "%1 subcategories", + "view-children": "View children (%1)", "no-moderators": "沒有版主", "add-administrator": "添加管理員", "add-global-moderator": "新增超級版主", diff --git a/public/language/zh-TW/admin/manage/categories.json b/public/language/zh-TW/admin/manage/categories.json index 6f79081a24..5172bf8f69 100644 --- a/public/language/zh-TW/admin/manage/categories.json +++ b/public/language/zh-TW/admin/manage/categories.json @@ -1,7 +1,11 @@ { + "manage-categories": "Manage Categories", + "add-category": "Add category", + "jump-to": "Jump to...", "settings": "版面設定", + "edit-category": "Edit Category", "privileges": "權限", - + "back-to-categories": "Back to categories", "name": "版面名稱", "description": "版面描述", "bg-color": "背景顏色", @@ -15,8 +19,11 @@ "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", "upload-image": "上傳圖片", + "upload": "Upload", + "select-icon": "Select Icon", "delete-image": "移除", "category-image": "版面圖片", + "image-and-icon": "Image & Icon", "parent-category": "上層版面", "optional-parent-category": "(可選)上層版面", "top-level": "Top Level", @@ -31,6 +38,7 @@ "disable": "禁用", "edit": "編輯", "analytics": "Analytics", + "view-category": "View category", "set-order": "Set order", "set-order-help": "Setting the order of the category will move this category to that order and update the order of other categories as necessary. Minimum order is 1 which puts the category at the top.", diff --git a/public/language/zh-TW/admin/manage/groups.json b/public/language/zh-TW/admin/manage/groups.json index 4e6c8c7236..75bcef17b2 100644 --- a/public/language/zh-TW/admin/manage/groups.json +++ b/public/language/zh-TW/admin/manage/groups.json @@ -1,4 +1,10 @@ { + "manage-groups": "Manage Groups", + "add-group": "Add group", + "edit-group": "Edit Group", + "back-to-groups": "Back to groups", + "view-group": "View group", + "icon-and-title": "Icon & Title", "name": "群組名", "badge": "獎章", "properties": "屬性", @@ -10,7 +16,7 @@ "edit": "編輯", "delete": "Delete", "privileges": "Privileges", - "download-csv": "CSV", + "members-csv": "Members (CSV)", "search-placeholder": "搜尋", "create": "建立群組", "description-placeholder": "一個關於你的群組的簡短描述", diff --git a/public/language/zh-TW/admin/manage/privileges.json b/public/language/zh-TW/admin/manage/privileges.json index 6d9e48d3f3..843c0b51d5 100644 --- a/public/language/zh-TW/admin/manage/privileges.json +++ b/public/language/zh-TW/admin/manage/privileges.json @@ -1,4 +1,6 @@ { + "manage-privileges": "Manage Privileges", + "discard-changes": "Discard changes", "global": "全域", "admin": "管理員", "group-privileges": "群組權限", diff --git a/public/language/zh-TW/admin/manage/tags.json b/public/language/zh-TW/admin/manage/tags.json index aba257aa7b..e7fac15d57 100644 --- a/public/language/zh-TW/admin/manage/tags.json +++ b/public/language/zh-TW/admin/manage/tags.json @@ -1,9 +1,11 @@ { + "manage-tags": "Manage Tags", "none": "您的論壇目前沒有帶有標籤的主題。", "bg-color": "背景顏色", "text-color": "文字顏色", "description": "透過點擊或者拖拉方式選擇標籤, 可同時使用 CTRL 來選擇多個標籤。", "create": "建立標籤", + "add-tag": "Add tag", "modify": "修改標籤", "rename": "重命名標籤", "delete": "刪除所選標籤", diff --git a/public/language/zh-TW/admin/manage/uploads.json b/public/language/zh-TW/admin/manage/uploads.json index e8a69ba6bd..e47793d32a 100644 --- a/public/language/zh-TW/admin/manage/uploads.json +++ b/public/language/zh-TW/admin/manage/uploads.json @@ -1,4 +1,5 @@ { + "manage-uploads": "Manage Uploads", "upload-file": "上傳檔案", "filename": "檔案名", "usage": "使用的貼文", diff --git a/public/language/zh-TW/admin/manage/users.json b/public/language/zh-TW/admin/manage/users.json index 29427c692e..15d1c53559 100644 --- a/public/language/zh-TW/admin/manage/users.json +++ b/public/language/zh-TW/admin/manage/users.json @@ -1,4 +1,5 @@ { + "manage-users": "Manage Users", "users": "使用者", "edit": "Actions", "make-admin": "設為管理員", @@ -49,6 +50,10 @@ "users.username": "使用者名", "users.email": "電子郵件", "users.no-email": "(no email)", + "users.validated": "Validated", + "users.not-validated": "Not Validated", + "users.validation-pending": "Validation Pending", + "users.validation-expired": "Validation Expired", "users.ip": "IP", "users.postcount": "發文數", "users.reputation": "聲望", diff --git a/public/language/zh-TW/admin/menu.json b/public/language/zh-TW/admin/menu.json index d8804bbfd0..a22836e04f 100644 --- a/public/language/zh-TW/admin/menu.json +++ b/public/language/zh-TW/admin/menu.json @@ -72,7 +72,9 @@ "development/info": "資訊", "rebuild-and-restart-forum": "部署並重啟論壇", + "rebuild-and-restart": "Rebuild & Restart", "restart-forum": "重啟論壇", + "restart": "Restart", "logout": "登出", "view-forum": "檢視論壇", diff --git a/public/language/zh-TW/admin/settings/api.json b/public/language/zh-TW/admin/settings/api.json index 746b99068b..671e5eeb90 100644 --- a/public/language/zh-TW/admin/settings/api.json +++ b/public/language/zh-TW/admin/settings/api.json @@ -3,17 +3,27 @@ "settings": "Settings", "lead-text": "From this page you can configure access to the Write API in NodeBB.", "intro": "By default, the Write API authenticates users based on their session cookie, but NodeBB also supports Bearer authentication via tokens generated via this page.", + "warning": "Be advised — treat tokens like passwords. If they are leaked, your account should be considered compromised.", "docs": "Click here to access the full API specification", "require-https": "Require API usage via HTTPS only", "require-https-caveat": "Note: Some installations involving load balancers may proxy their requests to NodeBB using HTTP, in which case this option should remain disabled.", "uid": "User ID", + "token": "Token", "uid-help-text": "Specify a User ID to associate with this token. If the user ID is 0, it will be considered a master token, which can assume the identity of other users based on the _uid parameter", "description": "Description", - "last-seen-ago": "Last used .", - "last-seen-on": "Last used on .", + "last-seen": "Last seen", + "created": "Created", + "create-token": "Create Token", + "update-token": "Update Token", + "master-token": "Master token", "last-seen-never": "This key has never been used.", "no-description": "No description specified.", - "token-on-save": "Token will be generated once form is saved" + "actions": "Actions", + "edit": "Edit", + "roll": "Roll", + + "delete-confirm": "Are you sure you wish to delete this token? It will not be recoverable.", + "roll-confirm": "Are you sure you wish to regenerate this token? The old token will be immediately revoked and will not be recoverable." } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/general.json b/public/language/zh-TW/admin/settings/general.json index 28f7187fee..5c5d13c0ab 100644 --- a/public/language/zh-TW/admin/settings/general.json +++ b/public/language/zh-TW/admin/settings/general.json @@ -1,11 +1,13 @@ { + "general-settings": "General Settings", + "on-this-page": "On this page:", "site-settings": "網站設定", "title": "網站標題", "title.short": "短標題", "title.short-placeholder": "如短標題為指定則會使用網站標題", "title.url": "Title Link URL", "title.url-placeholder": "網站標題連結", - "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.
Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", + "title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. Note: This is not the external URL used in emails, etc. That is set by the url property in config.json", "title.name": "您的社區名稱", "title.show-in-header": "在頂部顯示網站標題", "browser-title": "瀏覽器標題", @@ -16,7 +18,7 @@ "description": "網站描述", "keywords": "網站關鍵字", "keywords-placeholder": "描述您的社區的關鍵字,以逗號分隔", - "logo": "網站 Logo", + "logo-and-icons": "Site Logo & Icons", "logo.image": "圖檔", "logo.image-placeholder": "要在論壇標題上顯示的 Logo 的路徑", "logo.upload": "上傳", diff --git a/public/language/zh-TW/admin/settings/guest.json b/public/language/zh-TW/admin/settings/guest.json index a46b34a3f9..ca59f2b225 100644 --- a/public/language/zh-TW/admin/settings/guest.json +++ b/public/language/zh-TW/admin/settings/guest.json @@ -1,5 +1,6 @@ { "settings": "Settings", + "guest-settings": "Guest settings", "handles.enabled": "允許訪客使用者名", "handles.enabled-help": "這個選項將允許訪客使用一個額外的輸入框來設置發文時的使用者名,如果被禁用,僅會統一顯示為“訪客”", "topic-views.enabled": "Allow guests to increase topic view counts", diff --git a/public/language/zh-TW/admin/settings/navigation.json b/public/language/zh-TW/admin/settings/navigation.json index fd062ccc74..b9414b37e2 100644 --- a/public/language/zh-TW/admin/settings/navigation.json +++ b/public/language/zh-TW/admin/settings/navigation.json @@ -1,4 +1,5 @@ { + "navigation": "Navigation", "icon": "圖示:", "change-icon": "更改", "route": "路徑:", diff --git a/public/language/zh-TW/admin/settings/post.json b/public/language/zh-TW/admin/settings/post.json index 3b3bfd7f10..9446cf8e4d 100644 --- a/public/language/zh-TW/admin/settings/post.json +++ b/public/language/zh-TW/admin/settings/post.json @@ -1,4 +1,5 @@ { + "general": "General", "sorting": "貼文排序", "sorting.post-default": "預設貼文排序", "sorting.oldest-to-newest": "從舊到新", @@ -23,10 +24,8 @@ "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.title-length": "Title Length", + "restrictions.post-length": "Post Length", "restrictions.days-until-stale": "主題過時時間(天)", "restrictions.stale-help": "如果某個主題被視為“過時”,則會向嘗試回覆該主題的使用者顯示警告。", "timestamp": "時間郵戳", @@ -41,10 +40,9 @@ "teaser.last-reply": "最後– 顯示最新回覆,如果沒有回覆,則顯示“無回覆”佔位符", "teaser.first": "第一", "showPostPreviewsOnHover": "Show a preview of posts when mouse overed", - "unread": "未讀設定", + "unread-and-recent": "Unread & Recent Settings", "unread.cutoff": "未讀截止時間(天)", "unread.min-track-last": "跟蹤最後閱讀之前的主題最小貼文", - "recent": "最近設定", "recent.max-topics": "Maximum topics on /recent", "recent.categoryFilter.disable": "禁用對 /recent 頁面上忽略版面中的主題進行過濾", "signature": "簽名設定", diff --git a/public/language/zh-TW/admin/settings/reputation.json b/public/language/zh-TW/admin/settings/reputation.json index 6be88d9e23..a8786fef2d 100644 --- a/public/language/zh-TW/admin/settings/reputation.json +++ b/public/language/zh-TW/admin/settings/reputation.json @@ -27,5 +27,5 @@ "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", "flags.action.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification send to moderators/administrators" + "flags.action.rescind": "Rescind the notification sent to moderators/administrators" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/social.json b/public/language/zh-TW/admin/settings/social.json index aa16e3b8f5..56cacfef5a 100644 --- a/public/language/zh-TW/admin/settings/social.json +++ b/public/language/zh-TW/admin/settings/social.json @@ -1,5 +1,4 @@ { "post-sharing": "貼文分享", - "info-plugins-additional": "外掛可以增加額外用於分享貼文的社群媒體。", - "save-success": "已成功儲存貼文分享社群媒體。" + "info-plugins-additional": "外掛可以增加額外用於分享貼文的社群媒體。" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/tags.json b/public/language/zh-TW/admin/settings/tags.json index 7a2c2737a2..2c05edde66 100644 --- a/public/language/zh-TW/admin/settings/tags.json +++ b/public/language/zh-TW/admin/settings/tags.json @@ -3,6 +3,7 @@ "link-to-manage": "管理標籤", "system-tags": "System Tags", "system-tags-help": "Only privileged users will be able to use these tags.", + "tags-per-topic": "Tags per topic", "min-per-topic": "每個主題的最少標籤數", "max-per-topic": "每話題的最大標籤數", "min-length": "最短標籤長度", diff --git a/public/language/zh-TW/admin/settings/user.json b/public/language/zh-TW/admin/settings/user.json index 2e725725ea..d4b46ea15a 100644 --- a/public/language/zh-TW/admin/settings/user.json +++ b/public/language/zh-TW/admin/settings/user.json @@ -59,7 +59,7 @@ "max-about-me-length": "自我介紹的最大長度", "terms-of-use": "論壇使用條款 (留空即可禁用)", "user-search": "用戶搜尋", - "user-search-results-per-page": "顯示的結果數量", + "user-search-results-per-page": "Number of users to display in search results", "default-user-settings": "預設使用者設定", "show-email": "顯示郵箱", "show-fullname": "顯示全名", diff --git a/public/language/zh-TW/error.json b/public/language/zh-TW/error.json index e8006eaa3e..a7f3a3fb44 100644 --- a/public/language/zh-TW/error.json +++ b/public/language/zh-TW/error.json @@ -42,6 +42,7 @@ "user-doesnt-have-email": "User \"%1\" does not have an email set.", "email-confirm-failed": "我們無法確認您的電子信箱,請重試", "confirm-email-already-sent": "確認郵件已發出,如需重新發送請等待 %1 分鐘後再試。", + "confirm-email-expired": "Confirmation email expired", "sendmail-not-found": "無法找到 sendmail 可執行檔,請確保 sendmail 已經安裝並可被運行 NodeBB 的系統帳戶執行", "digest-not-enabled": "此使用者未開啟摘要通知,或系統設定預設不發送摘要", "username-too-short": "使用者名太短", diff --git a/public/language/zh-TW/global.json b/public/language/zh-TW/global.json index 55930be7e6..191be4a230 100644 --- a/public/language/zh-TW/global.json +++ b/public/language/zh-TW/global.json @@ -20,6 +20,7 @@ "you_have_successfully_logged_in": "您已成功登入", "save_changes": "儲存更改", "save": "儲存", + "create": "Create", "cancel": "Cancel", "close": "關閉", "pagination": "分頁", diff --git a/public/language/zh-TW/modules.json b/public/language/zh-TW/modules.json index 54f06dd5fd..f20afdb943 100644 --- a/public/language/zh-TW/modules.json +++ b/public/language/zh-TW/modules.json @@ -2,7 +2,7 @@ "chat.chatting_with": "與聊天", "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", "chat.placeholder.mobile": "Type chat message here", - "chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.", + "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", diff --git a/public/language/zh-TW/pages.json b/public/language/zh-TW/pages.json index a2ae6ce15e..f8df8838a0 100644 --- a/public/language/zh-TW/pages.json +++ b/public/language/zh-TW/pages.json @@ -14,6 +14,7 @@ "flagged-content": "舉報管理", "ip-blacklist": "IP 黑名單", "post-queue": "貼文隊列", + "registration-queue": "Registration Queue", "users/online": "線上使用者", "users/latest": "最新使用者", "users/sort-posts": "發文最多的使用者", diff --git a/public/language/zh-TW/social.json b/public/language/zh-TW/social.json index 7ebb50c0c7..ca4c515412 100644 --- a/public/language/zh-TW/social.json +++ b/public/language/zh-TW/social.json @@ -1,10 +1,10 @@ { - "sign-in-with-twitter": "Sign in with Twitter", - "sign-up-with-twitter": "Sign up with Twitter", - "sign-in-with-github": "Sign in with Github", - "sign-up-with-github": "Sign up with Github", - "sign-in-with-google": "Sign in with Google", - "sign-up-with-google": "Sign up with Google", - "log-in-with-facebook": "Log in with Facebook", - "continue-with-facebook": "Continue with Facebook" + "sign-in-with-twitter": "以Twitter登入", + "sign-up-with-twitter": "以Twitter註冊", + "sign-in-with-github": "以Github登入", + "sign-up-with-github": "以Github註冊", + "sign-in-with-google": "以Google登入", + "sign-up-with-google": "以Google註冊", + "log-in-with-facebook": "以Facebook登入", + "continue-with-facebook": "以Facebook繼續使用" } \ No newline at end of file diff --git a/public/language/zh-TW/themes/harmony.json b/public/language/zh-TW/themes/harmony.json index 57e2def8d3..f915155306 100644 --- a/public/language/zh-TW/themes/harmony.json +++ b/public/language/zh-TW/themes/harmony.json @@ -1,4 +1,5 @@ { + "theme-name": "Harmony Theme", "skins": "Skins", "collapse": "Collapse", "expand": "Expand", @@ -10,5 +11,6 @@ "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", - "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down" + "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", + "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/zh-TW/topic.json b/public/language/zh-TW/topic.json index d03f2f25ec..5bc0248fdf 100644 --- a/public/language/zh-TW/topic.json +++ b/public/language/zh-TW/topic.json @@ -164,7 +164,7 @@ "composer.schedule": "Schedule", "composer.replying_to": "正在回覆 %1", "composer.new_topic": "新主題", - "composer.editing": "Editing", + "composer.editing-in": "Editing post in %1", "composer.uploading": "正在上傳...", "composer.thumb_url_label": "添加主題縮圖網址", "composer.thumb_title": "給此主題添加縮圖", diff --git a/public/language/zh-TW/user.json b/public/language/zh-TW/user.json index 910000ec5a..7eabad40d0 100644 --- a/public/language/zh-TW/user.json +++ b/public/language/zh-TW/user.json @@ -141,6 +141,8 @@ "group-order-help": "選擇群組然後使用箭頭排列稱號", "no-group-title": "不顯示群組稱號", "select-skin": "選擇配色", + "default": "Default (%1)", + "no-skin": "No Skin", "select-homepage": "選擇首頁", "homepage": "首頁", "homepage_description": "選擇一個頁面作為論壇的首頁,否則設置為 ‘空’ 使用預設首頁。", diff --git a/public/language/zh-TW/users.json b/public/language/zh-TW/users.json index 380b89d3f5..c6ac37ba66 100644 --- a/public/language/zh-TW/users.json +++ b/public/language/zh-TW/users.json @@ -6,7 +6,7 @@ "most_flags": "舉報最多", "search": "搜尋", "enter_username": "輸入使用者名搜索", - "search-user-for-chat": "Search for a user to start chat:", + "search-user-for-chat": "Search for a user to start chat", "load_more": "載入更多", "users-found-search-took": "找到 %1 位使用者!耗時 %2 秒。", "filter-by": "過濾選項", diff --git a/public/openapi/components/schemas/UserObject.yaml b/public/openapi/components/schemas/UserObject.yaml index 3b40834f73..d10acf63bc 100644 --- a/public/openapi/components/schemas/UserObject.yaml +++ b/public/openapi/components/schemas/UserObject.yaml @@ -622,6 +622,9 @@ UserObjectSlim: example: Not Banned UserObjectACP: type: object + required: + - uid + - username properties: uid: type: number @@ -643,6 +646,9 @@ UserObjectACP: type: string description: Email address associated with the user account example: dragonfruit@example.org + emailToConfirm: + type: string + description: Email address user used during signup, this email is not associated with the user until it is confirmed by clicking the link in the confirmation email. postcount: type: number example: 1000 @@ -675,6 +681,12 @@ UserObjectACP: type: number description: Whether the user has confirmed their email address or not example: 1 + 'email:expired': + type: boolean + description: True if confirmation email expired + 'email:pending': + type: boolean + description: True if confirmation email is still pending 'icon:text': type: string description: A single-letter representation of a username. This is used in the auto-generated icon given to users without an avatar diff --git a/public/openapi/components/schemas/admin/tokenObject.yaml b/public/openapi/components/schemas/admin/tokenObject.yaml new file mode 100644 index 0000000000..fab6c269c4 --- /dev/null +++ b/public/openapi/components/schemas/admin/tokenObject.yaml @@ -0,0 +1,24 @@ +TokenObject: + type: object + properties: + uid: + type: number + description: A valid user id + description: + type: string + description: Optional descriptor to differentiate tokens. + token: + type: string + description: An API token that can be called against this API via Bearer Authentication. + timestamp: + type: number + timestampISO: + type: string + description: An ISO 8601 formatted date string (complementing `timestamp`) + lastSeen: + type: number + nullable: true + lastSeenISO: + type: string + description: An ISO 8601 formatted date string (complementing `lastSeen`) + nullable: true \ No newline at end of file diff --git a/public/openapi/read.yaml b/public/openapi/read.yaml index 5343d130ae..34326163bd 100644 --- a/public/openapi/read.yaml +++ b/public/openapi/read.yaml @@ -82,14 +82,8 @@ paths: $ref: 'read/admin/dashboard/searches.yaml' "/api/admin/settings/{term}": $ref: 'read/admin/settings/term.yaml' - /api/admin/settings/languages: - $ref: 'read/admin/settings/languages.yaml' /api/admin/settings/navigation: $ref: 'read/admin/settings/navigation.yaml' - /api/admin/settings/homepage: - $ref: 'read/admin/settings/homepage.yaml' - /api/admin/settings/social: - $ref: 'read/admin/settings/social.yaml' /api/admin/settings/api: $ref: 'read/admin/settings/api.yaml' /api/admin/settings/email: diff --git a/public/openapi/read/admin/manage/categories.yaml b/public/openapi/read/admin/manage/categories.yaml index 36b8d4f9a8..b4e6102ac1 100644 --- a/public/openapi/read/admin/manage/categories.yaml +++ b/public/openapi/read/admin/manage/categories.yaml @@ -13,6 +13,8 @@ get: properties: categoriesPerPage: type: number + selectCategoryLabel: + type: string categoriesTree: type: array items: @@ -23,6 +25,8 @@ get: description: A category identifier name: type: string + description: + type: string disabled: type: number icon: diff --git a/public/openapi/read/admin/manage/registration.yaml b/public/openapi/read/admin/manage/registration.yaml index 3d7fad4487..63d72c0cc2 100644 --- a/public/openapi/read/admin/manage/registration.yaml +++ b/public/openapi/read/admin/manage/registration.yaml @@ -11,6 +11,8 @@ get: allOf: - type: object properties: + title: + type: string registrationQueueCount: type: number users: diff --git a/public/openapi/read/admin/settings/advanced.yaml b/public/openapi/read/admin/settings/advanced.yaml index 2cebeeb7e9..c6dfbbbcd9 100644 --- a/public/openapi/read/admin/settings/advanced.yaml +++ b/public/openapi/read/admin/settings/advanced.yaml @@ -11,6 +11,8 @@ get: allOf: - type: object properties: + title: + type: string groupsExemptFromMaintenanceMode: type: array items: diff --git a/public/openapi/read/admin/settings/api.yaml b/public/openapi/read/admin/settings/api.yaml index c36f11d9a6..66fb316c3a 100644 --- a/public/openapi/read/admin/settings/api.yaml +++ b/public/openapi/read/admin/settings/api.yaml @@ -11,14 +11,11 @@ get: allOf: - type: object properties: - lastSeen: - type: object - description: A key-value set of API tokens and a UNIX timestamp of when it was last used - properties: {} - additionalProperties: {} - lastSeenISO: - type: object - description: A key-value set of API tokens and an ISO 8601 formatted date string of when it was last used - properties: {} - additionalProperties: {} - - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file + title: + type: string + tokens: + type: array + items: + $ref: ../../../components/schemas/admin/tokenObject.yaml#/TokenObject + - $ref: ../../../components/schemas/Pagination.yaml#/Pagination + - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps diff --git a/public/openapi/read/admin/settings/email.yaml b/public/openapi/read/admin/settings/email.yaml index e2d9b76257..235d6cc833 100644 --- a/public/openapi/read/admin/settings/email.yaml +++ b/public/openapi/read/admin/settings/email.yaml @@ -11,6 +11,8 @@ get: allOf: - type: object properties: + title: + type: string emails: type: array items: diff --git a/public/openapi/read/admin/settings/homepage.yaml b/public/openapi/read/admin/settings/homepage.yaml deleted file mode 100644 index 3225629c37..0000000000 --- a/public/openapi/read/admin/settings/homepage.yaml +++ /dev/null @@ -1,23 +0,0 @@ -get: - tags: - - admin - summary: Get homepage settings - responses: - "200": - description: "" - content: - application/json: - schema: - allOf: - - type: object - properties: - routes: - type: array - items: - type: object - properties: - route: - type: string - name: - type: string - - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file diff --git a/public/openapi/read/admin/settings/languages.yaml b/public/openapi/read/admin/settings/languages.yaml deleted file mode 100644 index 64b1e6b54e..0000000000 --- a/public/openapi/read/admin/settings/languages.yaml +++ /dev/null @@ -1,35 +0,0 @@ -get: - tags: - - admin - summary: Get language settings - responses: - "200": - description: A JSON object containing available languages and settings - content: - application/json: - schema: - allOf: - - type: object - properties: - languages: - type: array - items: - type: object - properties: - name: - type: string - description: Localised name of the language - code: - type: string - description: A language code (similar to ISO-639) - dir: - type: string - description: Directionality of the language - enum: [ltr, rtl] - selected: - type: boolean - description: Denotes the currently selected default system language on the forum - autoDetectLang: - type: integer - description: Whether the forum will attempt to guess language based on browser's `Accept-Language` header - - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file diff --git a/public/openapi/read/admin/settings/navigation.yaml b/public/openapi/read/admin/settings/navigation.yaml index 05ffbc6bf7..c86f387997 100644 --- a/public/openapi/read/admin/settings/navigation.yaml +++ b/public/openapi/read/admin/settings/navigation.yaml @@ -111,4 +111,6 @@ get: navigation: type: array description: A clone of `enabled` + title: + type: string - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file diff --git a/public/openapi/read/admin/settings/post.yaml b/public/openapi/read/admin/settings/post.yaml index f8273c8b8c..9fdf7685c4 100644 --- a/public/openapi/read/admin/settings/post.yaml +++ b/public/openapi/read/admin/settings/post.yaml @@ -11,6 +11,8 @@ get: allOf: - type: object properties: + title: + type: string groupsExemptFromPostQueue: type: array items: diff --git a/public/openapi/read/admin/settings/social.yaml b/public/openapi/read/admin/settings/social.yaml deleted file mode 100644 index 7d32a17064..0000000000 --- a/public/openapi/read/admin/settings/social.yaml +++ /dev/null @@ -1,28 +0,0 @@ -get: - tags: - - admin - summary: Get post social sharing settings - responses: - "200": - description: "A JSON object containing post social sharing settings" - content: - application/json: - schema: - allOf: - - type: object - properties: - posts: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - class: - type: string - description: A FontAwesome icon string - activated: - type: boolean - - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file diff --git a/public/openapi/read/admin/settings/term.yaml b/public/openapi/read/admin/settings/term.yaml index 1801041776..86eaf50b4e 100644 --- a/public/openapi/read/admin/settings/term.yaml +++ b/public/openapi/read/admin/settings/term.yaml @@ -17,7 +17,17 @@ get: schema: allOf: - type: object - properties: {} + properties: + title: + type: string + routes: + type: array + postSharing: + type: array + languages: + type: array + autoDetectLang: + type: number additionalProperties: type: object description: Most of the settings pages have their values loaded on the client-side, so the settings are not exposed server-side. diff --git a/public/openapi/read/admin/settings/user.yaml b/public/openapi/read/admin/settings/user.yaml index 6dccccedee..89b0b1067a 100644 --- a/public/openapi/read/admin/settings/user.yaml +++ b/public/openapi/read/admin/settings/user.yaml @@ -11,6 +11,8 @@ get: allOf: - type: object properties: + title: + type: string notificationSettings: type: array items: diff --git a/public/openapi/read/config.yaml b/public/openapi/read/config.yaml index e4b44456d5..61fcfb4bba 100644 --- a/public/openapi/read/config.yaml +++ b/public/openapi/read/config.yaml @@ -108,6 +108,8 @@ get: type: boolean bootswatchSkin: type: string + defaultBootswatchSkin: + type: string composer:showHelpTab: type: boolean enablePostHistory: diff --git a/public/openapi/read/topic/topic_id.yaml b/public/openapi/read/topic/topic_id.yaml index ea163e05b4..0117775f39 100644 --- a/public/openapi/read/topic/topic_id.yaml +++ b/public/openapi/read/topic/topic_id.yaml @@ -224,6 +224,8 @@ get: type: string count: type: number + hasSingleImmediateReply: + type: boolean selfPost: type: boolean events: @@ -341,6 +343,10 @@ get: type: boolean posts:history: type: boolean + posts:upvote: + type: boolean + posts:downvote: + type: boolean posts:delete: type: boolean posts:view_deleted: diff --git a/public/openapi/write.yaml b/public/openapi/write.yaml index efc9c2bc46..101da200d1 100644 --- a/public/openapi/write.yaml +++ b/public/openapi/write.yaml @@ -198,6 +198,12 @@ paths: $ref: 'write/admin/analytics.yaml' /admin/analytics/{set}: $ref: 'write/admin/analytics/set.yaml' + /admin/tokens: + $ref: 'write/admin/tokens.yaml' + /admin/tokens/{token}: + $ref: 'write/admin/tokens/token.yaml' + /admin/tokens/{token}/roll: + $ref: 'write/admin/tokens/token/roll.yaml' /files/: $ref: 'write/files.yaml' /files/folder: diff --git a/public/openapi/write/admin/tokens.yaml b/public/openapi/write/admin/tokens.yaml new file mode 100644 index 0000000000..c5d9cb46df --- /dev/null +++ b/public/openapi/write/admin/tokens.yaml @@ -0,0 +1,32 @@ +post: + tags: + - admin + summary: create token + description: This operation creates a new API token for access to the Read and Write APIs. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + uid: + type: number + description: The generated token will make calls against NodeBB as this user. + example: 1 + description: + type: string + description: Optional descriptor to differentiate tokens. + example: 'My new token.' + responses: + '200': + description: token successfully created + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../components/schemas/Status.yaml#/Status + response: + $ref: ../../components/schemas/admin/tokenObject.yaml#/TokenObject diff --git a/public/openapi/write/admin/tokens/token.yaml b/public/openapi/write/admin/tokens/token.yaml new file mode 100644 index 0000000000..99f6718d93 --- /dev/null +++ b/public/openapi/write/admin/tokens/token.yaml @@ -0,0 +1,89 @@ +get: + tags: + - admin + summary: get token + description: This operation retrieves an API token and its associated metadata + parameters: + - in: path + name: token + schema: + type: string + required: true + description: a valid API token + example: 4eb506f8-a173-4693-a41b-e23604bc973a + responses: + '200': + description: token successfully retrieved + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../../components/schemas/Status.yaml#/Status + response: + $ref: ../../../components/schemas/admin/tokenObject.yaml#/TokenObject +put: + tags: + - admin + summary: update token + description: This operation updates a token's metadata. + parameters: + - in: path + name: token + schema: + type: string + required: true + description: a valid API token + example: 4eb506f8-a173-4693-a41b-e23604bc973a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + uid: + type: number + description: The generated token will make calls against NodeBB as this user. + example: 1 + description: + type: string + description: Optional descriptor to differentiate tokens. + example: 'My new token.' + responses: + '200': + description: Token metadata updated. + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../../components/schemas/Status.yaml#/Status + response: + $ref: ../../../components/schemas/admin/tokenObject.yaml#/TokenObject +delete: + tags: + - admin + summary: revoke token + description: This operation revokes a token and removes it from the database + parameters: + - in: path + name: token + schema: + type: string + required: true + description: a valid API token + example: 4eb506f8-a173-4693-a41b-e23604bc973a + responses: + '200': + description: Token metadata updated. + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../../components/schemas/Status.yaml#/Status + response: {} \ No newline at end of file diff --git a/public/openapi/write/admin/tokens/token/roll.yaml b/public/openapi/write/admin/tokens/token/roll.yaml new file mode 100644 index 0000000000..f0bc7ae4f2 --- /dev/null +++ b/public/openapi/write/admin/tokens/token/roll.yaml @@ -0,0 +1,25 @@ +post: + tags: + - admin + summary: regenerate token + description: This operation regenerates an existing token. The previous token is immediately invalidated. + parameters: + - in: path + name: token + schema: + type: string + required: true + description: a valid API token + example: 4eb506f8-a173-4693-a41b-e23604bc973a + responses: + '200': + description: Token regenerated. + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../../../components/schemas/Status.yaml#/Status + response: + $ref: ../../../../components/schemas/admin/tokenObject.yaml#/TokenObject \ No newline at end of file diff --git a/public/scss/admin/admin.scss b/public/scss/admin/admin.scss index c244fe3498..c7ee741967 100644 --- a/public/scss/admin/admin.scss +++ b/public/scss/admin/admin.scss @@ -1,6 +1,8 @@ -@import "./mixins"; +@import "fonts"; +@import "mixins"; +@import "common"; -@import "./header"; +@import "sidebar"; @import "./mobile"; @import "./general/dashboard"; @@ -9,12 +11,11 @@ @import "./manage/privileges"; @import "./manage/tags"; @import "./manage/groups"; +@import "./settings/api"; @import "./appearance/customise"; @import "./extend/plugins"; -@import "./extend/rewards"; @import "./extend/widgets"; -@import "./advanced/database"; -@import "./settings"; +@import "settings"; @import "./modules/alerts"; @import "./modules/selectable"; @@ -26,26 +27,29 @@ body { } .admin { - background: #fff; - font-size: 14px; - - h1 { - font-size: 35px; - } - .form-label, .form-check-label { - font-weight: 700; - } - .btn { - border-radius: 0; - } - .btn-outline-secondary { - color: $gray-700; - box-shadow: 0 1px 4px rgba(0, 0, 0, .4) !important; - &:hover { - background-color: $gray-200 !important; + .acp-page-container { + max-width: 800px; + margin: 0 auto; + display: flex; + flex-direction: column; + gap: $spacer * 1.5; + padding: $spacer * 1.5; + padding-top: 0; + } + .acp-page-main-header { + background-color: white; + } + + .settings, .categories, .category, .admins-mods { + hr { + color: $gray-500; } } + .form-control::placeholder, .bootstrap-tagsinput::placeholder { + color: $gray-500 !important; + } + // .floating-button can either be a container or the button itself .floating-button { position: fixed; @@ -72,22 +76,6 @@ body { background: $primary !important; } - .nodebb-logo { - img { - height: 31px; - margin-top: -8px; - margin-left: -7px; - vertical-align: -43%; - } - - @include box-header-font; - color: #fff; - } - - #breadcrumbs { - cursor: default; - } - @mixin acp-panel-heading() { padding: 7px 14px; border: 0; @@ -113,10 +101,6 @@ body { } } - .nav-header { - @include box-header-font; - } - .icon-container { .fa-nbb-none { border: 1px dotted black; @@ -140,27 +124,6 @@ body { } } - .navbar-static-top, .navbar-fixed-top { - box-shadow: 0px -3px 12px rgba(0, 0, 0, 0.5); - } - - .navbar-header > .navbar-toggle { - margin-right: 8px; - } - - .navbar-nav { - >li { - >#reconnect { - color: $gray-700; - } - - >#reconnect:focus, >#reconnect:hover { - color: $gray-700; - background-color: transparent; - } - } - } - #taskbar { display: none; /* not sure why I have to do this, but it only seems to show up on prod */ } @@ -171,57 +134,21 @@ body { } .bootstrap-tagsinput { + box-shadow: $input-box-shadow; width: 100%; - border: 0; - box-shadow: none; - padding-left: 0; input { - width: 100%; - margin-left: 1px; - margin-top: 9px; - border-bottom: 1px dotted #ccc !important; - padding-bottom: 5px; - padding-left: 0; + font-size: 0.875rem; + width: 64px; + padding: 0; } } } -// Allowing text to the right of an image-type brand -// See: https://github.com/twbs/bootstrap/commit/8e2348e9eda51296eb680192379ab37f10355ca3 -.navbar-brand > img { - display: inline-block; -} - -.category-settings-form { - h3 { - margin-top: 0; - cursor: pointer; - } - - h4 { - cursor: pointer; - } -} - -.category-preview { - cursor: pointer; - width: 100%; - height: 100px; - text-align: center; - color: white; - margin-top: 0; - - .icon { - width: 30px; - height: 30px; - line-height: 40px; - display: inline-block; - margin: 35px 5px 0 5px; - } +.dropdown-left .dropdown-menu { + --bs-position: start; } - -.category-dropdown-container.right .category-dropdown-menu { +.dropdown-right .dropdown-menu { --bs-position: end; } @@ -260,10 +187,6 @@ body { opacity: 0.5; } -form small { - color: $gray-700; -} - .caret { display: inline-block; width: 0; diff --git a/public/scss/admin/advanced/database.scss b/public/scss/admin/advanced/database.scss deleted file mode 100644 index a68332708c..0000000000 --- a/public/scss/admin/advanced/database.scss +++ /dev/null @@ -1,6 +0,0 @@ -.database-info { - span { - display:inline-block; - width:220px; - } -} diff --git a/public/scss/admin/common.scss b/public/scss/admin/common.scss new file mode 100644 index 0000000000..85cea66ed2 --- /dev/null +++ b/public/scss/admin/common.scss @@ -0,0 +1,73 @@ + +.form-label { + font-weight: 500; + font-size: $font-size-sm; + font-family: $font-family-base; + margin-bottom: 0; +} + +.form-text { + font-size: 0.75rem!important;; + font-family: $font-family-base; +} + +.tracking-tight { letter-spacing: -0.02em; } + +$btn-ghost-hover-color: mix($light, $dark, 90%); + +@mixin btn-ghost-base { + display: flex; + align-items: center; + justify-content: center; + gap: ($spacer * 0.5); + border-radius: $border-radius-sm; + border-width: 1px; + border-color: transparent; + background-color: transparent; + padding: ($spacer * 0.25) ($spacer * 0.5); + text-align: left; + --bs-text-opacity: 1; + color: rgb(73 80 87 / var(--bs-text-opacity)); + font-family: $font-family-secondary; + cursor: pointer; + &:hover, &.active { + background-color: $btn-ghost-hover-color; + color: rgb(73 80 87 / var(--bs-text-opacity)); + text-decoration: none; + } +} + +.btn-ghost { + @include btn-ghost-base(); + line-height: 1.5rem; + > i { + line-height: 1.5rem; + } +} + +.btn-ghost-sm { + @include btn-ghost-base(); + font-size: 0.875rem; + line-height: 1.25rem; + > i { + line-height: 1.25rem; + } +} + +.btn-outline { + @include btn-ghost-base(); + border-color: $border-color; +} + +.btn-outline-sm { + @include btn-ghost-base(); + border-color: $border-color; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.flex-basis-md-200 { + @include media-breakpoint-up(md) { + flex-basis: 200px!important; + } +} \ No newline at end of file diff --git a/public/scss/admin/extend/plugins.scss b/public/scss/admin/extend/plugins.scss index 70c441c190..54d98a90a3 100644 --- a/public/scss/admin/extend/plugins.scss +++ b/public/scss/admin/extend/plugins.scss @@ -1,50 +1,13 @@ .plugins { - padding-left: 0px; - - li { - list-style-type: none; - background: rgba(64, 64, 64, 0.05); - padding: 1em; - margin-bottom: 5px; - border-left: 5px solid #08c; - margin-left: -40px; - - h2 { - font-size: 16px; - margin: 0; - } - - p { - font-size: 12px; - } - } - .plugin-list.ui-sortable { li { - cursor: pointer; - - .fa-chevron-up { - margin-right: 10px; - } - - .fa-chevron-up, .fa-chevron-down { - border: 1px solid; - border-radius: 50%; - padding: 3px; - vertical-align: 1px; - background-color: white; - } - &:first-child .fa-chevron-up, &:last-child .fa-chevron-down { pointer-events: none; color: $gray-300; } + &:last-child { + border-bottom: none!important; + } } } - .controls .btn { - display: list-item; - width: 150px; - margin-bottom: 3px; - margin-left: 10px; - } } \ No newline at end of file diff --git a/public/scss/admin/extend/rewards.scss b/public/scss/admin/extend/rewards.scss deleted file mode 100644 index 4f20b44bf2..0000000000 --- a/public/scss/admin/extend/rewards.scss +++ /dev/null @@ -1,52 +0,0 @@ -#rewards { - ul { - list-style-type: none; - padding: 0px; - margin: 0px; - - > li { - border-bottom: 1px solid #ddd; - margin-bottom: 20px; - &:last-child { - border-bottom: 0; - } - } - } - - .rewards { width: 100%; } - - .card { - border-radius: 2px; - border-width: 2px; - color: #333; - - &.if-block { - border-color: $primary; - max-width: 33%; - } - &.this-block { - border-color: $warning; - max-width: 33%; - } - &.then-block { - border-color: $success; - max-width: 33%; - } - &.reward-block { - border-color: $success; - background-color: lighten($success, 15%); - color: #fff; - a, select, input { color: #fff; } - select > option { color: #333; } - width: 100%; - min-height: 110px; - } - } -} - -.page-admin-rewards { - #new { - bottom: calc(64px + $spacer); - background-color: $success; - } -} \ No newline at end of file diff --git a/public/scss/admin/fonts.scss b/public/scss/admin/fonts.scss new file mode 100644 index 0000000000..b3d140e5bc --- /dev/null +++ b/public/scss/admin/fonts.scss @@ -0,0 +1,19 @@ +@use "@fontsource/inter/scss/mixins" as Inter; +@use "@fontsource/poppins/scss/mixins" as Poppins; + +$weights: $font-weight-light, $font-weight-normal, $font-weight-semibold, $font-weight-bold; + +@include Inter.faces( + $weights: $weights, + $display: fallback, + $directory: "./plugins/core/inter" +); +@include Poppins.faces( + $weights: $weights, + $display: fallback, + $directory: "./plugins/core/poppins" +); + +.ff-base { font-family: $font-family-base !important; } +.ff-sans { font-family: $font-family-sans-serif !important; } +.ff-secondary { font-family: $font-family-secondary; } \ No newline at end of file diff --git a/public/scss/admin/general/dashboard.scss b/public/scss/admin/general/dashboard.scss index cb20576dd3..b21799e51c 100644 --- a/public/scss/admin/general/dashboard.scss +++ b/public/scss/admin/general/dashboard.scss @@ -5,47 +5,14 @@ max-width: 100% !important; } - #analytics-panel .card-header > div { - &.fa-expand { - display: none; - } - - font-family: $font-family-sans-serif; - font-weight: 600; - color: $gray-300; - padding-left: .5em; - - padding: .75em; - background-color: $gray-200; - color: $black; - cursor: pointer; - transition: all .4s; - - &.active { - display: inline; - } - } - .graph-container { - padding-right: 50px; position: relative; background: $body-bg; - &:hover { - .fa-expand { - color: $gray-800; - background-color: $black; - } - } - &.fullscreen { width: 100%; padding: 40px; - .fa-expand { - top: 20px; - } - .graph-legend { top: 7rem; left: 12rem; @@ -155,8 +122,6 @@ } } } - - } .version-check { @@ -167,24 +132,12 @@ transition: background, color 500ms ease-in; } - #unique-visitors, #active-users { - margin-left: -15px; - > div { - width: 25%; - font-size: 13px; - } - } - .pageview-stats { strong { font-size: 22px; } } - .motd textarea { - width: 100%; - } - .stats { .formatted-number { font-size: 22px; diff --git a/public/scss/admin/header.scss b/public/scss/admin/header.scss deleted file mode 100644 index 1d9b08b4b9..0000000000 --- a/public/scss/admin/header.scss +++ /dev/null @@ -1,159 +0,0 @@ -.header { - user-select: none; - position: relative; - background: #333; - width: 100%; - height: 200px; - margin-bottom: 50px; - font-size: 16px; - - #main-page-title { - position: absolute; - left: 48px; - bottom: 50px; - color: #aaa; - font-size: 47px; - font-weight: 300; - } - - .quick-actions { - position: static; - padding: 15px; - display: flex; - flex-direction: row-reverse; - margin: 0; - - > * { - margin-right: 20px; - } - - > .menu-button { - margin-right: 0; - padding: 0 5px; - } - - .alert { - font-size: 14px; - margin-bottom: 0px; - - &.alert-info { - background-color: #eee; - color: #333; - } - } - - .dropdown { - margin-right: 0px; - - .dropdown-toggle i { - padding: 0 1rem; - } - } - - .fa { - line-height: 44px; - font-size: 25px; - } - - #user_dropdown { - font-size: 25px; - color: #eee; - - i { - margin-top: 12px; - display: block; - } - } - } - - #acp-search { - input { - padding: 10px 20px; - width: 250px; - height: 44px; - background-color: rgba(0,0,0,.2); - border-radius: 3px; - box-shadow: none; - transition: .4s ease background-color; - - &:focus { - background-color: #eee; - color: #333; - } - } - - .dropdown:not(.open) { - &:before { - content: '/'; - border: 1px solid $gray-500; - border-radius: 5px; - padding: 0px 6px; - font-size: 12px; - font-weight: 600; - pointer-events: none; - - position: absolute; - top: 13px; - left: 1em; - } - - &:after { - content: attr(data-text); - position: absolute; - top: 13px; - left: 3em; - font-size: small; - font-weight: 600; - pointer-events: none; - } - - input { - color: transparent; - } - } - - .search-match { - font-weight: 700; - color: black; - } - } - - #main-menu > li { - padding-bottom: 10px; - } - - > ul { - list-style-type: none; - padding: 0px; - position: absolute; - bottom: -16px; - left: 50px; - - > li { - float: left; - margin-right: 30px; - border-bottom: 4px solid transparent; - transition: border-color 150ms linear; - - &:hover { - border-color: darken($primary, 20%); - } - - &.active { - border-color: $primary; - } - - > a { - color: white; - text-transform: uppercase; - text-decoration: none; - outline: none; - } - } - } - - .plugins-menu { - max-height: 50vh; - overflow-y: auto; - } -} diff --git a/public/scss/admin/manage/categories.scss b/public/scss/admin/manage/categories.scss index 8c5117990f..39c61f429f 100644 --- a/public/scss/admin/manage/categories.scss +++ b/public/scss/admin/manage/categories.scss @@ -1,51 +1,20 @@ div.categories { ul[data-cid] { - user-select: none; - list-style-type: none; - margin: 0; - padding: 0; - > li > ul > li { - margin-left: 4.5rem; - } - > li > a { - margin-left: 4.5rem; - } - .row { - margin-left: -15px; - margin-right: -15px; + padding-left: 3rem; } - > li li:last-child { - .row { - border-bottom: 0px; - } - } > li { - margin: 16px 0 24px 0; - &.placeholder { border: 1px dashed #2196F3; background-color: #E1F5FE; + width: 100%; } } } - .stats { - display: inline-block; - - li { - min-height: 0; - display: inline; - margin: 0 16px 0 0; - left: 0; - } - } - - .disabled > .category-row { - - .icon, .category-header, .description { + .icon, .title, .description { opacity: 0.5; } @@ -57,34 +26,15 @@ div.categories { .toggle { width: 24px; height: 24px; - border-radius: 50%; line-height: 24px; - text-align: center; - vertical-align: bottom; - background-size: cover; - float: left; - margin-right: 0px; cursor: pointer; - .fa { - font-size: 85%; - } } .information { cursor: move; - padding-left: 3rem; - } - - .category-header { - margin-top: 0; - margin-bottom: 8px; - } - - .description { - margin: 0; } - .children-placeholder{ + .children-placeholder { min-height: 20px; height: 20px; } diff --git a/public/scss/admin/manage/groups.scss b/public/scss/admin/manage/groups.scss index 8cad8083b2..24718ac43d 100644 --- a/public/scss/admin/manage/groups.scss +++ b/public/scss/admin/manage/groups.scss @@ -1,30 +1,5 @@ -.group { - [component="groups/members"] { - padding: 0; - tbody { - max-height: 500px; - display: block; - overflow-y: auto; - .member-name { - width: 100%; - } - } - } - - #group-icon { - cursor: pointer; - } -} - .groups { - #group-search { - margin-bottom: 10px; - } - .groups-list { - p { - margin: 0; - } td { max-width: 350px; } diff --git a/public/scss/admin/manage/tags.scss b/public/scss/admin/manage/tags.scss index dc7d608129..d242288997 100644 --- a/public/scss/admin/manage/tags.scss +++ b/public/scss/admin/manage/tags.scss @@ -1,22 +1,12 @@ .tags { .tag-list { - h3 { - min-width: 225px; - } .tag-row { - padding: 0.5rem; float: left; - margin-left: 0.5rem; - - .tag-item { - cursor: pointer; - display: inline-block; - font-size: 11px; - } &.ui-selected { background: lighten($success, 25%); + border-radius: $border-radius-sm; } &.ui-selecting { @@ -24,8 +14,4 @@ } } } - - .tag-topic-count { - font-size: 14px; - } } \ No newline at end of file diff --git a/public/scss/admin/mobile.scss b/public/scss/admin/mobile.scss index d0a509e8ac..6ebca156d8 100644 --- a/public/scss/admin/mobile.scss +++ b/public/scss/admin/mobile.scss @@ -1,191 +1,12 @@ -#mobile-menu { - display: none; -} - @media (max-width: 991px) { body { height: 100%; - } - - #panel { - background-color: inherit; - min-height: 100%; - } - - body, #panel, .slideout-menu { - -webkit-overflow-scrolling: touch; - } - - .header { - height: 58px; - box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.26); - position: fixed; - top: 0px; - z-index: 5; - - #main-page-title { - bottom: -31px; - font-size: 20px; - color: #FFF; - left: 52px; - font-weight: 400; - } - - #main-menu { - display: none; - } - } - - #mobile-menu { - width: 22px; - background: none; - border: none; - margin-right: 10px; - margin-left: -5px; - outline: none !important; - display: block; - - position: absolute; - top: 22px; - left: 22px; - - .bar { - width: 100%; - height: 2px; - background: #fff; - margin-bottom: 3px; - border-radius: 10px; - } - } - - #menu { - background-color: #1D1F20; - background-image: linear-gradient(145deg, #1D1F20, #404348); - - a { - color: #fff; - text-decoration: none; - } - - a:hover { - text-decoration: underline; - } - } - - .menu-header-title { - font-weight: 400; - letter-spacing: 0.5px; - margin: 0; - } - - .menu-section { - margin: 25px 0; - - &.quick-actions { - margin: 0; - - .button-group { - display: flex; - justify-content: center; - } - - .alert { - border-radius: 0; - - .span { - display: block; - } - } - } - } - - .menu-section-title { - text-transform: uppercase; - color: #85888d; - font-weight: 200; - font-size: 13px; - letter-spacing: 1px; - padding: 0 20px; - margin:0; - } - - .menu-section-list { - padding: 0; - margin: 10px 0; - list-style: none; - - a { - display: block; - padding: 10px 20px; - } - - a:hover { - background-color: rgba(255, 255, 255, 0.1); - text-decoration: none; - } - } - - #panel { - background: white; - min-height: 100%; - padding-top: 80px; - } - - .slideout-menu { - position: fixed; - left: 0; - top: 0; - bottom: 0; - right: 0; - z-index: 0; - width: 256px; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - display: none; - } - - - .slideout-panel { - position: relative; - } - - .slideout-open, - .slideout-open body, - .slideout-open .slideout-panel { - overflow: hidden; - overflow-y: hidden !important; - } - - .slideout-open .slideout-menu { - display: block; + overflow-y: scroll; + overflow-x: hidden; } html { height: 100%; overflow-y: hidden; } - - .slideout-open { - overflow-y: hidden; - height: 100%; - } - - body { - overflow-y: scroll; - overflow-x: hidden; - } } - -@media (max-width: 768px) { - .content-header, .settings-header { - font-size: 200%; - margin-bottom: 20px; - margin-left: -2px; - } - - - .dropdown-menu { - margin-top: -35px; - margin-right: -2px; - } -} \ No newline at end of file diff --git a/public/scss/admin/modules/search.scss b/public/scss/admin/modules/search.scss index 57b8d8613e..c25748f85a 100644 --- a/public/scss/admin/modules/search.scss +++ b/public/scss/admin/modules/search.scss @@ -1,12 +1,9 @@ -#acp-search { +.acp-search { .dropdown-menu { max-height: 75vh; overflow-y: auto; > li > a { - // &.focus { - // &:extend(.dropdown-menu>li>a:focus); - // } &:focus { outline: none; } diff --git a/public/scss/admin/overrides.scss b/public/scss/admin/overrides.scss new file mode 100644 index 0000000000..58922bd310 --- /dev/null +++ b/public/scss/admin/overrides.scss @@ -0,0 +1,62 @@ +$white: #fff !default; +$gray-100: #f8f9fa !default; +$gray-200: #e9ecef !default; +$gray-300: #dee2e6 !default; +$gray-400: #ced4da !default; +$gray-500: #adb5bd !default; +$gray-600: #6c757d !default; +$gray-700: #495057 !default; +$gray-800: #343a40 !default; +$gray-900: #212529 !default; +$black: #000 !default; + +$blue: #0d6efd !default; +$red: #dc3545 !default; +$yellow: #ffc107 !default; +$green: #198754 !default; +$cyan: #0dcaf0 !default; + +$body-color: $gray-800; +$text-muted: $gray-600 !default; + +// Custom fonts +$font-family-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + +$font-family-secondary: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$font-weight-semibold: 500 !default; +$font-size-base: 1rem !default; + +$link-decoration: none; +$link-hover-decoration: underline; + +// options +$enable-gradients: false; + +// no caret on dropdown-toggle +$enable-caret: false; + +// disable smooth scroll, this makes window.scrollTo(0,0) in ajaxify.js take x milliseconds +$enable-smooth-scroll: false; + +$enable-shadows: true; + + +// Buttons +$input-btn-padding-y: .4rem !default; +$input-btn-padding-x: 1rem !default; + +// Forms + +$input-padding-y: 0.5rem !default; +$input-padding-x: 0.75rem !default; +// $input-padding-y-sm: 0 !default; +// $input-padding-x-sm: 0 !default; +// $input-padding-y-lg: ($font-size-base * 1.25) !default; +// $input-padding-x-lg: 0 !default; + +$input-btn-focus-color: #c29ffa80 !default; +$input-border-radius: 0.25rem !default; +$input-focus-border-color: #c29ffa80 !default; +// change inset shadow to outset +$box-shadow-inset: 0 1px 2px rgba($black, .075) !default; + diff --git a/public/scss/admin/settings.scss b/public/scss/admin/settings.scss index e760d71787..e69de29bb2 100644 --- a/public/scss/admin/settings.scss +++ b/public/scss/admin/settings.scss @@ -1,20 +0,0 @@ -.settings { - .section-content { - border-left: 3px solid $primary; - - ul { - list-style-type: none; - font-size: 16px; - padding-left: 20px; - li:not(:last-child) { - margin-bottom: 5px; - } - a { - text-decoration: none; - &:hover{ - text-decoration: underline; - } - } - } - } -} \ No newline at end of file diff --git a/public/scss/admin/settings/api.scss b/public/scss/admin/settings/api.scss new file mode 100644 index 0000000000..41c8e61f92 --- /dev/null +++ b/public/scss/admin/settings/api.scss @@ -0,0 +1,7 @@ +.template-admin-settings-api { + [data-action="copy"]:active { + i::before { + content: '\f00c'; + } + } +} \ No newline at end of file diff --git a/public/scss/admin/sidebar.scss b/public/scss/admin/sidebar.scss new file mode 100644 index 0000000000..0a354fdd6c --- /dev/null +++ b/public/scss/admin/sidebar.scss @@ -0,0 +1,13 @@ +#sidebar-left, #offcanvas { + .btn-ghost, .btn-ghost-sm { + i { + color: $gray-500; + } + } + + .accordion-body { + .btn-ghost-sm { + padding-left: 38px!important; + } + } +} \ No newline at end of file diff --git a/public/scss/admin/vars.scss b/public/scss/admin/vars.scss deleted file mode 100644 index e5330b8924..0000000000 --- a/public/scss/admin/vars.scss +++ /dev/null @@ -1,45 +0,0 @@ -// system font family -// based on those in [bootstrap@5.0.0-alpha1](https://github.com/twbs/bootstrap/blob/b531bda07cbea2e124194aefe3b8597b3ac2578e/scss/_variables.scss#L386) -// and [wordpress admin](https://core.trac.wordpress.org/browser/trunk/src/wp-admin/css/common.css?rev=47835#L220) -// system-ui : supported by the latest browsers for this very purpose -// apple-system, BlinkMacSystemFont : iOS and MacOS -// "Segoe UI" : Windows Vista, 7, 8, 10 -// Roboto : Android 4.0+ -// Oxygen-Sans : KDE -// Ubuntu : Ubuntu -// Cantarell : GNOME -// "Helvetica Neue" : Mac OS X -// Helvetica : backup, better looking than Arial -// Arial : backup -// "Noto Sans" : broader language support on Android -// sans-serif : whatever the browser can give us -// "Apple Color Emoji" : Emoji on iOS and MacOS -// "Segoe UI Emoji", "Segoe UI Symbol" : Emoji on Windows -// "Noto Color Emoji" : Emoji on Android -$font-family-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -$font-family-sans-serif: $font-family-system; -$font-size-base: 0.875rem!default; - -$body-color: #666!default; -$light: #f5f5f5; - -// options -$enable-gradients: false; -// no caret on dropdown-toggle -$enable-caret: false; - -$font-size-base: 1rem !default; -$font-weight-base: 400 !default; - -// Buttons -$input-btn-padding-y: .4rem !default; -$input-btn-padding-x: 1rem !default; - -// Forms - -$input-padding-y: 0.4rem !default; -$input-padding-x: 0 !default; -$input-padding-y-sm: 0 !default; -$input-padding-x-sm: 0 !default; -$input-padding-y-lg: ($font-size-base * 1.25) !default; -$input-padding-x-lg: 0 !default; \ No newline at end of file diff --git a/public/scss/flags.scss b/public/scss/flags.scss index 5acc0c4beb..deb00fbab4 100644 --- a/public/scss/flags.scss +++ b/public/scss/flags.scss @@ -10,36 +10,3 @@ display: none; } } - -.page-manage-flags, .page-posts-flags { - .post-container > .row { - margin-bottom: 2rem; - } - - .flag-reporters { - font-size: 1.2rem; - - ul { - padding-left: 0; - - li { - list-style-type: none; - - img, .user-icon { - @include user-icon-style(18px, 1rem); - margin-right: 1rem; - } - } - } - } - - .flag-post-body { - img, .user-icon { - @include user-icon-style(24px, 1.5rem); - } - } - - [component="posts/flag/history"] .avatar { - margin-right: 1rem; - } -} \ No newline at end of file diff --git a/public/scss/generics.scss b/public/scss/generics.scss index 39c585bee4..3b28362c71 100644 --- a/public/scss/generics.scss +++ b/public/scss/generics.scss @@ -131,6 +131,12 @@ blockquote { border-color: $text-muted!important; } +.hidden-empty { + &:empty { + display: none!important; + } +} + // some classes that are used commonly in themes from bs3 .hidden, .hide { display: none!important; diff --git a/public/scss/global.scss b/public/scss/global.scss index 7fb8234708..394eec646e 100644 --- a/public/scss/global.scss +++ b/public/scss/global.scss @@ -6,3 +6,17 @@ ========== */ +// rtl fixes for text-break and code blocks +/*rtl:begin:ignore*/ +html[data-dir="rtl"] { + .text-break { + word-wrap: break-word!important; + word-break: break-word!important; + } + + [component="post/content"] code { + direction: ltr; + text-align: left; + } +} +/*rtl:end:ignore*/ diff --git a/public/scss/install.scss b/public/scss/install.scss index 831d2a84e1..df01ae3e0e 100644 --- a/public/scss/install.scss +++ b/public/scss/install.scss @@ -1,5 +1,3 @@ -@import "./admin/vars"; - .hidden, .hide { display: none!important; } @@ -49,19 +47,11 @@ } } -.btn, .form-control, .navbar { - border-radius: 0; -} - .container { font-size: 18px; margin-bottom: 100px; } -body, small, p, div { - font-family: $font-family-sans-serif; -} - .input-row { margin-bottom: 20px; @@ -69,14 +59,6 @@ body, small, p, div { margin-bottom: 5px; } - .help-text { - pointer-events: none; - line-height: 20px; - color: #888; - font-size: 85%; - display: none; - } - .input-field { border-right: 5px solid #FFF; } diff --git a/public/src/admin/admin.js b/public/src/admin/admin.js index d65e291ea7..e59e34ee3f 100644 --- a/public/src/admin/admin.js +++ b/public/src/admin/admin.js @@ -41,32 +41,54 @@ app.onDomReady(); }, 3600000); } - require(['hooks'], (hooks) => { - hooks.on('action:ajaxify.end', () => { + require(['hooks', 'admin/settings'], (hooks, Settings) => { + hooks.on('action:ajaxify.end', (data) => { + updatePageTitle(data.url); + setupRestartLinks(); showCorrectNavTab(); startLogoutTimer(); + + $('[data-bs-toggle="tooltip"]').tooltip({ + animation: false, + container: '#content', + }); + if ($('.settings').length) { - require(['admin/settings'], function (Settings) { - Settings.prepare(); - Settings.populateTOC(); - }); + Settings.prepare(); + } + if ($('[component="settings/toc"]').length) { + Settings.populateTOC(); } }); + hooks.on('action:ajaxify.start', function () { + require(['bootstrap'], function (boostrap) { + const offcanvas = boostrap.Offcanvas.getInstance('#offcanvas'); + if (offcanvas) { + offcanvas.hide(); + } + }); + }); }); function showCorrectNavTab() { - // show correct tab if url has # - if (window.location.hash) { - $('.nav-pills a[href="' + window.location.hash + '"]').tab('show'); + const accordionEl = $('[component="acp/accordion"]'); + let pathname = window.location.pathname; + if (pathname === '/admin') { + pathname = '/admin/dashboard'; + } + const selectedButton = accordionEl.find(`a[href="${pathname}"]`); + if (selectedButton.length) { + accordionEl.find('a').removeClass('active'); + accordionEl.find('.accordion-collapse').removeClass('show'); + selectedButton.addClass('active'); + selectedButton.parents('.accordion-collapse').addClass('show'); } } $(document).ready(function () { - if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { - require(['admin/modules/search'], function (search) { - search.init(); - }); - } + require(['admin/modules/search'], function (search) { + search.init(); + }); $('[component="logout"]').on('click', function () { require(['logout'], function (logout) { @@ -75,16 +97,25 @@ app.onDomReady(); return false; }); - configureSlidemenu(); setupNProgress(); + fixAccordionIds(); }); - $(window).on('action:ajaxify.contentLoaded', function (ev, data) { - selectMenuItem(data.url); - setupRestartLinks(); - require('material-design-lite'); - componentHandler.upgradeDom(); - }); + function fixAccordionIds() { + // fix mobile accordion, so it doesn't have same ids as desktop + // the same accordion partial is used in both places + const offcanvasAccordion = $('#offcanvas #accordionACP'); + offcanvasAccordion.attr('id', 'accordionACP-offcanvas'); + offcanvasAccordion.find('[data-bs-target]').each((i, el) => { + $(el).attr('data-bs-target', $(el).attr('data-bs-target') + '-offcanvas'); + }); + offcanvasAccordion.find('[data-bs-parent]').each((i, el) => { + $(el).attr('data-bs-parent', '#accordionACP-offcanvas'); + }); + offcanvasAccordion.find('.accordion-collapse').each((i, el) => { + $(el).attr('id', $(el).attr('id') + '-offcanvas'); + }); + } function setupNProgress() { require(['nprogress', 'hooks'], function (NProgress, hooks) { @@ -98,7 +129,7 @@ app.onDomReady(); }); } - function selectMenuItem(url) { + function updatePageTitle(url) { require(['translator'], function (translator) { url = url .replace(/\/\d+$/, '') @@ -113,17 +144,8 @@ app.onDomReady(); url = [config.relative_path, url].join('/'); let fallback; - $('#main-menu li').removeClass('active'); - $('#main-menu a').removeClass('active').filter('[href="' + url + '"]').each(function () { - const menu = $(this); - if (menu.parent().attr('data-link')) { - return; - } - - menu - .parent().addClass('active') - .parents('.menu-item').addClass('active'); - fallback = menu.text(); + $(`[component="acp/accordion"] a[href="${url}"]`).each(function () { + fallback = $(this).text(); }); let mainTitle; @@ -152,9 +174,6 @@ app.onDomReady(); translator.translate(pageTitle, function (title) { document.title = title.replace(/>/g, '>'); }); - translator.translate(mainTitle, function (text) { - $('#main-page-title').text(text); - }); }); } @@ -164,7 +183,7 @@ app.onDomReady(); // otherwise it can be unloaded when rebuild & restart is run // the client can't fetch the template file, resulting in an error benchpress.render('partials/toast', {}).then(function () { - $('.rebuild-and-restart').off('click').on('click', function () { + $('[component="rebuild-and-restart"]').off('click').on('click', function () { bootbox.confirm('[[admin/admin:alert.confirm-rebuild-and-restart]]', function (confirm) { if (confirm) { instance.rebuildAndRestart(); @@ -172,7 +191,7 @@ app.onDomReady(); }); }); - $('.restart').off('click').on('click', function () { + $('[component="restart"]').off('click').on('click', function () { bootbox.confirm('[[admin/admin:alert.confirm-restart]]', function (confirm) { if (confirm) { instance.restart(); @@ -182,62 +201,4 @@ app.onDomReady(); }); }); } - - function configureSlidemenu() { - require(['slideout'], function (Slideout) { - let env = utils.findBootstrapEnvironment(); - - const slideout = new Slideout({ - panel: document.getElementById('panel'), - menu: document.getElementById('menu'), - padding: 256, - tolerance: 70, - }); - - if (env === 'md' || env === 'lg') { - slideout.disableTouch(); - } - - $('#mobile-menu').on('click', function () { - slideout.toggle(); - }); - - $('#menu a').on('click', function () { - slideout.close(); - }); - - $(window).on('resize', function () { - slideout.close(); - - env = utils.findBootstrapEnvironment(); - if (['xxl', 'xl', 'lg'].includes(env)) { - slideout.disableTouch(); - $('#header').css({ - position: 'relative', - }); - } else { - slideout.enableTouch(); - $('#header').css({ - position: 'fixed', - }); - } - }); - - function onOpeningMenu() { - $('#header').css({ - top: ($('#panel').position().top * -1) + 'px', - position: 'absolute', - }); - } - - slideout.on('open', onOpeningMenu); - - slideout.on('close', function () { - $('#header').css({ - top: '0px', - position: 'fixed', - }); - }); - }); - } }()); diff --git a/public/src/admin/advanced/events.js b/public/src/admin/advanced/events.js index 91f87afd8f..112c76f985 100644 --- a/public/src/admin/advanced/events.js +++ b/public/src/admin/advanced/events.js @@ -16,6 +16,7 @@ define('admin/advanced/events', ['bootbox', 'alerts'], function (bootbox, alerts }); } }); + return false; }); $('.delete-event').on('click', function () { diff --git a/public/src/admin/appearance/customise.js b/public/src/admin/appearance/customise.js index 31a156cf3b..f7be05ae0f 100644 --- a/public/src/admin/appearance/customise.js +++ b/public/src/admin/appearance/customise.js @@ -8,10 +8,12 @@ define('admin/appearance/customise', ['admin/settings', 'ace/ace'], function (Se $('#customCSS').text($('#customCSS-holder').val()); $('#customJS').text($('#customJS-holder').val()); $('#customHTML').text($('#customHTML-holder').val()); + $('#customVariables').text($('#customVariables-holder').val()); initACE('customCSS', 'scss', '#customCSS-holder'); initACE('customJS', 'javascript', '#customJS-holder'); initACE('customHTML', 'html', '#customHTML-holder'); + initACE('customVariables', 'scss', '#customVariables-holder'); $('#save').on('click', function () { if ($('#enableLiveReload').is(':checked')) { diff --git a/public/src/admin/appearance/skins.js b/public/src/admin/appearance/skins.js index eb3574206d..9d3b7b92d3 100644 --- a/public/src/admin/appearance/skins.js +++ b/public/src/admin/appearance/skins.js @@ -1,7 +1,9 @@ 'use strict'; -define('admin/appearance/skins', ['translator', 'alerts'], function (translator, alerts) { +define('admin/appearance/skins', [ + 'translator', 'alerts', 'settings', +], function (translator, alerts, settings) { const Skins = {}; Skins.init = function () { @@ -11,6 +13,15 @@ define('admin/appearance/skins', ['translator', 'alerts'], function (translator, url: 'https://bootswatch.com/api/5.json', }).done(Skins.render); + settings.load('custom-skins', $('.custom-skin-settings')); + $('#save-custom-skins').on('click', function () { + settings.save('custom-skins', $('.custom-skin-settings'), function () { + alerts.success('[[admin/appearance/skins:save-custom-skins-success]]'); + }); + return false; + }); + + $('#skins').on('click', function (e) { let target = $(e.target); diff --git a/public/src/admin/dashboard.js b/public/src/admin/dashboard.js index d8bdd5386d..ab151a2bad 100644 --- a/public/src/admin/dashboard.js +++ b/public/src/admin/dashboard.js @@ -43,10 +43,6 @@ define('admin/dashboard', [ isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); - $('[data-bs-toggle="tooltip"]').tooltip({ - animation: false, - }); - setupRealtimeButton(); setupGraphs(function () { socket.emit('admin.rooms.getAll', Admin.updateRoomUsage); @@ -68,19 +64,19 @@ define('admin/dashboard', [ const html = '
' + '' + data.onlineRegisteredCount + '' + - '
[[admin/dashboard:active-users.users]]
' + + '
[[admin/dashboard:active-users.users]]
' + '
' + '
' + '' + data.onlineGuestCount + '' + - '
[[admin/dashboard:active-users.guests]]
' + + '
[[admin/dashboard:active-users.guests]]
' + '
' + '
' + '' + (data.onlineRegisteredCount + data.onlineGuestCount) + '' + - '
[[admin/dashboard:active-users.total]]
' + + '
[[admin/dashboard:active-users.total]]
' + '
' + '
' + '' + data.socketCount + '' + - '
[[admin/dashboard:active-users.connections]]
' + + '
[[admin/dashboard:active-users.connections]]
' + '
'; updateRegisteredGraph(data.onlineRegisteredCount, data.onlineGuestCount); @@ -397,8 +393,6 @@ define('admin/dashboard', [ }); }); - socket.emit('admin.rooms.getAll', Admin.updateRoomUsage); - initiateDashboard(); callback(); }); } @@ -571,7 +565,7 @@ define('admin/dashboard', [ function setupFullscreen() { const container = document.getElementById('analytics-panel'); const $container = $(container); - const btn = $container.find('.fa-expand'); + const btn = $container.find('#expand-analytics'); let fsMethod; let exitMethod; @@ -590,7 +584,6 @@ define('admin/dashboard', [ } if (fsMethod) { - btn.addClass('active'); btn.on('click', function () { if ($container.hasClass('fullscreen')) { document[exitMethod](); diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 6cd34a26d3..622908e9fe 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -31,7 +31,8 @@ define('admin/extend/plugins', [ pluginsList.on('click', 'button[data-action="toggleActive"]', function () { const pluginEl = $(this).parents('li'); pluginID = pluginEl.attr('data-plugin-id'); - const btn = $('[id="' + pluginID + '"] [data-action="toggleActive"]'); + // const btn = $('[id="' + pluginID + '"] [data-action="toggleActive"]'); + const btn = $(this); const pluginData = ajaxify.data.installed[pluginEl.attr('data-plugin-index')]; @@ -40,30 +41,28 @@ define('admin/extend/plugins', [ if (err) { return alerts.error(err); } - translator.translate(' [[admin/extend/plugins:plugin-item.' + (status.active ? 'deactivate' : 'activate') + ']]', function (buttonText) { - btn.html(buttonText); - btn.toggleClass('btn-warning', status.active).toggleClass('btn-success', !status.active); + btn.siblings('[data-action="toggleActive"]').removeClass('hidden'); + btn.addClass('hidden'); - // clone it to active plugins tab - if (status.active && !$('#active [id="' + pluginID + '"]').length) { - $('#active ul').prepend(pluginEl.clone(true)); - } + // clone it to active plugins tab + if (status.active && !$('#active [id="' + pluginID + '"]').length) { + $('#active ul').prepend(pluginEl.clone(true)); + } - // Toggle active state in template data - pluginData.active = !pluginData.active; - - alerts.alert({ - alert_id: 'plugin_toggled', - title: '[[admin/extend/plugins:alert.' + (status.active ? 'enabled' : 'disabled') + ']]', - message: '[[admin/extend/plugins:alert.' + (status.active ? 'activate-success' : 'deactivate-success') + ']]', - type: status.active ? 'warning' : 'success', - timeout: 5000, - clickfn: function () { - require(['admin/modules/instance'], function (instance) { - instance.rebuildAndRestart(); - }); - }, - }); + // Toggle active state in template data + pluginData.active = !pluginData.active; + + alerts.alert({ + alert_id: 'plugin_toggled', + title: '[[admin/extend/plugins:alert.' + (status.active ? 'enabled' : 'disabled') + ']]', + message: '[[admin/extend/plugins:alert.' + (status.active ? 'activate-success' : 'deactivate-success') + ']]', + type: status.active ? 'warning' : 'success', + timeout: 5000, + clickfn: function () { + require(['admin/modules/instance'], function (instance) { + instance.rebuildAndRestart(); + }); + }, }); }); } @@ -195,7 +194,19 @@ define('admin/extend/plugins', [ } let html = ''; activePlugins.forEach(function (plugin) { - html += '
  • ' + plugin + '
  • '; + html += ` +
  • + ${plugin} +
    +
    + +
    +
    + +
    +
    +
  • + `; }); if (!activePlugins.length) { translator.translate('[[admin/extend/plugins:none-active]]', function (text) { @@ -206,12 +217,12 @@ define('admin/extend/plugins', [ const list = $('#order-active-plugins-modal .plugin-list'); list.html(html).sortable(); - list.find('.fa-chevron-up').on('click', function () { + list.find('.move-up').on('click', function () { const item = $(this).parents('li'); item.prev().before(item); }); - list.find('.fa-chevron-down').on('click', function () { + list.find('.move-down').on('click', function () { const item = $(this).parents('li'); item.next().after(item); }); diff --git a/public/src/admin/extend/rewards.js b/public/src/admin/extend/rewards.js index 900ff3549a..f8f2deb478 100644 --- a/public/src/admin/extend/rewards.js +++ b/public/src/admin/extend/rewards.js @@ -95,16 +95,16 @@ define('admin/extend/rewards', ['alerts'], function (alerts) { html += '
    '; + html += ''; }); div.html(html); diff --git a/public/src/admin/manage/admins-mods.js b/public/src/admin/manage/admins-mods.js index ab873b7251..634436fd12 100644 --- a/public/src/admin/manage/admins-mods.js +++ b/public/src/admin/manage/admins-mods.js @@ -11,7 +11,7 @@ define('admin/manage/admins-mods', [ if (err) { return alerts.error(err); } - alerts.success('[[admin/manage/users:alerts.make-admin-success]]'); + $('#admin-search').val(''); if ($('.administrator-area [data-uid="' + ui.item.user.uid + '"]').length) { @@ -36,7 +36,6 @@ define('admin/manage/admins-mods', [ if (err) { return alerts.error(err.message); } - alerts.success('[[admin/manage/users:alerts.remove-admin-success]]'); userCard.remove(); }); } @@ -45,7 +44,6 @@ define('admin/manage/admins-mods', [ autocomplete.user($('#global-mod-search'), function (ev, ui) { api.put('/groups/global-moderators/membership/' + ui.item.user.uid).then(() => { - alerts.success('[[admin/manage/users:alerts.make-global-mod-success]]'); $('#global-mod-search').val(''); if ($('.global-moderator-area [data-uid="' + ui.item.user.uid + '"]').length) { @@ -66,7 +64,6 @@ define('admin/manage/admins-mods', [ bootbox.confirm('[[admin/manage/users:alerts.confirm-remove-global-mod]]', function (confirm) { if (confirm) { api.del('/groups/global-moderators/membership/' + uid).then(() => { - alerts.success('[[admin/manage/users:alerts.remove-global-mod-success]]'); userCard.remove(); if (!$('.global-moderator-area').children().length) { $('#no-global-mods-warning').removeClass('hidden'); @@ -92,7 +89,7 @@ define('admin/manage/admins-mods', [ if (err) { return alerts.error(err); } - alerts.success('[[admin/manage/users:alerts.make-moderator-success]]'); + input.val(''); if ($('.moderator-area[data-cid="' + cid + '"] [data-uid="' + ui.item.user.uid + '"]').length) { @@ -118,7 +115,7 @@ define('admin/manage/admins-mods', [ if (err) { return alerts.error(err); } - alerts.success('[[admin/manage/users:alerts.remove-moderator-success]]'); + userCard.remove(); if (!moderatorArea.children().length) { $('.no-moderator-warning[data-cid="' + cid + '"]').removeClass('hidden'); diff --git a/public/src/admin/manage/categories.js b/public/src/admin/manage/categories.js index 25479a0879..a2ec91f1fd 100644 --- a/public/src/admin/manage/categories.js +++ b/public/src/admin/manage/categories.js @@ -15,12 +15,14 @@ define('admin/manage/categories', [ let sortables; Categories.init = function () { - categorySelector.init($('.category [component="category-selector"]'), { + categorySelector.init($('[component="category-selector"]'), { parentCid: ajaxify.data.selectedCategory ? ajaxify.data.selectedCategory.cid : 0, onSelect: function (selectedCategory) { ajaxify.go('/admin/manage/categories' + (selectedCategory.cid ? '?cid=' + selectedCategory.cid : '')); }, + cacheList: false, localCategories: [], + template: 'admin/partials/category/selector-dropdown-right', }); Categories.render(ajaxify.data.categoriesTree); @@ -74,12 +76,14 @@ define('admin/manage/categories', [ }); }); - $('#collapse-all').on('click', function () { - toggleAll(false); - }); - - $('#expand-all').on('click', function () { - toggleAll(true); + $('#toggle-collapse-all').on('click', function () { + const $this = $(this); + const isCollapsed = parseInt($this.attr('data-collapsed'), 10) === 1; + toggleAll(isCollapsed); + $this.attr('data-collapsed', isCollapsed ? 0 : 1) + .translateText(isCollapsed ? + '[[admin/manage/categories:collapse-all]]' : + '[[admin/manage/categories:expand-all]]'); }); function toggleAll(expand) { @@ -96,7 +100,7 @@ define('admin/manage/categories', [ message: html, buttons: { save: { - label: '[[global:save]]', + label: '[[global:create]]', className: 'btn-primary', callback: submit, }, @@ -110,6 +114,7 @@ define('admin/manage/categories', [ icon: 'fa-none', }, ], + template: 'admin/partials/category/selector-dropdown-left', }; const parentSelector = categorySelector.init(modal.find('#parentCidGroup [component="category-selector"]'), options); const cloneFromSelector = categorySelector.init(modal.find('#cloneFromCidGroup [component="category-selector"]'), options); @@ -177,7 +182,7 @@ define('admin/manage/categories', [ }; Categories.toggle = function (cids, disabled) { - const listEl = document.querySelector('.categories ul'); + const listEl = document.querySelector('.categories [data-cid="0"]'); Promise.all(cids.map(cid => api.put('/categories/' + cid, { disabled: disabled ? 1 : 0, }).then(() => { @@ -214,14 +219,14 @@ define('admin/manage/categories', [ if (oldParentCid !== newParentCid) { const toggle = document.querySelector(`.categories li[data-cid="${newParentCid}"] .toggle`); if (toggle) { - toggle.classList.toggle('hide', false); + toggle.classList.toggle('invisible', false); } const children = document.querySelectorAll(`.categories li[data-cid="${oldParentCid}"] ul[data-cid] li[data-cid]`); if (!children.length) { const toggle = document.querySelector(`.categories li[data-cid="${oldParentCid}"] .toggle`); if (toggle) { - toggle.classList.toggle('hide', true); + toggle.classList.toggle('invisible', true); } } @@ -278,7 +283,7 @@ define('admin/manage/categories', [ // Disable expand toggle if (!categories.length) { const toggleEl = container.get(0).querySelector('.toggle'); - toggleEl.classList.toggle('hide', true); + toggleEl.classList.toggle('invisible', true); } // Handle and children categories in this level have diff --git a/public/src/admin/manage/category.js b/public/src/admin/manage/category.js index 065c1dcaeb..9703c6c888 100644 --- a/public/src/admin/manage/category.js +++ b/public/src/admin/manage/category.js @@ -14,23 +14,51 @@ define('admin/manage/category', [ let updateHash = {}; Category.init = function () { - $('#category-settings select').each(function () { + const categorySettings = $('#category-settings'); + const previewEl = $('[component="category/preview"]'); + categorySettings.find('select').each(function () { const $this = $(this); $this.val($this.attr('data-value')); }); - categorySelector.init($('[component="category-selector"]'), { + // category switcher + categorySelector.init($('[component="settings/main/header"] [component="category-selector"]'), { onSelect: function (selectedCategory) { ajaxify.go('admin/manage/categories/' + selectedCategory.cid); }, + cacheList: false, showLinks: true, + template: 'admin/partials/category/selector-dropdown-right', + }); + + // parent selector + categorySelector.init($('#parent-category-selector [component="category-selector"]'), { + onSelect: function (selectedCategory) { + const parentCidInput = $('#parent-cid'); + parentCidInput.val(selectedCategory.cid); + modified(parentCidInput[0]); + }, + selectedCategory: ajaxify.data.category.parent, // switch selection to parent + localCategories: [ + { + cid: 0, + name: '[[admin/manage/categories:parent-category-none]]', + icon: 'fa-list', + }, + ], + cacheList: false, + showLinks: true, + template: 'admin/partials/category/selector-dropdown-right', }); handleTags(); - $('#category-settings input, #category-settings select, #category-settings textarea').on('change', function (ev) { + categorySettings.find('input, select, textarea').on('change', function (ev) { modified(ev.target); }); + $('[type="checkbox"]').on('change', function () { + modified($(this)); + }); $('[data-name="imageClass"]').on('change', function () { $('.category-preview').css('background-size', $(this).val()); @@ -38,7 +66,6 @@ define('admin/manage/category', [ $('[data-name="bgColor"], [data-name="color"]').on('input', function () { const $inputEl = $(this); - const previewEl = $inputEl.parents('[data-cid]').find('.category-preview'); if ($inputEl.attr('data-name') === 'bgColor') { previewEl.css('background-color', $inputEl.val()); } else if ($inputEl.attr('data-name') === 'color') { @@ -171,56 +198,41 @@ define('admin/manage/category', [ params: { cid: cid }, }, function (imageUrlOnServer) { $('#category-image').val(imageUrlOnServer); - const previewBox = inputEl.parent().parent().siblings('.category-preview'); - previewBox.css('background', 'url(' + imageUrlOnServer + '?' + new Date().getTime() + ')'); + previewEl.css('background-image', 'url(' + imageUrlOnServer + '?' + new Date().getTime() + ')'); modified($('#category-image')); }); }); $('#category-image').on('change', function () { - $('.category-preview').css('background-image', $(this).val() ? ('url("' + $(this).val() + '")') : ''); + previewEl.css('background-image', $(this).val() ? ('url("' + $(this).val() + '")') : ''); modified($('#category-image')); }); $('.delete-image').on('click', function (e) { e.preventDefault(); - const inputEl = $('#category-image'); - const previewBox = $('.category-preview'); - inputEl.val(''); - previewBox.css('background-image', ''); + previewEl.css('background-image', ''); modified(inputEl[0]); - $(this).parent().addClass('hide').hide(); }); - $('.category-preview').on('click', function () { + previewEl.on('click', function () { iconSelect.init($(this).find('i'), modified); }); - $('[type="checkbox"]').on('change', function () { - modified($(this)); - }); - - $('button[data-action="setParent"], button[data-action="changeParent"]').on('click', Category.launchParentSelector); - $('button[data-action="removeParent"]').on('click', function () { - api.put('/categories/' + ajaxify.data.category.cid, { - parentCid: 0, - }).then(() => { - $('button[data-action="removeParent"]').parent().addClass('hide'); - $('button[data-action="changeParent"]').parent().addClass('hide'); - $('button[data-action="setParent"]').removeClass('hide'); - }).catch(alerts.error); - }); $('button[data-action="toggle"]').on('click', function () { const $this = $(this); const disabled = $this.attr('data-disabled') === '1'; api.put('/categories/' + ajaxify.data.category.cid, { disabled: disabled ? 0 : 1, }).then(() => { - $this.translateText(!disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]'); - $this.toggleClass('btn-primary', !disabled).toggleClass('btn-danger', disabled); + $this.find('.label').translateText( + !disabled ? '[[admin/manage/categories:enable]]' : '[[admin/manage/categories:disable]]' + ); + $this.find('i') + .toggleClass(['fa-check', 'text-success'], !disabled) + .toggleClass(['fa-ban', 'text-danger'], disabled); $this.attr('data-disabled', disabled ? 0 : 1); }).catch(alerts.error); }); @@ -276,30 +288,5 @@ define('admin/manage/category', [ }); } - Category.launchParentSelector = function () { - categorySelector.modal({ - onSubmit: function (selectedCategory) { - const parentCid = selectedCategory.cid; - if (!parentCid) { - return; - } - api.put('/categories/' + ajaxify.data.category.cid, { - parentCid: parentCid, - }).then(() => { - api.get(`/categories/${parentCid}`, {}).then(function (parent) { - if (parent && parent.icon && parent.name) { - const buttonHtml = ' ' + parent.name; - $('button[data-action="changeParent"]').html(buttonHtml).parent().removeClass('hide'); - } - }); - - $('button[data-action="removeParent"]').parent().removeClass('hide'); - $('button[data-action="setParent"]').addClass('hide'); - }).catch(alerts.error); - }, - showLinks: true, - }); - }; - return Category; }); diff --git a/public/src/admin/manage/group.js b/public/src/admin/manage/group.js index 4c73451a37..4a95bd7ea8 100644 --- a/public/src/admin/manage/group.js +++ b/public/src/admin/manage/group.js @@ -47,7 +47,7 @@ define('admin/manage/group', [ setupGroupMembersMenu(); - $('#group-icon, #group-icon-label').on('click', function () { + $('#group-icon-container').on('click', function () { const currentIcon = groupIcon.attr('value'); iconSelect.init(groupIcon, function () { let newIcon = groupIcon.attr('value'); @@ -77,6 +77,7 @@ define('admin/manage/group', [ cids = cids.filter((cid, index, array) => array.indexOf(cid) === index); $('#memberPostCids').val(cids.join(',')); cidSelector.selectCategory(0); + return false; }, }); @@ -87,6 +88,16 @@ define('admin/manage/group', [ app.flags._unsaved = true; }); + $('[data-action="delete"]').on('click', function () { + bootbox.confirm('[[admin/manage/groups:alerts.confirm-delete]]', function (confirm) { + if (confirm) { + api.del(`/groups/${slugify(ajaxify.data.group.name)}`, {}).then(() => { + ajaxify.go('/admin/managegroups'); + }).catch(alerts.error); + } + }); + }); + $('#save').on('click', function () { api.put(`/groups/${slugify(groupName)}`, { name: $('#change-group-name').val(), diff --git a/public/src/admin/manage/groups.js b/public/src/admin/manage/groups.js index 11b079ac3b..682dcadf21 100644 --- a/public/src/admin/manage/groups.js +++ b/public/src/admin/manage/groups.js @@ -30,22 +30,8 @@ define('admin/manage/groups', [ break; } }); - - enableCategorySelectors(); }; - function enableCategorySelectors() { - $('.groups-list [component="category-selector"]').each(function () { - const nameEncoded = $(this).parents('[data-name-encoded]').attr('data-name-encoded'); - categorySelector.init($(this), { - onSelect: function (selectedCategory) { - ajaxify.go('admin/manage/privileges/' + selectedCategory.cid + '?group=' + nameEncoded); - }, - showLinks: true, - }); - }); - } - function handleCreate() { $('#create').on('click', function () { app.parseAndTranslate('admin/partials/create_group_modal', {}).then((html) => { @@ -119,7 +105,6 @@ define('admin/manage/groups', [ }, function (html) { groupsEl.find('[data-groupname]').remove(); groupsEl.find('tbody').append(html); - enableCategorySelectors(); }); }); } diff --git a/public/src/admin/manage/users.js b/public/src/admin/manage/users.js index 811c6a00d7..1fb8e2701d 100644 --- a/public/src/admin/manage/users.js +++ b/public/src/admin/manage/users.js @@ -242,7 +242,10 @@ define('admin/manage/users', [ } alerts.success('[[admin/manage/users:alerts.validate-email-success]]'); update('.notvalidated', false); - update('.validated', true); + update('.pending', false); + update('.expired', false); + update('.validated', false); + update('.validated-by-admin', true); unselectAll(); }); }); diff --git a/public/src/admin/modules/search.js b/public/src/admin/modules/search.js index 16fe21a26d..44394afbdf 100644 --- a/public/src/admin/modules/search.js +++ b/public/src/admin/modules/search.js @@ -21,7 +21,7 @@ define('admin/modules/search', ['mousetrap', 'alerts'], function (mousetrap, ale // and wrap the match in a `.search-match` element .replace( new RegExp('^[\\s\\S]*?(.{0,25})(' + escaped + ')(.{0,25})[\\s\\S]*?$', 'gmi'), - '...$1$2$3...
    ' + '...$1$2$3...
    ' ) // collapse whitespace .replace(/(?:\n ?)+/g, '\n') @@ -33,7 +33,7 @@ define('admin/modules/search', ['mousetrap', 'alerts'], function (mousetrap, ale ); return '
  • ' + header + '
  • '); + new bootstrap.ScrollSpy($('#spy-container')[0], { + target: '#settings-navbar', + rootMargin: '-10% 0px -70%', + smoothScroll: true, }); - const scrollTo = $('a[name="' + window.location.hash.replace('#', '') + '"]'); + const scrollTo = $(`${window.location.hash}`); if (scrollTo.length) { $('html, body').animate({ - scrollTop: (scrollTo.offset().top) + 'px', + scrollTop: (scrollTo.offset().top - offset) + 'px', }, 400); } - } else { - $('.content-header').parents('.row').remove(); + tocEl.removeClass('hidden'); } }; @@ -117,7 +143,7 @@ define('admin/settings', ['uploader', 'mousetrap', 'hooks', 'alerts', 'settings' saveBtnEl.classList.toggle('saved', true); setTimeout(() => { saveBtnEl.classList.toggle('saved', false); - }, 5000); + }, 1500); } }; diff --git a/public/src/admin/settings/api.js b/public/src/admin/settings/api.js index ba3667e40e..4420e9a300 100644 --- a/public/src/admin/settings/api.js +++ b/public/src/admin/settings/api.js @@ -1,52 +1,180 @@ 'use strict'; -define('admin/settings/api', ['settings', 'alerts', 'hooks'], function (settings, alerts, hooks) { +define('admin/settings/api', ['settings', 'clipboard', 'bootbox', 'benchpress', 'api', 'alerts'], function (settings, clipboard, bootbox, Benchpress, api, alerts) { const ACP = {}; ACP.init = function () { settings.load('core.api', $('.core-api-settings')); - $('#save').on('click', saveSettings); + $('#save').on('click', () => { + settings.save('core.api', $('.core-api-settings')); + }); + + // Click to copy + const copyEls = document.querySelectorAll('[data-component="acp/tokens"] [data-action="copy"]'); + new clipboard(copyEls); + + handleActions(); + }; + + function handleActions() { + const formEl = document.querySelector('#content form'); + if (!formEl) { + return; + } + + formEl.addEventListener('click', (e) => { + const subselector = e.target.closest('[data-action]'); + if (subselector) { + const action = subselector.getAttribute('data-action'); + + switch (action) { + case 'create': + handleTokenCreation(); + break; + + case 'edit': + handleTokenUpdate(subselector); + break; + + case 'delete': + handleTokenDeletion(subselector); + break; - hooks.on('filter:settings.sorted-list.loadItem', ({ item }) => { - if (!ajaxify.data.lastSeen[item.token]) { - item.lastSeen = '[[admin/settings/api:last-seen-never]]'; - return { item }; + case 'roll': + handleTokenRolling(subselector); + break; + } } + }); + } + + async function handleTokenCreation() { + const html = await Benchpress.render('admin/partials/edit-token-modal', {}); + const parseForm = async function () { + const modal = this; + const formEl = this.get(0).querySelector('form'); + const tokensTableBody = document.querySelector('[data-component="acp/tokens"] tbody'); + const valid = formEl.reportValidity(); + if (formEl && valid) { + const formData = new FormData(formEl); + const uid = formData.get('uid'); + const description = formData.get('description'); - const cutoffMs = 1000 * 60 * 60 * 24 * Math.max(0, parseInt(config.timeagoCutoff, 10)); - let translationSuffix = 'ago'; - if (cutoffMs > 0 && Date.now() - ajaxify.data.lastSeen[item.token] > cutoffMs) { - translationSuffix = 'on'; + try { + const tokenObj = await api.post('/admin/tokens', { uid, description }); + if (!tokensTableBody) { + modal.modal('hide'); + return ajaxify.refresh(); + } + + ajaxify.data.tokens.push(tokenObj); + const rowEl = (await app.parseAndTranslate(ajaxify.data.template.name, 'tokens', { + tokens: [tokenObj], + })).get(0); + + tokensTableBody.append(rowEl); + $(rowEl).find('.timeago').timeago(); + modal.modal('hide'); + } catch (e) { + alerts.error(e); + } } - item.lastSeen = `[[admin/settings/api:last-seen-${translationSuffix}, ${ajaxify.data.lastSeenISO[item.token]}]]`; - return { item }; + return false; + }; + + bootbox.dialog({ + title: '[[admin/settings/api:create-token]]', + message: html, + buttons: { + submit: { + label: '[[modules:bootbox.submit]]', + className: 'btn-primary', + callback: parseForm, + }, + }, }); + } + + async function handleTokenUpdate(el) { + const rowEl = el.closest('[data-token]'); + const token = rowEl.getAttribute('data-token'); + const { uid, description } = await api.get(`/admin/tokens/${token}`); + const parseForm = async function () { + const modal = this; + const formEl = this.get(0).querySelector('form'); + const valid = formEl.reportValidity(); + if (formEl && valid) { + const formData = new FormData(formEl); + const uid = formData.get('uid'); + const description = formData.get('description'); + + try { + const tokenObj = await api.put(`/admin/tokens/${token}`, { uid, description }); + const newEl = (await app.parseAndTranslate(ajaxify.data.template.name, 'tokens', { + tokens: [tokenObj], + })).get(0); - hooks.on('action:settings.sorted-list.loaded', ({ listEl }) => { - $(listEl).find('.timeago').timeago(); + rowEl.replaceWith(newEl); + $(newEl).find('.timeago').timeago(); + modal.modal('hide'); + } catch (e) { + alerts.error(e); + } + } + + return false; + }; + + const html = await Benchpress.render('admin/partials/edit-token-modal', { uid, description }); + bootbox.dialog({ + title: '[[admin/settings/api:update-token]]', + message: html, + buttons: { + submit: { + label: '[[modules:bootbox.submit]]', + className: 'btn-primary', + callback: parseForm, + }, + }, }); + } + + async function handleTokenDeletion(el) { + const rowEl = el.closest('[data-token]'); + const token = rowEl.getAttribute('data-token'); - hooks.on('action:settings.sorted-list.itemLoaded', ({ element }) => { - element.addEventListener('click', (ev) => { - if (ev.target.closest('input[readonly]')) { - // Select entire input text - ev.target.selectionStart = 0; - ev.target.selectionEnd = ev.target.value.length; + bootbox.confirm('[[admin/settings/api:delete-confirm]]', async (ok) => { + if (ok) { + try { + await api.del(`/admin/tokens/${token}`); + } catch (e) { + alerts.error(e); } - }); + + rowEl.remove(); + } }); - }; + } - function saveSettings() { - settings.save('core.api', $('.core-api-settings'), function () { - alerts.alert({ - type: 'success', - alert_id: 'core.api-saved', - title: 'Settings Saved', - timeout: 5000, - }); - ajaxify.refresh(); + async function handleTokenRolling(el) { + const rowEl = el.closest('[data-token]'); + const token = rowEl.getAttribute('data-token'); + + bootbox.confirm('[[admin/settings/api:roll-confirm]]', async (ok) => { + if (ok) { + try { + const tokenObj = await api.post(`/admin/tokens/${token}/roll`); + const newEl = (await app.parseAndTranslate(ajaxify.data.template.name, 'tokens', { + tokens: [tokenObj], + })).get(0); + + rowEl.replaceWith(newEl); + $(newEl).find('.timeago').timeago(); + } catch (e) { + alerts.error(e); + } + } }); } diff --git a/public/src/admin/settings/general.js b/public/src/admin/settings/general.js index 805f9f1c8f..65f1f0bce4 100644 --- a/public/src/admin/settings/general.js +++ b/public/src/admin/settings/general.js @@ -20,7 +20,19 @@ define('admin/settings/general', ['admin/settings'], function () { $('button[data-action="removeOgImage"]').on('click', function () { $('input[data-field="removeOgImage"]').val(''); }); + + $('[data-field="homePageRoute"]').on('change', toggleCustomRoute); + + toggleCustomRoute(); }; + function toggleCustomRoute() { + if ($('[data-field="homePageRoute"]').val() === 'custom') { + $('#homePageCustom').show(); + } else { + $('#homePageCustom').hide(); + } + } + return Module; }); diff --git a/public/src/admin/settings/homepage.js b/public/src/admin/settings/homepage.js deleted file mode 100644 index 96447d9bbb..0000000000 --- a/public/src/admin/settings/homepage.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict'; - - -define('admin/settings/homepage', ['admin/settings'], function () { - function toggleCustomRoute() { - if ($('[data-field="homePageRoute"]').val() === 'custom') { - $('#homePageCustom').show(); - } else { - $('#homePageCustom').hide(); - } - } - - const Homepage = {}; - - Homepage.init = function () { - $('[data-field="homePageRoute"]').on('change', toggleCustomRoute); - - toggleCustomRoute(); - }; - - return Homepage; -}); diff --git a/public/src/admin/settings/navigation.js b/public/src/admin/settings/navigation.js index 6ae9fa1918..c858f8ccc4 100644 --- a/public/src/admin/settings/navigation.js +++ b/public/src/admin/settings/navigation.js @@ -163,13 +163,12 @@ define('admin/settings/navigation', [ function toggle() { const btn = $(this); - const disabled = btn.hasClass('btn-success'); + const disabled = btn.hasClass('enable'); const index = btn.parents('[data-index]').attr('data-index'); - translator.translate(disabled ? '[[admin/settings/navigation:btn.disable]]' : '[[admin/settings/navigation:btn.enable]]', function (html) { - btn.toggleClass('btn-warning').toggleClass('btn-success').html(html); - btn.parents('li').find('[name="enabled"]').val(disabled ? 'on' : ''); - $('#active-navigation [data-index="' + index + '"] a').toggleClass('text-muted', !disabled); - }); + btn.siblings('.toggle').removeClass('hidden'); + btn.addClass('hidden'); + btn.parents('li').find('[name="enabled"]').val(disabled ? 'on' : ''); + $('#active-navigation [data-index="' + index + '"] a').toggleClass('text-muted', !disabled); return false; } diff --git a/public/src/admin/settings/social.js b/public/src/admin/settings/social.js deleted file mode 100644 index 20e6f87a9f..0000000000 --- a/public/src/admin/settings/social.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - - -define('admin/settings/social', ['alerts'], function (alerts) { - const social = {}; - - social.init = function () { - $('#save').on('click', function () { - const networks = []; - $('#postSharingNetworks input[type="checkbox"]').each(function () { - if ($(this).prop('checked')) { - networks.push($(this).attr('id')); - } - }); - - socket.emit('admin.social.savePostSharingNetworks', networks, function (err) { - if (err) { - return alerts.error(err); - } - - alerts.success('[[admin/settings/social:save-success]]'); - }); - }); - }; - - return social; -}); diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index 882013e189..8111f0ef09 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -303,11 +303,11 @@ ajaxify.widgets = { render: render }; window.scrollTo(0, 0); // if on topic page, scroll to the correct post, // this is here to avoid a flash of the wrong posts at the top of the page - if (ajaxify.data.template.topic && ajaxify.data.postIndex > 1) { - require(['navigator'], function (navigator) { + require(['navigator'], function (navigator) { + if (navigator.shouldScrollToPost(ajaxify.data.postIndex)) { navigator.scrollToPostIndex(ajaxify.data.postIndex - 1, true, 0); - }); - } + } + }); } ajaxify.loadScript(tpl_url, function done() { hooks.fire('action:ajaxify.end', { url: url, tpl_url: tpl_url, title: ajaxify.data.title }); @@ -477,7 +477,8 @@ ajaxify.widgets = { render: render }; translator.translate(`[[global:reconnecting-message, ${config.siteTitle}]]`); Benchpress.registerLoader(ajaxify.loadTemplate); Benchpress.setGlobal('config', config); - Benchpress.render('500', {}); // loads and caches the 500.tpl + Benchpress.render('500', {}); // loads and caches 500.tpl + Benchpress.render('partials/toast'); // loads and caches partials/toast }); }()); diff --git a/public/src/app.js b/public/src/app.js index a4e25beab2..c457ae89f6 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -280,24 +280,40 @@ if (document.readyState === 'loading') { }); }; - app.newTopic = function (cid, tags) { + app.newTopic = function (params) { + // backwards compatibilty for old signature (cid, tags) + if (typeof params !== 'object') { + if (params) { + console.warn('[deprecated] app.newTopic(cid, tags) please pass in an object'); + } + params = { + cid: params, + tags: arguments[1] || (ajaxify.data.tag ? [ajaxify.data.tag] : []), + }; + } + require(['hooks'], function (hooks) { - hooks.fire('action:composer.topic.new', { - cid: cid || ajaxify.data.cid || 0, - tags: tags || (ajaxify.data.tag ? [ajaxify.data.tag] : []), - }); + params.cid = params.cid || ajaxify.data.cid || 0; + params.tags = params.tags || (ajaxify.data.tag ? [ajaxify.data.tag] : []); + hooks.fire('action:composer.topic.new', params); }); }; - app.newReply = async function (tid) { + app.newReply = async function (params) { + // backwards compatibilty for old signature (tid) + if (typeof params !== 'object') { + console.warn('[deprecated] app.newReply(tid) please pass in an object'); + params = { + tid: params, + }; + } + const [hooks, api] = await app.require(['hooks', 'api']); - const titleRaw = ajaxify.data.template.topic ? + params.title = (ajaxify.data.template.topic ? ajaxify.data.titleRaw : - (await api.get(`/topics/${tid}`)).titleRaw; - hooks.fire('action:composer.post.new', { - tid: tid, - topicName: titleRaw, - }); + (await api.get(`/topics/${params.tid}`)).titleRaw); + + hooks.fire('action:composer.post.new', params); }; app.loadJQueryUI = function (callback) { diff --git a/public/src/client/account/settings.js b/public/src/client/account/settings.js index 67c2329ed3..f2fc5db845 100644 --- a/public/src/client/account/settings.js +++ b/public/src/client/account/settings.js @@ -5,15 +5,19 @@ define('forum/account/settings', [ 'forum/account/header', 'components', 'api', 'alerts', 'hooks', ], function (header, components, api, alerts, hooks) { const AccountSettings = {}; - + let savedSkin = ''; // If page skin is changed but not saved, switch the skin back $(window).on('action:ajaxify.start', function () { - if (ajaxify.data.template.name === 'account/settings' && $('#bootswatchSkin').length && $('#bootswatchSkin').val() !== config.bootswatchSkin) { - reskin(config.bootswatchSkin); + const skinEl = $('#bootswatchSkin'); + if ( + ajaxify.data.template.name === 'account/settings' && + skinEl.length && skinEl.val() !== savedSkin) { + reskin(savedSkin); } }); AccountSettings.init = function () { + savedSkin = $('#bootswatchSkin').length && $('#bootswatchSkin').val(); header.init(); $('#submitBtn').on('click', function () { @@ -76,7 +80,10 @@ define('forum/account/settings', [ if (key === 'userLang' && config.userLang !== newSettings.userLang) { languageChanged = true; } - if (config.hasOwnProperty(key)) { + if (key === 'bootswatchSkin') { + savedSkin = newSettings.bootswatchSkin; + config.bootswatchSkin = savedSkin === 'noskin' ? '' : savedSkin; + } else if (config.hasOwnProperty(key)) { config[key] = newSettings[key]; } } @@ -105,6 +112,12 @@ define('forum/account/settings', [ return; } + if (skinName === '') { + skinName = config.defaultBootswatchSkin || ''; + } else if (skinName === 'noskin') { + skinName = ''; + } + const currentSkinClassName = $('body').attr('class').split(/\s+/).filter(function (className) { return className.startsWith('skin-'); }); @@ -143,7 +156,8 @@ define('forum/account/settings', [ if (app.user.uid) { await api.put(`/users/${app.user.uid}/settings`, { settings: { bootswatchSkin: skin } }); } - config.bootswatchSkin = skin; + config.bootswatchSkin = skin === 'noskin' ? '' : skin; + savedSkin = skin; reskin(skin); }; diff --git a/public/src/client/category/tools.js b/public/src/client/category/tools.js index b941e398bc..5ec1a8bdb8 100644 --- a/public/src/client/category/tools.js +++ b/public/src/client/category/tools.js @@ -22,17 +22,17 @@ define('forum/category/tools', [ }); components.get('topic/delete').on('click', function () { - categoryCommand('del', '/state', 'delete', onDeletePurgeComplete); + categoryCommand('del', '/state', 'delete', onDeleteRestoreComplete); return false; }); components.get('topic/restore').on('click', function () { - categoryCommand('put', '/state', 'restore', onDeletePurgeComplete); + categoryCommand('put', '/state', 'restore', onDeleteRestoreComplete); return false; }); components.get('topic/purge').on('click', function () { - categoryCommand('del', '', 'purge', onDeletePurgeComplete); + categoryCommand('del', '', 'purge', onPurgeComplete); return false; }); @@ -186,7 +186,7 @@ define('forum/category/tools', [ }; function closeDropDown() { - $('.thread-tools.open').find('.dropdown-toggle').trigger('click'); + $('.thread-tools .show').removeClass('show'); } function onCommandComplete() { @@ -194,11 +194,17 @@ define('forum/category/tools', [ topicSelect.unselectAll(); } - function onDeletePurgeComplete() { + function onDeleteRestoreComplete() { closeDropDown(); updateDropdownOptions(); } + function onPurgeComplete() { + closeDropDown(); + topicSelect.unselectAll(); + updateDropdownOptions(); + } + function updateDropdownOptions() { const tids = topicSelect.getSelectedTids(); const isAnyDeleted = isAny(isTopicDeleted, tids); @@ -210,7 +216,7 @@ define('forum/category/tools', [ components.get('topic/delete').toggleClass('hidden', isAnyDeleted); components.get('topic/restore').toggleClass('hidden', isAnyScheduled || !isAnyDeleted); - components.get('topic/purge').toggleClass('hidden', !areAllDeleted); + components.get('topic/purge').toggleClass('hidden', !areAllDeleted || !tids.length); components.get('topic/lock').toggleClass('hidden', isAnyLocked); components.get('topic/unlock').toggleClass('hidden', !isAnyLocked); @@ -308,14 +314,24 @@ define('forum/category/tools', [ baseIndex = parseInt(topicListEl.find('[component="category/topic"].pinned').first().attr('data-index'), 10); }, update: function (ev, ui) { + const tid = ui.item.attr('data-tid'); + const pinnedTopicEls = topicListEl.find('[component="category/topic"].pinned'); + let newIndex = 0; + pinnedTopicEls.each((index, el) => { + if ($(el).attr('data-tid') === tid) { + newIndex = index; + return false; + } + }); + socket.emit('topics.orderPinnedTopics', { - tid: ui.item.attr('data-tid'), - order: baseIndex + ui.item.index(), + tid: tid, + order: baseIndex + newIndex, }, function (err) { if (err) { return alerts.error(err); } - topicListEl.find('[component="category/topic"].pinned').each((index, el) => { + pinnedTopicEls.each((index, el) => { $(el).attr('data-index', baseIndex + index); }); }); diff --git a/public/src/client/chats.js b/public/src/client/chats.js index e21181cdc0..39cf3519c5 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -200,7 +200,7 @@ define('forum/chats', [ textarea.on('input', function () { const isAtBottom = messages.isAtBottom(parent.find('.chat-content')); textarea.css({ height: 0 }); - textarea.css({ height: textarea.prop('scrollHeight') + 'px' }); + textarea.css({ height: messages.calcAutoTextAreaHeight(textarea) + 'px' }); if (isAtBottom) { messages.scrollToBottom(parent.find('.chat-content')); } diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index f5699709a2..f51b261acf 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -2,11 +2,10 @@ define('forum/chats/messages', [ - 'components', 'translator', 'benchpress', 'hooks', - 'bootbox', 'alerts', 'messages', 'api', 'forum/topic/images', + 'components', 'hooks', 'bootbox', 'alerts', + 'messages', 'api', 'forum/topic/images', ], function ( - components, translator, Benchpress, hooks, - bootbox, alerts, messagesModule, api, images + components, hooks, bootbox, alerts, messagesModule, api, images ) { const messages = {}; @@ -33,7 +32,7 @@ define('forum/chats/messages', [ return messagesModule.showEmailConfirmWarning(err.message); } - return alerts.alert({ + alerts.alert({ alert_id: 'chat_spam_error', title: '[[global:alert.error]]', message: err.message, @@ -54,16 +53,21 @@ define('forum/chats/messages', [ messages.updateTextAreaHeight = function (chatContentEl) { const textarea = chatContentEl.find('[component="chat/input"]'); + textarea.css({ height: messages.calcAutoTextAreaHeight(textarea) + 'px' }); + }; + + messages.calcAutoTextAreaHeight = function (textarea) { const scrollHeight = textarea.prop('scrollHeight'); - textarea.css({ height: scrollHeight + 'px' }); + const borderTopWidth = parseFloat(textarea.css('border-top-width'), 10) || 0; + const borderBottomWidth = parseFloat(textarea.css('border-bottom-width'), 10) || 0; + return scrollHeight + borderTopWidth + borderBottomWidth; }; function autoresizeTextArea(textarea) { - const scrollHeight = textarea.prop('scrollHeight'); - textarea.css({ height: scrollHeight + 'px' }); + textarea.css({ height: messages.calcAutoTextAreaHeight(textarea) + 'px' }); textarea.on('input', function () { textarea.css({ height: 0 }); - textarea.css({ height: textarea.prop('scrollHeight') + 'px' }); + textarea.css({ height: messages.calcAutoTextAreaHeight(textarea) + 'px' }); }); } @@ -101,17 +105,15 @@ define('forum/chats/messages', [ }; messages.parseMessage = function (data, callback) { - function done(html) { - translator.translate(html, translated => callback($(translated))); - } const tplData = { messages: data, isAdminOrGlobalMod: app.user.isAdmin || app.user.isGlobalMod, + }; if (Array.isArray(data)) { - Benchpress.render('partials/chats/messages', tplData).then(done); + app.parseAndTranslate('partials/chats/messages', tplData).then(callback); } else { - Benchpress.render('partials/chats/' + (data.system ? 'system-message' : 'message'), tplData).then(done); + app.parseAndTranslate('partials/chats/' + (data.system ? 'system-message' : 'message'), tplData).then(callback); } }; @@ -251,16 +253,14 @@ define('forum/chats/messages', [ } messages.delete = function (messageId, roomId) { - translator.translate('[[modules:chat.delete_message_confirm]]', function (translated) { - bootbox.confirm(translated, function (ok) { - if (!ok) { - return; - } + bootbox.confirm('[[modules:chat.delete_message_confirm]]', function (ok) { + if (!ok) { + return; + } - api.del(`/chats/${roomId}/messages/${messageId}`, {}).then(() => { - components.get('chat/message', messageId).toggleClass('deleted', true); - }).catch(alerts.error); - }); + api.del(`/chats/${roomId}/messages/${messageId}`, {}).then(() => { + components.get('chat/message', messageId).toggleClass('deleted', true); + }).catch(alerts.error); }); }; diff --git a/public/src/client/chats/recent.js b/public/src/client/chats/recent.js index 720523dcc0..95532a3df0 100644 --- a/public/src/client/chats/recent.js +++ b/public/src/client/chats/recent.js @@ -72,7 +72,7 @@ define('forum/chats/recent', ['alerts', 'api'], function (alerts, api) { if (!data.rooms.length) { return callback(); } - + data.loadingMore = true; app.parseAndTranslate('chats', 'rooms', data, function (html) { $('[component="chat/recent"]').append(html); html.find('.timeago').timeago(); diff --git a/public/src/client/chats/search.js b/public/src/client/chats/search.js index d5e7632793..1641efcb1e 100644 --- a/public/src/client/chats/search.js +++ b/public/src/client/chats/search.js @@ -2,20 +2,27 @@ define('forum/chats/search', [ - 'components', 'api', 'alerts', 'helpers', -], function (components, api, alerts, helpers) { + 'components', 'api', 'alerts', +], function (components, api, alerts) { const search = {}; search.init = function () { components.get('chat/search').on('keyup', utils.debounce(doSearch, 250)); + const chatsListEl = $('[component="chat/search/list"]'); + chatsListEl.on('click', '[data-uid]', function () { + onUserClick($(this).attr('data-uid')); + }); }; function doSearch() { + const chatsListEl = $('[component="chat/search/list"]'); const username = components.get('chat/search').val(); if (!username) { - return $('[component="chat/search/list"]').translateHtml('
  • [[admin/menu:search.start-typing]]
  • '); + removeResults(chatsListEl); + chatsListEl.find('[component="chat/search/no-users"]').addClass('hidden'); + return chatsListEl.find('[component="chat/search/start-typing"]').removeClass('hidden'); } - + chatsListEl.find('[component="chat/search/start-typing"]').addClass('hidden'); api.get('/api/users', { query: username, searchBy: 'username', @@ -24,56 +31,43 @@ define('forum/chats/search', [ .catch(alerts.error); } - function displayResults(data) { - const chatsListEl = $('[component="chat/search/list"]'); - chatsListEl.empty(); + function removeResults(chatsListEl) { + chatsListEl.find('[data-uid]').remove(); + } + async function displayResults(data) { + const chatsListEl = $('[component="chat/search/list"]'); + removeResults(chatsListEl); data.users = data.users.filter(function (user) { return parseInt(user.uid, 10) !== parseInt(app.user.uid, 10); }); if (!data.users.length) { - return chatsListEl.translateHtml('
  • [[users:no-users-found]]
  • '); + return chatsListEl.find('[component="chat/search/no-users"]').removeClass('hidden'); } - - data.users.forEach(function (userObj) { - const chatEl = displayUser(chatsListEl, userObj); - onUserClick(chatEl, userObj); - }); - - chatsListEl.parent().toggleClass('open', true); + chatsListEl.find('[component="chat/search/no-users"]').addClass('hidden'); + const html = await app.parseAndTranslate('chats', 'searchUsers', { searchUsers: data.users }); + chatsListEl.append(html); + chatsListEl.parent().toggleClass('show', true); } - function displayUser(chatsListEl, userObj) { - function createUserImage() { - const img = helpers.buildAvatar(userObj, '24px', true); - return `${img} ${userObj.username}`; + function onUserClick(uid) { + if (!uid) { + return; } - - const chatEl = $('
  • ') - .attr('data-uid', userObj.uid) - .appendTo(chatsListEl); - - chatEl.append(createUserImage()); - return chatEl; - } - - function onUserClick(chatEl, userObj) { - chatEl.on('click', function () { - socket.emit('modules.chats.hasPrivateChat', userObj.uid, function (err, roomId) { - if (err) { - return alerts.error(err); - } - if (roomId) { - require(['forum/chats'], function (chats) { - chats.switchChat(roomId); - }); - } else { - require(['chat'], function (chat) { - chat.newChat(userObj.uid); - }); - } - }); + socket.emit('modules.chats.hasPrivateChat', uid, function (err, roomId) { + if (err) { + return alerts.error(err); + } + if (roomId) { + require(['forum/chats'], function (chats) { + chats.switchChat(roomId); + }); + } else { + require(['chat'], function (chat) { + chat.newChat(uid); + }); + } }); } diff --git a/public/src/client/groups/memberlist.js b/public/src/client/groups/memberlist.js index 7a3376eb51..2b8bce8107 100644 --- a/public/src/client/groups/memberlist.js +++ b/public/src/client/groups/memberlist.js @@ -22,7 +22,8 @@ define('forum/groups/memberlist', ['api', 'bootbox', 'alerts'], function (api, b title: '[[groups:details.add-member]]', message: html, buttons: { - ok: { + OK: { + label: '[[groups:details.add-member]]', callback: function () { const users = []; modal.find('[data-uid][data-selected]').each(function (index, el) { diff --git a/public/src/client/infinitescroll.js b/public/src/client/infinitescroll.js index 32f5708a1c..bd6f98d178 100644 --- a/public/src/client/infinitescroll.js +++ b/public/src/client/infinitescroll.js @@ -98,7 +98,7 @@ define('forum/infinitescroll', ['hooks', 'alerts'], function (hooks, alerts) { }); }).fail(function (jqXHR) { loadingMore = false; - alerts.error(String(jqXHR.responseJSON || jqXHR.statusText)); + alerts.error(String(jqXHR.responseJSON || '[[error:no-connection]]')); }); }; diff --git a/public/src/client/post-queue.js b/public/src/client/post-queue.js index d7cfb9f230..a4b357b1d2 100644 --- a/public/src/client/post-queue.js +++ b/public/src/client/post-queue.js @@ -110,6 +110,7 @@ define('forum/post-queue', [ if (listEl) { listEl.addEventListener('click', (e) => { const subselector = e.target.closest('[data-action]'); + console.log(subselector); if (subselector) { const action = subselector.getAttribute('data-action'); const uid = subselector.closest('[data-uid]').getAttribute('data-uid'); diff --git a/public/src/client/topic.js b/public/src/client/topic.js index 77b4ad9aa6..7a0b228efd 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -84,7 +84,10 @@ define('forum/topic', [ require(['search'], function (search) { mousetrap.bind(['command+f', 'ctrl+f'], function (e) { e.preventDefault(); - const form = $('[component="navbar"] [component="search/form"]'); + let form = $('[component="navbar"] [component="search/form"]'); + if (!form.length) { // harmony + form = $('[component="sidebar/right"] [component="search/form"]'); + } form.find('[component="search/fields"] input[name="query"]').val('in:topic-' + ajaxify.data.tid + ' '); search.showAndFocusInput(form); }); @@ -148,10 +151,8 @@ define('forum/topic', [ const bookmark = ajaxify.data.bookmark || storage.getItem('topic:' + tid + ':bookmark'); const postIndex = ajaxify.data.postIndex; updateUserBookmark(postIndex); - if (postIndex > 1) { - if (components.get('post/anchor', postIndex - 1).length) { - return navigator.scrollToPostIndex(postIndex - 1, true, 0); - } + if (navigator.shouldScrollToPost(postIndex)) { + return navigator.scrollToPostIndex(postIndex - 1, true, 0); } else if (bookmark && ( !config.usePagination || (config.usePagination && ajaxify.data.pagination.currentPage === 1) @@ -238,12 +239,21 @@ define('forum/topic', [ }); function addCopyCodeButton() { + function scrollbarVisible(element) { + return element.scrollHeight > element.clientHeight; + } let codeBlocks = $('[component="topic"] [component="post/content"] code:not([data-button-added])'); codeBlocks = codeBlocks.filter((i, el) => $(el).text().includes('\n')); const container = $('
    '); - const buttonDiv = $(''); - codeBlocks.parent().wrap(container).parent().append(buttonDiv); - codeBlocks.parent().parent().find('[component="copy/code/btn"]').translateAttr('title', '[[topic:copy-code]]'); + const buttonDiv = $(''); + const preEls = codeBlocks.parent(); + preEls.wrap(container).parent().append(buttonDiv); + preEls.parent().find('[component="copy/code/btn"]').translateAttr('title', '[[topic:copy-code]]'); + preEls.each((index, el) => { + if (scrollbarVisible(el)) { + $(el).parent().find('[component="copy/code/btn"]').css({ margin: '0.5rem 1.5rem 0 0' }); + } + }); codeBlocks.attr('data-button-added', 1); } hooks.registerPage('action:posts.loaded', addCopyCodeButton); diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index c9c8771ed1..72de7164b3 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -277,17 +277,17 @@ define('forum/topic/postTools', [ hooks.fire('action:composer.addQuote', { tid: tid, pid: toPid, - topicName: ajaxify.data.titleRaw, + title: ajaxify.data.titleRaw, username: username, - text: selectedNode.text, + body: selectedNode.text, selectedPid: selectedNode.pid, }); } else { hooks.fire('action:composer.post.new', { tid: tid, pid: toPid, - topicName: ajaxify.data.titleRaw, - text: username ? username + ' ' : ($('[component="topic/quickreply/text"]').val() || ''), + title: ajaxify.data.titleRaw, + body: username ? username + ' ' : ($('[component="topic/quickreply/text"]').val() || ''), }); } }); @@ -305,7 +305,7 @@ define('forum/topic/postTools', [ tid: tid, pid: toPid, username: username, - topicName: ajaxify.data.titleRaw, + title: ajaxify.data.titleRaw, text: text, }); } diff --git a/public/src/client/topic/replies.js b/public/src/client/topic/replies.js index 8e0573ab04..82b2529c76 100644 --- a/public/src/client/topic/replies.js +++ b/public/src/client/topic/replies.js @@ -85,14 +85,22 @@ define('forum/topic/replies', ['forum/topic/posts', 'hooks', 'alerts'], function }; function incrementCount(post, inc) { + const postEl = document.querySelector(`[component="post"][data-pid="${post.toPid}"]`); + if (!postEl) { + return; + } + const replyCount = $('[component="post"][data-pid="' + post.toPid + '"]').find('[component="post/reply-count"]').first(); const countEl = replyCount.find('[component="post/reply-count/text"]'); const avatars = replyCount.find('[component="post/reply-count/avatars"]'); const count = Math.max(0, (parseInt(countEl.attr('data-replies'), 10) || 0) + inc); const timestamp = replyCount.find('.timeago').attr('title', post.timestampISO); + const index = postEl.getAttribute('data-index'); + const hasSingleImmediateReply = count === 1 && Math.abs(post.index - index) === 1; + countEl.attr('data-replies', count); - replyCount.toggleClass('hidden', count <= 0); + replyCount.toggleClass('hidden', count <= 0 || hasSingleImmediateReply); if (count > 1) { countEl.translateText('[[topic:replies_to_this_post, ' + count + ']]'); } else { diff --git a/public/src/installer/install.js b/public/src/installer/install.js index b18743f39f..8aa00c02d0 100644 --- a/public/src/installer/install.js +++ b/public/src/installer/install.js @@ -14,19 +14,62 @@ $('document').ready(function () { activate('database', $('[name="database"]')); - if ($('#database-error').length) { - $('[name="database"]').parents('.input-row').addClass('error'); - $('html, body').animate({ - scrollTop: ($('#database-error').offset().top + 100) + 'px', - }, 400); - } + $('#test-database').on('click', function () { + const conf = {}; + $('#database-config input[name]').each((i, el) => { + conf[$(el).attr('name')] = $(el).val(); + }); + $('#test-database-spinner').removeClass('hidden'); + $('#database-success').addClass('hidden'); + $('#database-error').addClass('hidden'); + $('#database-full').addClass('hidden'); + const qs = new URLSearchParams(conf).toString(); + $.ajax({ + url: `/testdb?${qs}`, + success: function (res) { + $('#test-database-spinner').addClass('hidden'); + if (res.success) { + $('#database-success').removeClass('hidden'); + if (res.dbfull) { + $('#database-full').removeClass('hidden') + .text('Found existing install in this database!'); + } + } else if (res.error) { + $('#database-error').removeClass('hidden').text(res.error); + } + }, + error: function (jqXHR, textStatus) { + $('#test-database-spinner').addClass('hidden'); + $('#database-error').removeClass('hidden').text(textStatus); + }, + }); - $('#launch').on('click', launchForum); + return false; + }); + + function checkIfReady() { + let successCount = 0; + const url = $('#installing').attr('data-url'); + const progressEl = $('#installing .progress-bar'); + setInterval(function () { + let p = parseFloat(progressEl.attr('data-percent'), 10) || 0; + p = Math.min(100, p + 0.5); + progressEl.attr('data-percent', p); + progressEl.css({ width: p + '%' }); + }, 1000); + setInterval(function () { + $.get(url + '/admin').done(function () { + if (successCount >= 5) { + window.location = url + '/admin'; + } else { + successCount += 1; + } + }); + }, 2500); + } if ($('#installing').length) { - setTimeout(function () { - window.location.reload(true); - }, 5000); + checkIfReady(); } function setupInputs() { @@ -110,6 +153,9 @@ $('document').ready(function () { function switchDatabase(field) { $('#database-config').html($('[data-database="' + field + '"]').html()); + $('#database-success').addClass('hidden'); + $('#database-error').addClass('hidden'); + $('#database-full').addClass('hidden'); } switch (type) { @@ -125,21 +171,4 @@ $('document').ready(function () { return switchDatabase(field); } } - - function launchForum() { - $('#launch .working').removeClass('hide'); - $.post('/launch', function () { - let successCount = 0; - const url = $('#launch').attr('data-url'); - setInterval(function () { - $.get(url + '/admin').done(function () { - if (successCount >= 5) { - window.location = 'admin'; - } else { - successCount += 1; - } - }); - }, 750); - }); - } }); diff --git a/public/src/modules/categoryFilter.js b/public/src/modules/categoryFilter.js index 284c735448..fcbdc35e6a 100644 --- a/public/src/modules/categoryFilter.js +++ b/public/src/modules/categoryFilter.js @@ -9,7 +9,7 @@ define('categoryFilter', ['categorySearch', 'api', 'hooks'], function (categoryS } options = options || {}; options.states = options.states || ['watching', 'notwatching', 'ignoring']; - options.template = 'partials/category/filter-dropdown-left'; + options.template = options.template || 'partials/category/filter-dropdown-left'; hooks.fire('action:category.filter.options', { el: el, options: options }); @@ -52,6 +52,8 @@ define('categoryFilter', ['categorySearch', 'api', 'hooks'], function (categoryS } else { delete currentParams.cid; } + + delete currentParams.page; if (Object.keys(currentParams).length) { url += '?' + decodeURIComponent($.param(currentParams)); } @@ -78,14 +80,16 @@ define('categoryFilter', ['categorySearch', 'api', 'hooks'], function (categoryS selectedCids.sort(function (a, b) { return a - b; }); + icon.toggleClass('invisible'); + listEl.find('[data-cid="all"] i').toggleClass('invisible', !!selectedCids.length); } else { el.find('[component="category/select/icon"]').addClass('invisible'); - selectedCids = [cid]; + listEl.find('[data-cid="all"] i').removeClass('invisible'); + selectedCids = []; } options.selectedCids = selectedCids; - listEl.find('[data-cid="all"] i').toggleClass('invisible', !!selectedCids.length); - icon.toggleClass('invisible'); + if (options.onSelect) { options.onSelect({ cid: cid, selectedCids: selectedCids.slice() }); } diff --git a/public/src/modules/categorySearch.js b/public/src/modules/categorySearch.js index 608ed21275..5dccf8308a 100644 --- a/public/src/modules/categorySearch.js +++ b/public/src/modules/categorySearch.js @@ -8,6 +8,7 @@ define('categorySearch', ['alerts', 'bootstrap'], function (alerts, bootstrap) { options = options || {}; options.privilege = options.privilege || 'topics:read'; options.states = options.states || ['watching', 'notwatching', 'ignoring']; + options.cacheList = options.hasOwnProperty('cacheList') ? options.cacheList : true; let localCategories = []; if (Array.isArray(options.localCategories)) { @@ -36,7 +37,7 @@ define('categorySearch', ['alerts', 'bootstrap'], function (alerts, bootstrap) { const val = searchEl.find('input').val(); if (val.length > 1 || (!val && !categoriesList)) { loadList(val, function (categories) { - categoriesList = categoriesList || categories; + categoriesList = options.cacheList && (categoriesList || categories); renderList(categories); }); } else if (!val && categoriesList) { diff --git a/public/src/modules/categorySelector.js b/public/src/modules/categorySelector.js index 1713c28747..3e2bfa5982 100644 --- a/public/src/modules/categorySelector.js +++ b/public/src/modules/categorySelector.js @@ -1,8 +1,8 @@ 'use strict'; define('categorySelector', [ - 'categorySearch', 'bootbox', 'hooks', -], function (categorySearch, bootbox, hooks) { + 'categorySearch', 'bootbox', 'hooks', 'translator', +], function (categorySearch, bootbox, hooks, translator) { const categorySelector = {}; categorySelector.init = function (el, options) { @@ -13,7 +13,7 @@ define('categorySelector', [ const onSelect = options.onSelect || function () {}; options.states = options.states || ['watching', 'notwatching', 'ignoring']; - options.template = 'partials/category/selector-dropdown-left'; + options.template = options.template || 'partials/category/selector-dropdown-left'; hooks.fire('action:category.selector.options', { el: el, options: options }); categorySearch.init(el, options); @@ -22,15 +22,21 @@ define('categorySelector', [ el: el, selectedCategory: null, }; + el.on('click', '[data-cid]', function () { const categoryEl = $(this); if (categoryEl.hasClass('disabled')) { return false; } selector.selectCategory(categoryEl.attr('data-cid')); - onSelect(selector.selectedCategory); + return onSelect(selector.selectedCategory); + }); + + let defaultSelectHtml = selector.el.find('[component="category-selector-selected"]').html(); + + translator.translate(defaultSelectHtml, (translated) => { + defaultSelectHtml = translated; }); - const defaultSelectHtml = selector.el.find('[component="category-selector-selected"]').html(); selector.selectCategory = function (cid) { const categoryEl = selector.el.find('[data-cid="' + cid + '"]'); selector.selectedCategory = { @@ -54,6 +60,14 @@ define('categorySelector', [ selector.getSelectedCid = function () { return selector.selectedCategory ? selector.selectedCategory.cid : 0; }; + + if (options.hasOwnProperty('selectedCategory')) { + app.parseAndTranslate(options.template, { selectedCategory: options.selectedCategory }, function (html) { + selector.el.find('[component="category-selector-selected"]').html( + html.find('[component="category-selector-selected"]').html() + ); + }); + } return selector; }; diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index 40f745043a..54dca63971 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -267,6 +267,7 @@ define('chat', [ chatModal.draggable({ start: function () { taskbar.updateActive(uuid); + chatModal.css({ bottom: 'auto', right: 'auto' }); }, stop: function () { module.focusInput(chatModal); @@ -391,6 +392,10 @@ define('chat', [ }; module.center = function (chatModal) { + const center = chatModal.attr('data-center'); + if (!center || center === 'false') { + return; + } let hideAfter = false; if (chatModal.hasClass('hide')) { chatModal.removeClass('hide'); diff --git a/public/src/modules/helpers.common.js b/public/src/modules/helpers.common.js index 32a8665f4e..d607d7e20f 100644 --- a/public/src/modules/helpers.common.js +++ b/public/src/modules/helpers.common.js @@ -27,8 +27,10 @@ module.exports = function (utils, Benchpress, relative_path) { increment, generateRepliedTo, generateWrote, - register, isoTimeToLocaleString, + shouldHideReplyContainer, + + register, __escape: identity, }; @@ -342,6 +344,14 @@ module.exports = function (utils, Benchpress, relative_path) { return new Date(isoTime).toLocaleString().replace(/,/g, ','); } + function shouldHideReplyContainer(post) { + if (post.replies.count <= 0 || post.replies.hasSingleImmediateReply) { + return true; + } + + return false; + } + function register() { Object.keys(helpers).forEach(function (helperName) { Benchpress.registerHelper(helperName, helpers[helperName]); diff --git a/public/src/modules/iconSelect.js b/public/src/modules/iconSelect.js index b85fd5af1c..3795c00e23 100644 --- a/public/src/modules/iconSelect.js +++ b/public/src/modules/iconSelect.js @@ -323,7 +323,7 @@ define('iconSelect', ['benchpress', 'bootbox'], function (Benchpress, bootbox) { } icons.remove(); iconData.forEach((iconData) => { - iconContainer.append($(``)); + iconContainer.append($(``)); }); icons = modalEl.find('.nbb-fa-icons i'); changeSelection(); diff --git a/public/src/modules/navigator.js b/public/src/modules/navigator.js index 1953e4d009..1ac9035031 100644 --- a/public/src/modules/navigator.js +++ b/public/src/modules/navigator.js @@ -439,6 +439,8 @@ define('navigator', [ } count = value; navigator.updateTextAndProgressBar(); + setThumbToIndex(index); + toggle(count > 1); }; navigator.show = function () { @@ -521,7 +523,7 @@ define('navigator', [ setThumbToIndex(index); } - toggle(!!count); + toggle(count > 1); }; navigator.getIndex = () => index; @@ -642,6 +644,14 @@ define('navigator', [ } }; + navigator.shouldScrollToPost = function (postIndex) { + if (!ajaxify.data.template.topic || postIndex <= 1) { + return false; + } + const firstPostEl = $('[component="topic"] [component="post"]').first(); + return parseInt(firstPostEl.attr('data-index'), 10) !== postIndex - 1; + }; + navigator.scrollToPostIndex = function (postIndex, highlight, duration) { const scrollTo = components.get('post', 'index', postIndex); navigator.scrollToElement(scrollTo, highlight, duration, postIndex); diff --git a/public/src/modules/notifications.js b/public/src/modules/notifications.js index e0679b8e1b..b749c2e068 100644 --- a/public/src/modules/notifications.js +++ b/public/src/modules/notifications.js @@ -74,11 +74,11 @@ define('notifications', [ Notifications.handleUnreadButton = function (notifList) { notifList.on('click', '.mark-read', function () { const $this = $(this); - const liEl = $this.parents('li[data-nid]'); - const unread = liEl.hasClass('unread'); - const nid = liEl.attr('data-nid'); + const notifEl = $this.parents('[data-nid]'); + const unread = notifEl.hasClass('unread'); + const nid = notifEl.attr('data-nid'); markNotification(nid, unread, function () { - liEl.toggleClass('unread'); + notifEl.toggleClass('unread'); $this.find('.unread').toggleClass('hidden', unread); $this.find('.read').toggleClass('hidden', !unread); }); diff --git a/public/src/modules/search.js b/public/src/modules/search.js index 879fe274ae..ebcc12dab0 100644 --- a/public/src/modules/search.js +++ b/public/src/modules/search.js @@ -1,6 +1,8 @@ 'use strict'; -define('search', ['translator', 'storage', 'hooks', 'alerts'], function (translator, storage, hooks, alerts) { +define('search', [ + 'translator', 'storage', 'hooks', 'alerts', 'bootstrap', +], function (translator, storage, hooks, alerts, bootstrap) { const Search = { current: {}, }; @@ -225,9 +227,18 @@ define('search', ['translator', 'storage', 'hooks', 'alerts'], function (transla }; Search.showAndFocusInput = function (form) { - form.find('[component="search/fields"]').removeClass('hidden'); - form.find('[component="search/button"]').addClass('hidden'); - form.find('[component="search/fields"] input[name="query"]').trigger('focus'); + const parentDropdown = form.parents('.dropdown-menu'); + if (parentDropdown.length) { // handle if form is inside a dropdown aka harmony + const toggle = parentDropdown.siblings('[data-bs-toggle]'); + const dropdownEl = bootstrap.Dropdown.getOrCreateInstance(toggle[0]); + if (dropdownEl) { + dropdownEl.show(); + } + } else { // persona and others + form.find('[component="search/fields"]').removeClass('hidden'); + form.find('[component="search/button"]').addClass('hidden'); + form.find('[component="search/fields"] input[name="query"]').trigger('focus'); + } }; Search.query = function (data, callback) { diff --git a/public/src/modules/settings.js b/public/src/modules/settings.js index 4f90161bc3..5edeb37e51 100644 --- a/public/src/modules/settings.js +++ b/public/src/modules/settings.js @@ -557,7 +557,7 @@ define('settings', ['hooks', 'alerts'], function (hooks, alerts) { saveBtn.classList.toggle('saved', true); setTimeout(() => { saveBtn.classList.toggle('saved', false); - }, 5000); + }, 1500); } }); } diff --git a/public/src/modules/tagFilter.js b/public/src/modules/tagFilter.js index 9a544ecd92..d8a4557b70 100644 --- a/public/src/modules/tagFilter.js +++ b/public/src/modules/tagFilter.js @@ -101,6 +101,7 @@ define('tagFilter', ['hooks', 'alerts', 'bootstrap'], function (hooks, alerts, b } else { delete currentParams.tag; } + delete currentParams.page; if (Object.keys(currentParams).length) { url += '?' + decodeURIComponent($.param(currentParams)); } diff --git a/public/src/modules/uploader.js b/public/src/modules/uploader.js index a9e91e7631..9ce81b97af 100644 --- a/public/src/modules/uploader.js +++ b/public/src/modules/uploader.js @@ -61,6 +61,7 @@ define('uploader', ['jquery-form'], function () { if (type === 'error') { uploadModal.find('#fileUploadSubmitBtn').removeClass('disabled'); } + message = message.replace(/&#44/g, ','); uploadModal.find('#alert-' + type).translateText(message).removeClass('hide'); } @@ -72,7 +73,13 @@ define('uploader', ['jquery-form'], function () { }, error: function (xhr) { xhr = maybeParse(xhr); - showAlert(uploadModal, 'error', xhr.responseJSON?.status?.message || `[[error:upload-error-fallback, ${xhr.status} ${xhr.statusText}]]`); + showAlert( + uploadModal, + 'error', + xhr.responseJSON?.status?.message || // apiv3 + xhr.responseJSON?.error || // { "error": "[[error:some-error]]]" } + `[[error:upload-error-fallback, ${xhr.status} ${xhr.statusText}]]` + ); }, uploadProgress: function (event, position, total, percent) { uploadModal.find('#upload-progress-bar').css('width', percent + '%'); @@ -99,7 +106,7 @@ define('uploader', ['jquery-form'], function () { function maybeParse(response) { if (typeof response === 'string') { try { - return $.parseJSON(response); + return JSON.parse(response); } catch (e) { return { error: '[[error:parse-error]]' }; } diff --git a/src/analytics.js b/src/analytics.js index 03be429637..73a2f164b8 100644 --- a/src/analytics.js +++ b/src/analytics.js @@ -237,23 +237,26 @@ Analytics.getDailyStatsForSet = async function (set, day, numDays) { set = `analytics:${set}`; } - const daysArr = []; day = new Date(day); // set the date to tomorrow, because getHourlyStatsForSet steps *backwards* 24 hours to sum up the values day.setDate(day.getDate() + 1); day.setHours(0, 0, 0, 0); - while (numDays > 0) { - /* eslint-disable no-await-in-loop */ + async function getHourlyStats(hour) { const dayData = await Analytics.getHourlyStatsForSet( set, - day.getTime() - (1000 * 60 * 60 * 24 * (numDays - 1)), + hour, 24 ); - daysArr.push(dayData.reduce((cur, next) => cur + next)); + return dayData.reduce((cur, next) => cur + next); + } + const hours = []; + while (numDays > 0) { + hours.push(day.getTime() - (1000 * 60 * 60 * 24 * (numDays - 1))); numDays -= 1; } - return daysArr; + + return await Promise.all(hours.map(getHourlyStats)); }; Analytics.getUnwrittenPageviews = function () { diff --git a/src/api/helpers.js b/src/api/helpers.js index 24c2540ccb..7ab9136ecc 100644 --- a/src/api/helpers.js +++ b/src/api/helpers.js @@ -21,6 +21,7 @@ exports.setDefaultPostData = function (reqOrSocket, data) { exports.buildReqObject = (req, payload) => { req = req || {}; const headers = req.headers || (req.request && req.request.headers) || {}; + const session = req.session || (req.request && req.request.session) || {}; const encrypted = req.connection ? !!req.connection.encrypted : false; let { host } = headers; const referer = headers.referer || ''; @@ -34,13 +35,15 @@ exports.buildReqObject = (req, payload) => { params: req.params, method: req.method, body: payload || req.body, - session: req.session, + session: session, ip: req.ip, host: host, protocol: encrypted ? 'https' : 'http', secure: encrypted, url: referer, path: referer.slice(referer.indexOf(host) + host.length), + baseUrl: req.baseUrl, + originalUrl: req.originalUrl, headers: headers, }; }; diff --git a/src/api/users.js b/src/api/users.js index 9b37d84c2f..84fe4b2b3b 100644 --- a/src/api/users.js +++ b/src/api/users.js @@ -18,7 +18,8 @@ const plugins = require('../plugins'); const events = require('../events'); const translator = require('../translator'); const sockets = require('../socket.io'); -const utils = require('../utils'); + +// const api = require('.'); const usersAPI = module.exports; @@ -308,41 +309,25 @@ usersAPI.unmute = async function (caller, data) { }; usersAPI.generateToken = async (caller, { uid, description }) => { + const api = require('.'); await hasAdminPrivilege(caller.uid, 'settings'); if (parseInt(uid, 10) !== parseInt(caller.uid, 10)) { throw new Error('[[error:invalid-uid]]'); } - const settings = await meta.settings.get('core.api'); - settings.tokens = settings.tokens || []; - - const newToken = { - token: utils.generateUUID(), - uid: caller.uid, - description: description || '', - timestamp: Date.now(), - }; - settings.tokens.push(newToken); - await meta.settings.set('core.api', settings); - - return newToken; + const tokenObj = await api.utils.tokens.generate({ uid, description }); + return tokenObj.token; }; usersAPI.deleteToken = async (caller, { uid, token }) => { + const api = require('.'); await hasAdminPrivilege(caller.uid, 'settings'); if (parseInt(uid, 10) !== parseInt(caller.uid, 10)) { throw new Error('[[error:invalid-uid]]'); } - const settings = await meta.settings.get('core.api'); - const beforeLen = settings.tokens.length; - settings.tokens = settings.tokens.filter(tokenObj => tokenObj.token !== token); - if (beforeLen !== settings.tokens.length) { - await meta.settings.set('core.api', settings); - return true; - } - - return false; + await api.utils.tokens.delete(token); + return true; }; const getSessionAsync = util.promisify((sid, callback) => { diff --git a/src/api/utils.js b/src/api/utils.js index 63d5473e12..4597bed42b 100644 --- a/src/api/utils.js +++ b/src/api/utils.js @@ -2,12 +2,125 @@ const db = require('../database'); +const user = require('../user'); +const srcUtils = require('../utils'); + const utils = module.exports; // internal token management utilities only +utils.tokens = {}; + +utils.tokens.list = async (start = 0, stop = -1) => { + // Validation handled at higher level + const tokens = await db.getSortedSetRange(`tokens:createtime`, start, stop); + return await utils.tokens.get(tokens); +}; + +utils.tokens.count = async () => await db.sortedSetCard('tokens:createtime'); + +utils.tokens.get = async (tokens) => { + // Validation handled at higher level + if (!tokens) { + throw new Error('[[error:invalid-data]]'); + } + + let singular = false; + if (!Array.isArray(tokens)) { + tokens = [tokens]; + singular = true; + } + + let [tokenObjs, lastSeen] = await Promise.all([ + db.getObjects(tokens.map(t => `token:${t}`)), + utils.tokens.getLastSeen(tokens), + ]); + + tokenObjs = tokenObjs.map((tokenObj, idx) => { + if (!tokenObj) { + return null; + } + + tokenObj.token = tokens[idx]; + tokenObj.lastSeen = lastSeen[idx]; + tokenObj.lastSeenISO = lastSeen[idx] ? new Date(lastSeen[idx]).toISOString() : null; + tokenObj.timestampISO = new Date(parseInt(tokenObj.timestamp, 10)).toISOString(); + + return tokenObj; + }); + + return singular ? tokenObjs[0] : tokenObjs; +}; + +utils.tokens.generate = async ({ uid, description }) => { + if (parseInt(uid, 10) !== 0) { + const uidExists = await user.exists(uid); + if (!uidExists) { + throw new Error('[[error:no-user]]'); + } + } + + const token = srcUtils.generateUUID(); + const timestamp = Date.now(); + + return utils.tokens.add({ token, uid, description, timestamp }); +}; + +utils.tokens.add = async ({ token, uid, description = '', timestamp = Date.now() }) => { + if (!token || uid === undefined) { + throw new Error('[[error:invalid-data]]'); + } + + await Promise.all([ + db.setObject(`token:${token}`, { uid, description, timestamp }), + db.sortedSetAdd(`tokens:createtime`, timestamp, token), + db.sortedSetAdd(`tokens:uid`, uid, token), + ]); + + return token; +}; + +utils.tokens.update = async (token, { uid, description }) => { + await Promise.all([ + db.setObject(`token:${token}`, { uid, description }), + db.sortedSetAdd(`tokens:uid`, uid, token), + ]); + + return await utils.tokens.get(token); +}; + +utils.tokens.roll = async (token) => { + const [createTime, uid, lastSeen] = await db.sortedSetsScore([`tokens:createtime`, `tokens:uid`, `tokens:lastSeen`], token); + const newToken = srcUtils.generateUUID(); + + const updates = [ + db.rename(`token:${token}`, `token:${newToken}`), + db.sortedSetRemove(`tokens:createtime`, token), + db.sortedSetRemove(`tokens:uid`, token), + db.sortedSetRemove(`tokens:lastSeen`, token), + db.sortedSetAdd(`tokens:createtime`, createTime, newToken), + db.sortedSetAdd(`tokens:uid`, uid, newToken), + ]; + + if (lastSeen) { + updates.push(db.sortedSetAdd(`tokens:lastSeen`, lastSeen, newToken)); + } + + await Promise.all(updates); + + return newToken; +}; + +utils.tokens.delete = async (token) => { + await Promise.all([ + db.delete(`token:${token}`), + db.sortedSetRemove(`tokens:createtime`, token), + db.sortedSetRemove(`tokens:uid`, token), + db.sortedSetRemove(`tokens:lastSeen`, token), + ]); +}; -utils.log = async (token) => { +utils.tokens.log = async (token) => { await db.sortedSetAdd('tokens:lastSeen', Date.now(), token); }; -utils.getLastSeen = async tokens => await db.sortedSetScores('tokens:lastSeen', tokens); +utils.tokens.getLastSeen = async tokens => await db.sortedSetScores('tokens:lastSeen', tokens); diff --git a/src/categories/index.js b/src/categories/index.js index 9fc7479a69..3fe5d9d457 100644 --- a/src/categories/index.js +++ b/src/categories/index.js @@ -364,6 +364,13 @@ Categories.buildForSelectCategories = function (categories, fields, parentCid) { const rootCategories = categories.filter(category => category && category.parentCid === parentCid); + rootCategories.sort((a, b) => { + if (a.order !== b.order) { + return a.order - b.order; + } + return a.cid - b.cid; + }); + rootCategories.forEach(category => recursive(category, categoriesData, '', 0)); const pickFields = [ diff --git a/src/controllers/404.js b/src/controllers/404.js index 8b5fda6ebf..0991d3cd86 100644 --- a/src/controllers/404.js +++ b/src/controllers/404.js @@ -60,7 +60,7 @@ exports.send404 = async function (req, res) { 'fa-dragon', 'fa-horse', 'fa-dove', ]; await middleware.buildHeaderAsync(req, res); - await res.render('404', { + res.render('404', { path: validator.escape(path), title: '[[global:404.title]]', bodyClass: helpers.buildBodyClass(req, res), diff --git a/src/controllers/accounts/settings.js b/src/controllers/accounts/settings.js index d7c6b3d45c..46b54dd271 100644 --- a/src/controllers/accounts/settings.js +++ b/src/controllers/accounts/settings.js @@ -14,6 +14,7 @@ const notifications = require('../../notifications'); const db = require('../../database'); const helpers = require('../helpers'); const accountHelpers = require('./helpers'); +const slugify = require('../../slugify'); const settingsController = module.exports; @@ -39,13 +40,15 @@ settingsController.get = async function (req, res, next) { uid: req.uid, }); - const [notificationSettings, routes] = await Promise.all([ + const [notificationSettings, routes, bsSkinOptions] = await Promise.all([ getNotificationSettings(userData), getHomePageRoutes(userData), + getSkinOptions(userData), ]); userData.customSettings = data.customSettings; userData.homePageRoutes = routes; + userData.bootswatchSkinOptions = bsSkinOptions; userData.notificationSettings = notificationSettings; userData.disableEmailSubscriptions = meta.config.disableEmailSubscriptions; @@ -56,16 +59,6 @@ settingsController.get = async function (req, res, next) { { value: 'biweek', name: '[[user:digest_biweekly]]', selected: userData.settings.dailyDigestFreq === 'biweek' }, { value: 'month', name: '[[user:digest_monthly]]', selected: userData.settings.dailyDigestFreq === 'month' }, ]; - userData.bootswatchSkinOptions = [ - { name: 'Default', value: '' }, - ]; - userData.bootswatchSkinOptions.push( - ...meta.css.supportedSkins.map(skin => ({ name: _.capitalize(skin), value: skin })) - ); - - userData.bootswatchSkinOptions.forEach((skin) => { - skin.selected = skin.value === userData.settings.bootswatchSkin; - }); userData.languages.forEach((language) => { language.selected = language.code === userData.settings.userLang; @@ -227,3 +220,29 @@ async function getHomePageRoutes(userData) { return routes; } + +async function getSkinOptions(userData) { + const defaultSkin = _.capitalize(meta.config.bootswatchSkin) || '[[user:no-skin]]'; + const bootswatchSkinOptions = [ + { name: '[[user:no-skin]]', value: 'noskin' }, + { name: `[[user:default, ${defaultSkin}]]`, value: '' }, + ]; + const customSkins = await meta.settings.get('custom-skins'); + if (customSkins && Array.isArray(customSkins['custom-skin-list'])) { + customSkins['custom-skin-list'].forEach((customSkin) => { + bootswatchSkinOptions.push({ + name: customSkin['custom-skin-name'], + value: slugify(customSkin['custom-skin-name']), + }); + }); + } + + bootswatchSkinOptions.push( + ...meta.css.supportedSkins.map(skin => ({ name: _.capitalize(skin), value: skin })) + ); + + bootswatchSkinOptions.forEach((skin) => { + skin.selected = skin.value === userData.settings.bootswatchSkin; + }); + return bootswatchSkinOptions; +} diff --git a/src/controllers/admin/categories.js b/src/controllers/admin/categories.js index d901e65f0f..597f8ff55e 100644 --- a/src/controllers/admin/categories.js +++ b/src/controllers/admin/categories.js @@ -60,8 +60,9 @@ categoriesController.getAll = async function (req, res) { } const fields = [ - 'cid', 'name', 'icon', 'parentCid', 'disabled', 'link', 'order', - 'color', 'bgColor', 'backgroundImage', 'imageClass', 'subCategoriesPerPage', + 'cid', 'name', 'icon', 'parentCid', 'disabled', 'link', + 'order', 'color', 'bgColor', 'backgroundImage', 'imageClass', + 'subCategoriesPerPage', 'description', ]; const categoriesData = await categories.getCategoriesFields(cids, fields); const result = await plugins.hooks.fire('filter:admin.categories.get', { categories: categoriesData, fields: fields }); @@ -101,6 +102,7 @@ categoriesController.getAll = async function (req, res) { breadcrumbs: crumbs, pagination: pagination.create(page, pageCount, req.query), categoriesPerPage: meta.config.categoriesPerPage, + selectCategoryLabel: '[[admin/manage/categories:jump-to]]', }); }; diff --git a/src/controllers/admin/dashboard.js b/src/controllers/admin/dashboard.js index 711bc0e9fe..a8930e35f4 100644 --- a/src/controllers/admin/dashboard.js +++ b/src/controllers/admin/dashboard.js @@ -128,12 +128,13 @@ async function getStats() { } let results = await Promise.all([ - getStatsForSet('ip:recent', 'uniqueIPCount'), + getStatsFromAnalytics('uniquevisitors', 'uniqueIPCount'), getStatsFromAnalytics('logins', 'loginCount'), getStatsForSet('users:joindate', 'userCount'), getStatsForSet('posts:pid', 'postCount'), getStatsForSet('topics:tid', 'topicCount'), ]); + results[0].name = '[[admin/dashboard:unique-visitors]]'; results[1].name = '[[admin/dashboard:logins]]'; diff --git a/src/controllers/admin/settings.js b/src/controllers/admin/settings.js index e0b3e9b6da..9ecf08548d 100644 --- a/src/controllers/admin/settings.js +++ b/src/controllers/admin/settings.js @@ -10,7 +10,7 @@ const languages = require('../../languages'); const navigationAdmin = require('../../navigation/admin'); const social = require('../../social'); const api = require('../../api'); - +const pagination = require('../../pagination'); const helpers = require('../helpers'); const translator = require('../../translator'); @@ -18,13 +18,27 @@ const settingsController = module.exports; settingsController.get = async function (req, res) { const term = req.params.term || 'general'; - res.render(`admin/settings/${term}`); + const payload = { + title: `[[admin/menu:settings/${term}]]`, + }; + if (term === 'general') { + payload.routes = await helpers.getHomePageRoutes(req.uid); + payload.postSharing = await social.getPostSharing(); + const languageData = await languages.list(); + languageData.forEach((language) => { + language.selected = language.code === meta.config.defaultLang; + }); + payload.languages = languageData; + payload.autoDetectLang = meta.config.autoDetectLang; + } + res.render(`admin/settings/${term}`, payload); }; settingsController.email = async (req, res) => { const emails = await emailer.getTemplates(meta.config); res.render('admin/settings/email', { + title: '[[admin/menu:settings/email]]', emails: emails, sendable: emails.filter(e => !e.path.includes('_plaintext') && !e.path.includes('partials')).map(tpl => tpl.path), services: emailer.listServices(), @@ -38,6 +52,7 @@ settingsController.user = async (req, res) => { label: `[[notifications:${type}]]`, })); res.render('admin/settings/user', { + title: '[[admin/menu:settings/user]]', notificationSettings: notificationSettings, }); }; @@ -45,6 +60,7 @@ settingsController.user = async (req, res) => { settingsController.post = async (req, res) => { const groupData = await groups.getNonPrivilegeGroups('groups:createtime', 0, -1); res.render('admin/settings/post', { + title: '[[admin/menu:settings/post]]', groupsExemptFromPostQueue: groupData, }); }; @@ -52,22 +68,11 @@ settingsController.post = async (req, res) => { settingsController.advanced = async (req, res) => { const groupData = await groups.getNonPrivilegeGroups('groups:createtime', 0, -1); res.render('admin/settings/advanced', { + title: '[[admin/menu:settings/advanced]]', groupsExemptFromMaintenanceMode: groupData, }); }; -settingsController.languages = async function (req, res) { - const languageData = await languages.list(); - languageData.forEach((language) => { - language.selected = language.code === meta.config.defaultLang; - }); - - res.render('admin/settings/languages', { - languages: languageData, - autoDetectLang: meta.config.autoDetectLang, - }); -}; - settingsController.navigation = async function (req, res) { const [admin, allGroups] = await Promise.all([ navigationAdmin.getAdmin(), @@ -94,31 +99,23 @@ settingsController.navigation = async function (req, res) { }); admin.navigation = admin.enabled.slice(); - + admin.title = '[[admin/menu:settings/navigation]]'; res.render('admin/settings/navigation', admin); }; -settingsController.homepage = async function (req, res) { - const routes = await helpers.getHomePageRoutes(req.uid); - res.render('admin/settings/homepage', { routes: routes }); -}; - -settingsController.social = async function (req, res) { - const posts = await social.getPostSharing(); - res.render('admin/settings/social', { - posts: posts, - }); -}; - settingsController.api = async (req, res) => { - const { tokens = [] } = await meta.settings.get('core.api'); - const scores = await api.utils.getLastSeen(tokens.map(t => t.token)); - - const [lastSeen, lastSeenISO] = tokens.reduce((memo, cur, idx) => { - memo[0][cur.token] = scores[idx]; - memo[1][cur.token] = new Date(scores[idx]).toISOString(); - return memo; - }, [{}, {}]); - - res.render('admin/settings/api', { lastSeen, lastSeenISO }); + const page = parseInt(req.query.page, 10) || 1; + const resultsPerPage = 50; + const start = Math.max(0, page - 1) * resultsPerPage; + const stop = start + resultsPerPage - 1; + const [tokens, count] = await Promise.all([ + api.utils.tokens.list(start, stop), + api.utils.tokens.count(), + ]); + const pageCount = Math.ceil(count / resultsPerPage); + res.render('admin/settings/api', { + title: '[[admin/menu:settings/api]]', + tokens, + pagination: pagination.create(page, pageCount, req.query), + }); }; diff --git a/src/controllers/admin/uploads.js b/src/controllers/admin/uploads.js index 6c20300e17..0f476c5c47 100644 --- a/src/controllers/admin/uploads.js +++ b/src/controllers/admin/uploads.js @@ -118,25 +118,23 @@ uploadsController.uploadCategoryPicture = async function (req, res, next) { return next(new Error('[[error:invalid-json]]')); } - if (validateUpload(res, uploadedFile, allowedImageTypes)) { - const filename = `category-${params.cid}${path.extname(uploadedFile.name)}`; - await uploadImage(filename, 'category', uploadedFile, req, res, next); - } + await validateUpload(uploadedFile, allowedImageTypes); + const filename = `category-${params.cid}${path.extname(uploadedFile.name)}`; + await uploadImage(filename, 'category', uploadedFile, req, res, next); }; uploadsController.uploadFavicon = async function (req, res, next) { const uploadedFile = req.files.files[0]; const allowedTypes = ['image/x-icon', 'image/vnd.microsoft.icon']; - if (validateUpload(res, uploadedFile, allowedTypes)) { - try { - const imageObj = await file.saveFileToLocal('favicon.ico', 'system', uploadedFile.path); - res.json([{ name: uploadedFile.name, url: imageObj.url }]); - } catch (err) { - next(err); - } finally { - file.delete(uploadedFile.path); - } + await validateUpload(uploadedFile, allowedTypes); + try { + const imageObj = await file.saveFileToLocal('favicon.ico', 'system', uploadedFile.path); + res.json([{ name: uploadedFile.name, url: imageObj.url }]); + } catch (err) { + next(err); + } finally { + file.delete(uploadedFile.path); } }; @@ -145,25 +143,24 @@ uploadsController.uploadTouchIcon = async function (req, res, next) { const allowedTypes = ['image/png']; const sizes = [36, 48, 72, 96, 144, 192, 512]; - if (validateUpload(res, uploadedFile, allowedTypes)) { - try { - const imageObj = await file.saveFileToLocal('touchicon-orig.png', 'system', uploadedFile.path); - // Resize the image into squares for use as touch icons at various DPIs - for (const size of sizes) { - /* eslint-disable no-await-in-loop */ - await image.resizeImage({ - path: uploadedFile.path, - target: path.join(nconf.get('upload_path'), 'system', `touchicon-${size}.png`), - width: size, - height: size, - }); - } - res.json([{ name: uploadedFile.name, url: imageObj.url }]); - } catch (err) { - next(err); - } finally { - file.delete(uploadedFile.path); + await validateUpload(uploadedFile, allowedTypes); + try { + const imageObj = await file.saveFileToLocal('touchicon-orig.png', 'system', uploadedFile.path); + // Resize the image into squares for use as touch icons at various DPIs + for (const size of sizes) { + /* eslint-disable no-await-in-loop */ + await image.resizeImage({ + path: uploadedFile.path, + target: path.join(nconf.get('upload_path'), 'system', `touchicon-${size}.png`), + width: size, + height: size, + }); } + res.json([{ name: uploadedFile.name, url: imageObj.url }]); + } catch (err) { + next(err); + } finally { + file.delete(uploadedFile.path); } }; @@ -172,15 +169,14 @@ uploadsController.uploadMaskableIcon = async function (req, res, next) { const uploadedFile = req.files.files[0]; const allowedTypes = ['image/png']; - if (validateUpload(res, uploadedFile, allowedTypes)) { - try { - const imageObj = await file.saveFileToLocal('maskableicon-orig.png', 'system', uploadedFile.path); - res.json([{ name: uploadedFile.name, url: imageObj.url }]); - } catch (err) { - next(err); - } finally { - file.delete(uploadedFile.path); - } + await validateUpload(uploadedFile, allowedTypes); + try { + const imageObj = await file.saveFileToLocal('maskableicon-orig.png', 'system', uploadedFile.path); + res.json([{ name: uploadedFile.name, url: imageObj.url }]); + } catch (err) { + next(err); + } finally { + file.delete(uploadedFile.path); } }; @@ -219,20 +215,16 @@ uploadsController.uploadOgImage = async function (req, res, next) { async function upload(name, req, res, next) { const uploadedFile = req.files.files[0]; - if (validateUpload(res, uploadedFile, allowedImageTypes)) { - const filename = name + path.extname(uploadedFile.name); - await uploadImage(filename, 'system', uploadedFile, req, res, next); - } + await validateUpload(uploadedFile, allowedImageTypes); + const filename = name + path.extname(uploadedFile.name); + await uploadImage(filename, 'system', uploadedFile, req, res, next); } -function validateUpload(res, uploadedFile, allowedTypes) { +async function validateUpload(uploadedFile, allowedTypes) { if (!allowedTypes.includes(uploadedFile.type)) { file.delete(uploadedFile.path); - res.json({ error: `[[error:invalid-image-type, ${allowedTypes.join(', ')}]]` }); - return false; + throw new Error(`[[error:invalid-image-type, ${allowedTypes.join(', ')}]]`); } - - return true; } async function uploadImage(filename, folder, uploadedFile, req, res, next) { diff --git a/src/controllers/admin/users.js b/src/controllers/admin/users.js index d6166bc165..aab9045eca 100644 --- a/src/controllers/admin/users.js +++ b/src/controllers/admin/users.js @@ -162,12 +162,20 @@ usersController.search = async function (req, res) { async function loadUserInfo(callerUid, uids) { async function getIPs() { - return await Promise.all(uids.map(uid => db.getSortedSetRevRange(`uid:${uid}:ip`, 0, -1))); + return await Promise.all(uids.map(uid => db.getSortedSetRevRange(`uid:${uid}:ip`, 0, 4))); } - const [isAdmin, userData, lastonline, ips] = await Promise.all([ + async function getConfirmObjs() { + const keys = uids.map(uid => `confirm:byUid:${uid}`); + const codes = await db.mget(keys); + const confirmObjs = await db.getObjects(codes.map(code => `confirm:${code}`)); + return uids.map((uid, index) => confirmObjs[index]); + } + + const [isAdmin, userData, lastonline, confirmObjs, ips] = await Promise.all([ user.isAdministrator(uids), user.getUsersWithFields(uids, userFields, callerUid), db.sortedSetScores('users:online', uids), + getConfirmObjs(), getIPs(), ]); userData.forEach((user, index) => { @@ -179,6 +187,13 @@ async function loadUserInfo(callerUid, uids) { user.lastonlineISO = utils.toISOString(timestamp); user.ips = ips[index]; user.ip = ips[index] && ips[index][0] ? ips[index][0] : null; + user.emailToConfirm = user.email; + if (confirmObjs[index] && confirmObjs[index].email) { + const confirmObj = confirmObjs[index]; + user['email:expired'] = !confirmObj.expires || Date.now() >= confirmObj.expires; + user['email:pending'] = confirmObj.expires && Date.now() < confirmObj.expires; + user.emailToConfirm = confirmObj.email; + } } }); return userData; @@ -199,6 +214,7 @@ usersController.registrationQueue = async function (req, res) { const pageCount = Math.max(1, Math.ceil(data.registrationQueueCount / itemsPerPage)); data.pagination = pagination.create(page, pageCount); data.customHeaders = data.customHeaders.headers; + data.title = '[[pages:registration-queue]]'; res.render('admin/manage/registration', data); }; diff --git a/src/controllers/api.js b/src/controllers/api.js index a2a6f0c96b..e0f23206f9 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -98,7 +98,7 @@ apiController.loadConfig = async function (req) { } // Handle old skin configs - const oldSkins = ['noskin', 'default']; + const oldSkins = ['default']; settings.bootswatchSkin = oldSkins.includes(settings.bootswatchSkin) ? '' : settings.bootswatchSkin; config.usePagination = settings.usePagination; @@ -113,7 +113,14 @@ apiController.loadConfig = async function (req) { config.categoryTopicSort = settings.categoryTopicSort || config.categoryTopicSort; config.topicSearchEnabled = settings.topicSearchEnabled || false; config.disableCustomUserSkins = meta.config.disableCustomUserSkins === 1; - config.bootswatchSkin = (meta.config.disableCustomUserSkins !== 1 && settings.bootswatchSkin && settings.bootswatchSkin !== '') ? settings.bootswatchSkin : ''; + config.defaultBootswatchSkin = config.bootswatchSkin; + if (!config.disableCustomUserSkins && settings.bootswatchSkin) { + if (settings.bootswatchSkin === 'noskin') { + config.bootswatchSkin = ''; + } else if (settings.bootswatchSkin !== '' && await meta.css.isSkinValid(settings.bootswatchSkin)) { + config.bootswatchSkin = settings.bootswatchSkin; + } + } // Overrides based on privilege config.disableChatMessageEditing = isAdminOrGlobalMod ? false : config.disableChatMessageEditing; diff --git a/src/controllers/category.js b/src/controllers/category.js index 1c3a7d8f82..44755f2f7f 100644 --- a/src/controllers/category.js +++ b/src/controllers/category.js @@ -189,6 +189,7 @@ function addTags(categoryData, res) { res.locals.metaTags.push({ property: 'og:image', content: categoryData.backgroundImage, + noEscape: true, }); } diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index 3d15ea12be..5981cdc47a 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -238,10 +238,11 @@ helpers.buildBreadcrumbs = function (crumbs) { }; helpers.buildTitle = function (pageTitle) { - const titleLayout = meta.config.titleLayout || '{pageTitle} | {browserTitle}'; + pageTitle = pageTitle || ''; + const titleLayout = meta.config.titleLayout || `${pageTitle ? '{pageTitle} | ' : ''}{browserTitle}`; const browserTitle = validator.escape(String(meta.config.browserTitle || meta.config.title || 'NodeBB')); - pageTitle = pageTitle || ''; + const title = titleLayout.replace('{pageTitle}', () => pageTitle).replace('{browserTitle}', () => browserTitle); return title; }; diff --git a/src/controllers/recent.js b/src/controllers/recent.js index ee6347ebc7..32d253edd7 100644 --- a/src/controllers/recent.js +++ b/src/controllers/recent.js @@ -68,10 +68,12 @@ recentController.getData = async function (req, url, sort) { data.breadcrumbs = helpers.buildBreadcrumbs([{ text: `[[${url}:title]]` }]); } + const query = { ...req.query }; + delete query.page; data.canPost = canPost; data.showSelect = isPrivileged; data.showTopicTools = isPrivileged; - data.allCategoriesUrl = baseUrl + helpers.buildQueryString(req.query, 'cid', ''); + data.allCategoriesUrl = baseUrl + helpers.buildQueryString(query, 'cid', ''); data.selectedCategory = categoryData.selectedCategory; data.selectedCids = categoryData.selectedCids; data.selectedTag = tagData.selectedTag; @@ -82,9 +84,9 @@ recentController.getData = async function (req, url, sort) { data.rssFeedUrl += `?uid=${req.uid}&token=${rssToken}`; } - data.filters = helpers.buildFilters(baseUrl, filter, req.query); + data.filters = helpers.buildFilters(baseUrl, filter, query); data.selectedFilter = data.filters.find(filter => filter && filter.selected); - data.terms = helpers.buildTerms(baseUrl, term, req.query); + data.terms = helpers.buildTerms(baseUrl, term, query); data.selectedTerm = data.terms.find(term => term && term.selected); const pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage)); diff --git a/src/controllers/search.js b/src/controllers/search.js index 49fd58a6dc..a12c433edd 100644 --- a/src/controllers/search.js +++ b/src/controllers/search.js @@ -129,7 +129,8 @@ searchController.search = async function (req, res, next) { ), }, categories: { - active: !!(Array.isArray(data.categories) && data.categories.length), + active: !!(Array.isArray(data.categories) && data.categories.length && + (data.categories.length > 1 || data.categories[0] !== 'all')), label: await buildSelectedCategoryLabel(searchData.selectedCids), }, }; diff --git a/src/controllers/topics.js b/src/controllers/topics.js index 33877ba11a..d177da7cbc 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -72,8 +72,16 @@ topicsController.get = async function getTopic(req, res, next) { const sort = req.query.sort || settings.topicPostSort; const set = sort === 'most_votes' ? `tid:${tid}:posts:votes` : `tid:${tid}:posts`; const reverse = sort === 'newest_to_oldest' || sort === 'most_votes'; - if (settings.usePagination && !req.query.page) { - currentPage = calculatePageFromIndex(postIndex, settings); + if (settings.usePagination) { + if (!req.query.page) { + currentPage = calculatePageFromIndex(postIndex, settings); + } else { + const top = ((currentPage - 1) * settings.postsPerPage) + 1; + const bottom = top + settings.postsPerPage; + if (!req.params.post_index || (postIndex < top || postIndex > bottom)) { + postIndex = top; + } + } } const { start, stop } = calculateStartStop(currentPage, postIndex, settings); @@ -206,9 +214,10 @@ async function addTags(topicData, req, res) { } description = description.replace(/\n/g, ' '); - const mainPost = postIndex === 0 && postAtIndex ? - postAtIndex : - await topics.getMainPost(topicData.tid, req.uid); + let mainPost = topicData.posts.find(p => parseInt(p.index, 10) === 0); + if (!mainPost) { + mainPost = await posts.getPostData(topicData.mainPid); + } res.locals.metaTags = [ { diff --git a/src/controllers/write/admin.js b/src/controllers/write/admin.js index adac0a6ef2..b7ba39db10 100644 --- a/src/controllers/write/admin.js +++ b/src/controllers/write/admin.js @@ -28,3 +28,32 @@ Admin.getAnalyticsData = async (req, res) => { units: req.query.units, })); }; + +Admin.generateToken = async (req, res) => { + const { uid, description } = req.body; + const token = await api.utils.tokens.generate({ uid, description }); + helpers.formatApiResponse(200, res, await api.utils.tokens.get(token)); +}; + +Admin.getToken = async (req, res) => { + helpers.formatApiResponse(200, res, await api.utils.tokens.get(req.params.token)); +}; + +Admin.updateToken = async (req, res) => { + const { uid, description } = req.body; + const { token } = req.params; + + helpers.formatApiResponse(200, res, await api.utils.tokens.update(token, { uid, description })); +}; + +Admin.rollToken = async (req, res) => { + let { token } = req.params; + + token = await api.utils.tokens.roll(token); + helpers.formatApiResponse(200, res, await api.utils.tokens.get(token)); +}; + +Admin.deleteToken = async (req, res) => { + const { token } = req.params; + helpers.formatApiResponse(200, res, await api.utils.tokens.delete(token)); +}; diff --git a/src/database/mongo.js b/src/database/mongo.js index 5ecf81d285..02bc79d7d3 100644 --- a/src/database/mongo.js +++ b/src/database/mongo.js @@ -59,8 +59,8 @@ mongoModule.questions = [ }, ]; -mongoModule.init = async function () { - client = await connection.connect(nconf.get('mongo')); +mongoModule.init = async function (opts) { + client = await connection.connect(opts || nconf.get('mongo')); mongoModule.client = client.db(); }; @@ -175,6 +175,9 @@ async function getCollectionStats(db) { mongoModule.close = async function () { await client.close(); + if (mongoModule.objectCache) { + mongoModule.objectCache.reset(); + } }; require('./mongo/main')(mongoModule); diff --git a/src/database/mongo/main.js b/src/database/mongo/main.js index e7b961a30c..7ac9e64bef 100644 --- a/src/database/mongo/main.js +++ b/src/database/mongo/main.js @@ -77,6 +77,24 @@ module.exports = function (module) { return value; }; + module.mget = async function (keys) { + if (!keys || !Array.isArray(keys) || !keys.length) { + return []; + } + + const data = await module.client.collection('objects').find( + { _key: { $in: keys } }, + { projection: { _id: 0 } } + ).toArray(); + + const map = {}; + data.forEach((d) => { + map[d._key] = d.data; + }); + + return keys.map(k => (map.hasOwnProperty(k) ? map[k] : null)); + }; + module.set = async function (key, value) { if (!key) { return; diff --git a/src/database/postgres.js b/src/database/postgres.js index f09041c7c3..ee36941a17 100644 --- a/src/database/postgres.js +++ b/src/database/postgres.js @@ -45,9 +45,9 @@ postgresModule.questions = [ }, ]; -postgresModule.init = async function () { +postgresModule.init = async function (opts) { const { Pool } = require('pg'); - const connOptions = connection.getConnectionOptions(); + const connOptions = connection.getConnectionOptions(opts); const pool = new Pool(connOptions); postgresModule.pool = pool; postgresModule.client = pool; diff --git a/src/database/postgres/main.js b/src/database/postgres/main.js index ebb2c7a0cc..444af9e5be 100644 --- a/src/database/postgres/main.js +++ b/src/database/postgres/main.js @@ -119,6 +119,31 @@ SELECT s."data" t return res.rows.length ? res.rows[0].t : null; }; + module.mget = async function (keys) { + if (!keys || !Array.isArray(keys) || !keys.length) { + return []; + } + + const res = await module.pool.query({ + name: 'mget', + text: ` +SELECT s."data", s."_key" + FROM "legacy_object_live" o + INNER JOIN "legacy_string" s + ON o."_key" = s."_key" + AND o."type" = s."type" + WHERE o."_key" = ANY($1::TEXT[]) + LIMIT 1`, + values: [keys], + }); + const map = {}; + res.rows.forEach((d) => { + map[d._key] = d.data; + }); + return keys.map(k => (map.hasOwnProperty(k) ? map[k] : null)); + }; + + module.set = async function (key, value) { if (!key) { return; diff --git a/src/database/redis.js b/src/database/redis.js index 703b94905a..22d13cc9e4 100644 --- a/src/database/redis.js +++ b/src/database/redis.js @@ -33,8 +33,8 @@ redisModule.questions = [ ]; -redisModule.init = async function () { - redisModule.client = await connection.connect(nconf.get('redis')); +redisModule.init = async function (opts) { + redisModule.client = await connection.connect(opts || nconf.get('redis')); }; redisModule.createSessionStore = async function (options) { @@ -62,6 +62,9 @@ redisModule.checkCompatibilityVersion = function (version, callback) { redisModule.close = async function () { await redisModule.client.quit(); + if (redisModule.objectCache) { + redisModule.objectCache.reset(); + } }; redisModule.info = async function (cxn) { diff --git a/src/database/redis/main.js b/src/database/redis/main.js index fcb12844a8..c2e030b42c 100644 --- a/src/database/redis/main.js +++ b/src/database/redis/main.js @@ -60,6 +60,13 @@ module.exports = function (module) { return await module.client.get(key); }; + module.mget = async function (keys) { + if (!keys || !Array.isArray(keys) || !keys.length) { + return []; + } + return await module.client.mget(keys); + }; + module.set = async function (key, value) { await module.client.set(key, value); }; diff --git a/src/messaging/index.js b/src/messaging/index.js index f5766f3343..729ec8fedf 100644 --- a/src/messaging/index.js +++ b/src/messaging/index.js @@ -289,11 +289,12 @@ Messaging.canMessageRoom = async (uid, roomId) => { }; async function checkReputation(uid) { - if (meta.config['min:rep:chat'] > 0) { - const reputation = await user.getUserField(uid, 'reputation'); - if (meta.config['min:rep:chat'] > reputation) { - throw new Error(`[[error:not-enough-reputation-to-chat, ${meta.config['min:rep:chat']}]]`); - } + if (meta.config['reputation:disabled']) { + return; + } + const reputation = await user.getUserField(uid, 'reputation'); + if (meta.config['min:rep:chat'] > reputation) { + throw new Error(`[[error:not-enough-reputation-to-chat, ${meta.config['min:rep:chat']}]]`); } } diff --git a/src/messaging/rooms.js b/src/messaging/rooms.js index 4c1d35a1bf..49646d394a 100644 --- a/src/messaging/rooms.js +++ b/src/messaging/rooms.js @@ -230,7 +230,7 @@ module.exports = function (Messaging) { return null; } - const [room, canReply, users, messages, isAdminOrGlobalMod] = await Promise.all([ + const [room, canReply, users, messages, isAdminOrGlobalMod, isOwner] = await Promise.all([ Messaging.getRoomData(data.roomId), Messaging.canReply(data.roomId, uid), Messaging.getUsersInRoom(data.roomId, 0, -1), @@ -241,10 +241,11 @@ module.exports = function (Messaging) { isNew: false, }), user.isAdminOrGlobalMod(uid), + Messaging.isRoomOwner(uid, data.roomId), ]); room.messages = messages; - room.isOwner = await Messaging.isRoomOwner(uid, room.roomId); + room.isOwner = isOwner; room.users = users.filter(user => user && parseInt(user.uid, 10) && parseInt(user.uid, 10) !== parseInt(uid, 10)); room.canReply = canReply; room.groupChat = room.hasOwnProperty('groupChat') ? room.groupChat : users.length > 2; diff --git a/src/meta/configs.js b/src/meta/configs.js index ca53dc1494..180540811c 100644 --- a/src/meta/configs.js +++ b/src/meta/configs.js @@ -7,8 +7,6 @@ const winston = require('winston'); const db = require('../database'); const pubsub = require('../pubsub'); -const plugins = require('../plugins'); -const utils = require('../utils'); const Meta = require('./index'); const cacheBuster = require('./cacheBuster'); const defaults = require('../../install/data/defaults.json'); @@ -148,46 +146,6 @@ Configs.remove = async function (field) { await db.deleteObjectField('config', field); }; -Configs.registerHooks = () => { - plugins.hooks.register('core', { - hook: 'filter:settings.set', - method: async ({ plugin, settings, quiet }) => { - if (plugin === 'core.api' && Array.isArray(settings.tokens)) { - // Generate tokens if not present already - settings.tokens.forEach((set) => { - if (set.token === '') { - set.token = utils.generateUUID(); - } - - if (isNaN(parseInt(set.uid, 10))) { - set.uid = 0; - } - }); - } - - return { plugin, settings, quiet }; - }, - }); - - plugins.hooks.register('core', { - hook: 'filter:settings.get', - method: async ({ plugin, values }) => { - if (plugin === 'core.api' && Array.isArray(values.tokens)) { - values.tokens = values.tokens.map((tokenObj) => { - tokenObj.uid = parseInt(tokenObj.uid, 10); - if (tokenObj.timestamp) { - tokenObj.timestampISO = new Date(parseInt(tokenObj.timestamp, 10)).toISOString(); - } - - return tokenObj; - }); - } - - return { plugin, values }; - }, - }); -}; - Configs.cookie = { get: () => { const cookie = {}; diff --git a/src/meta/css.js b/src/meta/css.js index a51c8d72a8..6298cfc44a 100644 --- a/src/meta/css.js +++ b/src/meta/css.js @@ -1,5 +1,6 @@ 'use strict'; +const _ = require('lodash'); const winston = require('winston'); const nconf = require('nconf'); const fs = require('fs'); @@ -31,10 +32,8 @@ const buildImports = { }, admin: function (source) { return [ - '@import "admin/vars";', - '@import "bootswatch/dist/materia/variables";', + '@import "admin/overrides";', '@import "bootstrap/scss/bootstrap";', - '@import "bootswatch/dist/materia/bootswatch";', '@import "mixins";', '@import "fontawesome";', '@import "@adactive/bootstrap-tagsinput/src/bootstrap-tagsinput";', @@ -50,9 +49,19 @@ const buildImports = { function boostrapImport(themeData) { // see https://getbootstrap.com/docs/5.0/customize/sass/#variable-defaults // for an explanation of this order and https://bootswatch.com/help/ - const { bootswatchSkin } = themeData; + const { bootswatchSkin, bsVariables, isCustomSkin } = themeData; + function bsvariables() { + if (bootswatchSkin) { + if (isCustomSkin) { + return themeData._variables || ''; + } + return `@import "bootswatch/dist/${bootswatchSkin}/variables";`; + } + return bsVariables; + } + return [ - bootswatchSkin ? `@import "bootswatch/dist/${bootswatchSkin}/variables";` : '', + bsvariables(), '@import "bootstrap/scss/mixins/banner";', '@include bsBanner("");', // functions must be included first @@ -115,7 +124,7 @@ function boostrapImport(themeData) { '@import "generics";', '@import "client";', // core page styles '@import "./theme";', // rest of the theme scss - bootswatchSkin ? `@import "bootswatch/dist/${bootswatchSkin}/bootswatch";` : '', + bootswatchSkin && !isCustomSkin ? `@import "bootswatch/dist/${bootswatchSkin}/bootswatch";` : '', ].join('\n'); } @@ -171,23 +180,32 @@ async function getBundleMetadata(target) { // Skin support let skin; + let isCustomSkin = false; if (target.startsWith('client-')) { - skin = target.split('-')[1]; - - if (CSS.supportedSkins.includes(skin)) { - target = 'client'; + skin = target.split('-').slice(1).join('-'); + const isBootswatchSkin = CSS.supportedSkins.includes(skin); + isCustomSkin = !isBootswatchSkin && await CSS.isCustomSkin(skin); + target = 'client'; + if (!isBootswatchSkin && !isCustomSkin) { + skin = ''; // invalid skin or deleted use default } } let themeData = null; if (target === 'client') { - themeData = await db.getObjectFields('config', ['theme:type', 'theme:id', 'bootswatchSkin']); + themeData = await db.getObjectFields('config', ['theme:type', 'theme:id', 'useBSVariables', 'bsVariables']); const themeId = (themeData['theme:id'] || 'nodebb-theme-harmony'); - const baseThemePath = path.join(nconf.get('themes_path'), (themeData['theme:type'] && themeData['theme:type'] === 'local' ? themeId : 'nodebb-theme-harmony')); + const baseThemePath = path.join( + nconf.get('themes_path'), + (themeData['theme:type'] && themeData['theme:type'] === 'local' ? themeId : 'nodebb-theme-harmony') + ); paths.unshift(baseThemePath); paths.unshift(`${baseThemePath}/node_modules`); - - themeData.bootswatchSkin = skin || themeData.bootswatchSkin; + themeData.bsVariables = parseInt(themeData.useBSVariables, 10) === 1 ? (themeData.bsVariables || '') : ''; + themeData.bootswatchSkin = skin; + themeData.isCustomSkin = isCustomSkin; + const customSkin = isCustomSkin ? await CSS.getCustomSkin(skin) : null; + themeData._variables = customSkin && customSkin._variables; } const [scssImports, cssImports, acpScssImports] = await Promise.all([ @@ -207,6 +225,80 @@ async function getBundleMetadata(target) { return { paths: paths, imports: imports }; } +CSS.getSkinSwitcherOptions = async function (uid) { + const user = require('../user'); + const meta = require('./index'); + const [userSettings, customSkins] = await Promise.all([ + user.getSettings(uid), + CSS.getCustomSkins(), + ]); + + const defaultSkin = _.capitalize(meta.config.bootswatchSkin) || '[[user:no-skin]]'; + const defaultSkins = [ + { name: `[[user:default, ${defaultSkin}]]`, value: '', selected: userSettings.bootswatchSkin === '' }, + { name: '[[user:no-skin]]', value: 'noskin', selected: userSettings.bootswatchSkin === 'noskin' }, + ]; + const lightSkins = [ + 'cerulean', 'cosmo', 'flatly', 'journal', 'litera', + 'lumen', 'lux', 'materia', 'minty', 'morph', 'pulse', 'sandstone', + 'simplex', 'sketchy', 'spacelab', 'united', 'yeti', 'zephyr', + ]; + const darkSkins = [ + 'cyborg', 'darkly', 'quartz', 'slate', 'solar', 'superhero', 'vapor', + ]; + function parseSkins(skins) { + skins = skins.map(skin => ({ + name: _.capitalize(skin), + value: skin, + })); + skins.forEach((skin) => { + skin.selected = skin.value === userSettings.bootswatchSkin; + }); + return skins; + } + + return { + default: defaultSkins, + custom: customSkins.map(s => ({ ...s, selected: s.value === userSettings.bootswatchSkin })), + light: parseSkins(lightSkins), + dark: parseSkins(darkSkins), + }; +}; + +CSS.getCustomSkins = async function (opts = {}) { + const meta = require('./index'); + const slugify = require('../slugify'); + const { loadVariables } = opts; + const customSkins = await meta.settings.get('custom-skins'); + const returnSkins = []; + if (customSkins && Array.isArray(customSkins['custom-skin-list'])) { + customSkins['custom-skin-list'].forEach((customSkin) => { + if (customSkin) { + returnSkins.push({ + name: customSkin['custom-skin-name'], + value: slugify(customSkin['custom-skin-name']), + _variables: loadVariables ? customSkin._variables : undefined, + }); + } + }); + } + return returnSkins; +}; + +CSS.isSkinValid = async function (skin) { + return CSS.supportedSkins.includes(skin) || await CSS.isCustomSkin(skin); +}; + +CSS.isCustomSkin = async function (skin) { + const skins = await CSS.getCustomSkins(); + return !!skins.find(s => s.value === skin); +}; + +CSS.getCustomSkin = async function (skin) { + const skins = await CSS.getCustomSkins({ loadVariables: true }); + return skins.find(s => s.value === skin); +}; + CSS.buildBundle = async function (target, fork) { if (target === 'client') { let files = await fs.promises.readdir(path.join(__dirname, '../../build/public')); diff --git a/src/meta/js.js b/src/meta/js.js index ccba341eaf..065ad2c1f0 100644 --- a/src/meta/js.js +++ b/src/meta/js.js @@ -83,6 +83,10 @@ JS.buildModules = async function () { JS.linkStatics = async function () { await fs.promises.rm(path.join(__dirname, '../../build/public/plugins'), { recursive: true, force: true }); + + plugins.staticDirs['core/inter'] = path.join(basePath, 'node_modules//@fontsource/inter/files'); + plugins.staticDirs['core/poppins'] = path.join(basePath, 'node_modules//@fontsource/poppins/files'); + await Promise.all(Object.keys(plugins.staticDirs).map(async (mappedPath) => { const sourceDir = plugins.staticDirs[mappedPath]; const destDir = path.join(__dirname, '../../build/public/plugins', mappedPath); diff --git a/src/meta/minifier.js b/src/meta/minifier.js index f12144ae5c..43802ef7e7 100644 --- a/src/meta/minifier.js +++ b/src/meta/minifier.js @@ -158,10 +158,16 @@ Minifier.js.bundle = async function (data, fork) { }; actions.buildCSS = async function buildCSS(data) { - const scssOutput = await sass.compileStringAsync(data.source, { - loadPaths: data.paths, - }); - let css = scssOutput.css.toString(); + let css = ''; + try { + const scssOutput = await sass.compileStringAsync(data.source, { + loadPaths: data.paths, + }); + css = scssOutput.css.toString(); + } catch (err) { + console.error(err.stack); + } + async function processScss(direction) { if (direction === 'rtl') { diff --git a/src/middleware/helpers.js b/src/middleware/helpers.js index e92f8b272b..a0ebb06d20 100644 --- a/src/middleware/helpers.js +++ b/src/middleware/helpers.js @@ -59,6 +59,10 @@ helpers.buildBodyClass = function (req, res, templateData = {}) { }); } + if (templateData && templateData.bodyClasses) { + parts.push(...templateData.bodyClasses); + } + parts.push(`page-status-${res.statusCode}`); parts.push(`theme-${meta.config['theme:id'].split('-')[2]}`); diff --git a/src/middleware/index.js b/src/middleware/index.js index 0c44b5cfaf..a2554b161b 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -128,7 +128,7 @@ middleware.prepareAPI = function prepareAPI(req, res, next) { middleware.logApiUsage = async function logApiUsage(req, res, next) { if (req.headers.hasOwnProperty('authorization')) { const [, token] = req.headers.authorization.split(' '); - await api.utils.log(token); + await api.utils.tokens.log(token); } next(); @@ -229,13 +229,19 @@ middleware.delayLoading = function delayLoading(req, res, next) { middleware.buildSkinAsset = helpers.try(async (req, res, next) => { // If this middleware is reached, a skin was requested, so it is built on-demand - const target = path.basename(req.originalUrl).match(/(client-[a-z]+)/); - if (!target) { + const targetSkin = path.basename(req.originalUrl).split('.css')[0]; + if (!targetSkin) { + return next(); + } + + const skins = (await meta.css.getCustomSkins()).map(skin => skin.value); + const found = skins.concat(meta.css.supportedSkins).find(skin => `client-${skin}` === targetSkin); + if (!found) { return next(); } await plugins.prepareForBuild(['client side styles']); - const [ltr, rtl] = await meta.css.buildBundle(target[0], true); + const [ltr, rtl] = await meta.css.buildBundle(targetSkin, true); require('../meta/minifier').killAll(); res.status(200).type('text/css').send(req.originalUrl.includes('-rtl') ? rtl : ltr); }); diff --git a/src/middleware/render.js b/src/middleware/render.js index 223d556150..71673b3052 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -154,6 +154,7 @@ module.exports = function (middleware) { allowRegistration: registrationType === 'normal', searchEnabled: plugins.hooks.hasListeners('filter:search.query'), postQueueEnabled: !!meta.config.postQueue, + registrationQueueEnabled: meta.config.registrationApprovalType !== 'normal' || (meta.config.registrationType === 'invite-only' || meta.config.registrationType === 'admin-invite-only'), config: res.locals.config, relative_path, bodyClass: options.bodyClass, @@ -162,7 +163,7 @@ module.exports = function (middleware) { templateValues.configJSON = jsesc(JSON.stringify(res.locals.config), { isScriptContext: true }); - const title = translator.unescape(utils.stripHTMLTags(options.title)); + const title = translator.unescape(utils.stripHTMLTags(options.title || '')); const results = await utils.promiseParallel({ isAdmin: user.isAdministrator(req.uid), isGlobalMod: user.isGlobalModerator(req.uid), @@ -197,7 +198,7 @@ module.exports = function (middleware) { results.user['email:confirmed'] = results.user['email:confirmed'] === 1; results.user.isEmailConfirmSent = !!results.isEmailConfirmSent; - templateValues.bootswatchSkin = (parseInt(meta.config.disableCustomUserSkins, 10) !== 1 ? res.locals.config.bootswatchSkin : '') || meta.config.bootswatchSkin || ''; + templateValues.bootswatchSkin = res.locals.config.bootswatchSkin || ''; templateValues.browserTitle = results.browserTitle; ({ navigation: templateValues.navigation, diff --git a/src/plugins/index.js b/src/plugins/index.js index f573202450..be634bb8fa 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -10,7 +10,6 @@ const request = require('request-promise-native'); const user = require('../user'); const posts = require('../posts'); -const meta = require('../meta'); const { pluginNamePattern, themeNamePattern, paths } = require('../constants'); @@ -125,7 +124,6 @@ Plugins.reload = async function () { // Core hooks posts.registerHooks(); - meta.configs.registerHooks(); // Deprecation notices Plugins.hooks._deprecated.forEach((deprecation, hook) => { diff --git a/src/posts/edit.js b/src/posts/edit.js index 453a10e9dd..c75f7f2379 100644 --- a/src/posts/edit.js +++ b/src/posts/edit.js @@ -112,7 +112,7 @@ module.exports = function (Posts) { return { tid: tid, cid: topicData.cid, - title: validator.escape(String(topicData.title)), + title: topicData.title, isMainPost: false, renamed: false, tagsupdated: false, diff --git a/src/posts/uploads.js b/src/posts/uploads.js index 27a6c10168..3ab2a6aeb4 100644 --- a/src/posts/uploads.js +++ b/src/posts/uploads.js @@ -64,10 +64,10 @@ module.exports = function (Posts) { if (isMainPost) { const tid = await Posts.getPostField(pid, 'tid'); let thumbs = await topics.thumbs.get(tid); - const replacePath = path.posix.join(`${nconf.get('relative_path')}${nconf.get('upload_url')}/`); - thumbs = thumbs.map(thumb => thumb.url.replace(replacePath, '')).filter(path => !validator.isURL(path, { + thumbs = thumbs.map(thumb => thumb.path).filter(path => !validator.isURL(path, { require_protocol: true, })); + thumbs = thumbs.map(t => t.slice(1)); // remove leading `/` or `\\` on windows uploads.push(...thumbs); } @@ -124,10 +124,9 @@ module.exports = function (Posts) { })); orphans = orphans.filter(Boolean); - // Note: no await. Deletion not guaranteed by method end. - orphans.forEach((relPath) => { - file.delete(_getFullPath(relPath)); - }); + await Promise.all(orphans.map(async (relPath) => { + await file.delete(_getFullPath(relPath)); + })); return orphans; }; @@ -143,6 +142,14 @@ module.exports = function (Posts) { filePaths = [filePaths]; } + if (process.platform === 'win32') { + // windows path => 'files\\1685368788211-1-profileimg.jpg' + // turn it into => 'files/1685368788211-1-profileimg.jpg' + filePaths.forEach((file) => { + file.path = file.path.split(path.sep).join(path.posix.sep); + }); + } + const keys = filePaths.map(fileObj => `upload:${md5(fileObj.path.replace('-resized', ''))}:pids`); return await Promise.all(keys.map(k => db.getSortedSetRange(k, 0, -1))); }; diff --git a/src/privileges/topics.js b/src/privileges/topics.js index cabbf3dfed..5421876fb2 100644 --- a/src/privileges/topics.js +++ b/src/privileges/topics.js @@ -19,6 +19,7 @@ privsTopics.get = async function (tid, uid) { const privs = [ 'topics:reply', 'topics:read', 'topics:schedule', 'topics:tag', 'topics:delete', 'posts:edit', 'posts:history', + 'posts:upvote', 'posts:downvote', 'posts:delete', 'posts:view_deleted', 'read', 'purge', ]; const topicData = await topics.getTopicFields(tid, ['cid', 'uid', 'locked', 'deleted', 'scheduled']); @@ -43,6 +44,8 @@ privsTopics.get = async function (tid, uid) { 'topics:delete': (privData['topics:delete'] && (isOwner || isModerator)) || isAdministrator, 'posts:edit': (privData['posts:edit'] && (!topicData.locked || isModerator)) || isAdministrator, 'posts:history': privData['posts:history'] || isAdministrator, + 'posts:upvote': privData['posts:upvote'] || isAdministrator, + 'posts:downvote': privData['posts:downvote'] || isAdministrator, 'posts:delete': (privData['posts:delete'] && (!topicData.locked || isModerator)) || isAdministrator, 'posts:view_deleted': privData['posts:view_deleted'] || isAdministrator, read: privData.read || isAdministrator, diff --git a/src/routes/admin.js b/src/routes/admin.js index c7e9c5f060..01e228dabe 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -35,10 +35,7 @@ module.exports = function (app, name, middleware, controllers) { helpers.setupAdminPageRoute(app, `/${name}/settings/user`, middlewares, controllers.admin.settings.user); helpers.setupAdminPageRoute(app, `/${name}/settings/post`, middlewares, controllers.admin.settings.post); helpers.setupAdminPageRoute(app, `/${name}/settings/advanced`, middlewares, controllers.admin.settings.advanced); - helpers.setupAdminPageRoute(app, `/${name}/settings/languages`, middlewares, controllers.admin.settings.languages); helpers.setupAdminPageRoute(app, `/${name}/settings/navigation`, middlewares, controllers.admin.settings.navigation); - helpers.setupAdminPageRoute(app, `/${name}/settings/homepage`, middlewares, controllers.admin.settings.homepage); - helpers.setupAdminPageRoute(app, `/${name}/settings/social`, middlewares, controllers.admin.settings.social); helpers.setupAdminPageRoute(app, `/${name}/settings/api`, middlewares, controllers.admin.settings.api); helpers.setupAdminPageRoute(app, `/${name}/settings/:term?`, middlewares, controllers.admin.settings.get); diff --git a/src/routes/authentication.js b/src/routes/authentication.js index e2b1cd73cf..8d5bee679e 100644 --- a/src/routes/authentication.js +++ b/src/routes/authentication.js @@ -6,10 +6,10 @@ const passportLocal = require('passport-local').Strategy; const BearerStrategy = require('passport-http-bearer').Strategy; const winston = require('winston'); -const meta = require('../meta'); const controllers = require('../controllers'); const helpers = require('../controllers/helpers'); const plugins = require('../plugins'); +const api = require('../api'); const { generateToken } = require('../middleware/csrf'); let loginStrategies = []; @@ -45,8 +45,8 @@ Auth.getLoginStrategies = function () { }; Auth.verifyToken = async function (token, done) { - const { tokens = [] } = await meta.settings.get('core.api'); - const tokenObj = tokens.find(t => t.token === token); + const tokens = await api.utils.tokens.list(); + const tokenObj = tokens.filter((t => t.token === token)).pop(); const uid = tokenObj ? tokenObj.uid : undefined; if (uid !== undefined) { diff --git a/src/routes/index.js b/src/routes/index.js index fb4733a501..4008f1565a 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -191,11 +191,8 @@ function addCoreRoutes(app, router, middleware, mounts) { res.redirect(`${relativePath}/assets/plugins${req.path}${req._parsedUrl.search || ''}`); }); - // Skins - meta.css.supportedSkins.forEach((skin) => { - app.use(`${relativePath}/assets/client-${skin}.css`, middleware.buildSkinAsset); - app.use(`${relativePath}/assets/client-${skin}-rtl.css`, middleware.buildSkinAsset); - }); + app.use(`${relativePath}/assets/client-*.css`, middleware.buildSkinAsset); + app.use(`${relativePath}/assets/client-*-rtl.css`, middleware.buildSkinAsset); app.use(controllers['404'].handle404); app.use(controllers.errors.handleURIErrors); diff --git a/src/routes/write/admin.js b/src/routes/write/admin.js index 0cda6327fb..2571b8dd01 100644 --- a/src/routes/write/admin.js +++ b/src/routes/write/admin.js @@ -15,5 +15,11 @@ module.exports = function () { setupApiRoute(router, 'get', '/analytics', [...middlewares], controllers.write.admin.getAnalyticsKeys); setupApiRoute(router, 'get', '/analytics/:set', [...middlewares], controllers.write.admin.getAnalyticsData); + setupApiRoute(router, 'post', '/tokens', [...middlewares], controllers.write.admin.generateToken); + setupApiRoute(router, 'get', '/tokens/:token', [...middlewares], controllers.write.admin.getToken); + setupApiRoute(router, 'put', '/tokens/:token', [...middlewares], controllers.write.admin.updateToken); + setupApiRoute(router, 'delete', '/tokens/:token', [...middlewares], controllers.write.admin.deleteToken); + setupApiRoute(router, 'post', '/tokens/:token/roll', [...middlewares], controllers.write.admin.rollToken); + return router; }; diff --git a/src/social.js b/src/social.js index c95f2cc3ac..2dd4045024 100644 --- a/src/social.js +++ b/src/social.js @@ -3,6 +3,7 @@ const _ = require('lodash'); const plugins = require('./plugins'); const db = require('./database'); +const meta = require('./meta'); const social = module.exports; @@ -26,9 +27,8 @@ social.getPostSharing = async function () { }, ]; networks = await plugins.hooks.fire('filter:social.posts', networks); - const activated = await db.getSetMembers('social:posts.activated'); networks.forEach((network) => { - network.activated = activated.includes(network.id); + network.activated = parseInt(meta.config[`post-sharing-${network.id}`], 10) === 1; }); social.postSharing = networks; @@ -41,12 +41,16 @@ social.getActivePostSharing = async function () { }; social.setActivePostSharingNetworks = async function (networkIDs) { + // keeping for 1.0.0 upgrade script that uses this function social.postSharing = null; - await db.delete('social:posts.activated'); if (!networkIDs.length) { return; } - await db.setAdd('social:posts.activated', networkIDs); + const data = {}; + networkIDs.forEach((id) => { + data[`post-sharing-${id}`] = 1; + }); + await db.setObject('config', data); }; require('./promisify')(social); diff --git a/src/socket.io/admin.js b/src/socket.io/admin.js index 1621ef71a0..21165713db 100644 --- a/src/socket.io/admin.js +++ b/src/socket.io/admin.js @@ -19,7 +19,6 @@ SocketAdmin.tags = require('./admin/tags'); SocketAdmin.rewards = require('./admin/rewards'); SocketAdmin.navigation = require('./admin/navigation'); SocketAdmin.rooms = require('./admin/rooms'); -SocketAdmin.social = require('./admin/social'); SocketAdmin.themes = require('./admin/themes'); SocketAdmin.plugins = require('./admin/plugins'); SocketAdmin.widgets = require('./admin/widgets'); diff --git a/src/socket.io/admin/social.js b/src/socket.io/admin/social.js deleted file mode 100644 index 378d736e89..0000000000 --- a/src/socket.io/admin/social.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -const social = require('../../social'); - -const SocketSocial = module.exports; - -SocketSocial.savePostSharingNetworks = async function (socket, data) { - await social.setActivePostSharingNetworks(data); -}; diff --git a/src/socket.io/admin/user.js b/src/socket.io/admin/user.js index 00c0a57f12..afe47e4d82 100644 --- a/src/socket.io/admin/user.js +++ b/src/socket.io/admin/user.js @@ -65,6 +65,10 @@ User.validateEmail = async function (socket, uids) { } for (const uid of uids) { + const email = await user.email.getEmailForValidation(uid); + if (email) { + await user.setUserField(uid, 'email', email); + } await user.email.confirmByUid(uid); } }; @@ -77,7 +81,11 @@ User.sendValidationEmail = async function (socket, uids) { const failed = []; let errorLogged = false; await async.eachLimit(uids, 50, async (uid) => { - await user.email.sendValidationEmail(uid, { force: true }).catch((err) => { + const email = await user.email.getEmailForValidation(uid); + await user.email.sendValidationEmail(uid, { + force: true, + email: email, + }).catch((err) => { if (!errorLogged) { winston.error(`[user.create] Validation email failed to send\n[emailer.send] ${err.stack}`); errorLogged = true; diff --git a/src/socket.io/index.js b/src/socket.io/index.js index d457afefbc..b540cbc15f 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -84,9 +84,14 @@ function onConnection(socket) { onConnect(socket); socket.onAny((event, ...args) => { - const payload = { data: [event].concat(args) }; + const payload = { event: event, ...deserializePayload(args) }; const als = require('../als'); - als.run({ uid: socket.uid }, onMessage, socket, payload); + const apiHelpers = require('../api/helpers'); + als.run({ + uid: socket.uid, + req: apiHelpers.buildReqObject(socket, payload), + socket: { ...payload }, + }, onMessage, socket, payload); }); socket.on('disconnect', () => { @@ -123,27 +128,29 @@ async function onConnect(socket) { plugins.hooks.fire('action:sockets.connect', { socket: socket }); } -async function onMessage(socket, payload) { - if (!payload.data.length) { - return winston.warn('[socket.io] Empty payload'); +function deserializePayload(payload) { + if (!Array.isArray(payload) || !payload.length) { + winston.warn('[socket.io] Empty payload'); + return {}; } + const params = typeof payload[0] === 'function' ? {} : payload[0]; + const callback = typeof payload[payload.length - 1] === 'function' ? payload[payload.length - 1] : function () {}; + return { params, callback }; +} - let eventName = payload.data[0]; - const params = typeof payload.data[1] === 'function' ? {} : payload.data[1]; - const callback = typeof payload.data[payload.data.length - 1] === 'function' ? payload.data[payload.data.length - 1] : function () {}; - +async function onMessage(socket, payload) { + const { event, params, callback } = payload; try { - if (!eventName) { + if (!event) { return winston.warn('[socket.io] Empty method name'); } - if (typeof eventName !== 'string') { - eventName = typeof eventName; - const escapedName = validator.escape(eventName); + if (typeof event !== 'string') { + const escapedName = validator.escape(typeof event); return callback({ message: `[[error:invalid-event, ${escapedName}]]` }); } - const parts = eventName.split('.'); + const parts = event.split('.'); const namespace = parts[0]; const methodToCall = parts.reduce((prev, cur) => { if (prev !== null && prev[cur] && (!prev.hasOwnProperty || prev.hasOwnProperty(cur))) { @@ -154,19 +161,19 @@ async function onMessage(socket, payload) { if (!methodToCall || typeof methodToCall !== 'function') { if (process.env.NODE_ENV === 'development') { - winston.warn(`[socket.io] Unrecognized message: ${eventName}`); + winston.warn(`[socket.io] Unrecognized message: ${event}`); } - const escapedName = validator.escape(String(eventName)); + const escapedName = validator.escape(String(event)); return callback({ message: `[[error:invalid-event, ${escapedName}]]` }); } socket.previousEvents = socket.previousEvents || []; - socket.previousEvents.push(eventName); + socket.previousEvents.push(event); if (socket.previousEvents.length > 20) { socket.previousEvents.shift(); } - if (!eventName.startsWith('admin.') && ratelimit.isFlooding(socket)) { + if (!event.startsWith('admin.') && ratelimit.isFlooding(socket)) { winston.warn(`[socket.io] Too many emits! Disconnecting uid : ${socket.uid}. Events : ${socket.previousEvents}`); return socket.disconnect(); } @@ -175,7 +182,7 @@ async function onMessage(socket, payload) { await validateSession(socket, '[[error:revalidate-failure]]'); if (Namespaces[namespace].before) { - await Namespaces[namespace].before(socket, eventName, params); + await Namespaces[namespace].before(socket, event, params); } if (methodToCall.constructor && methodToCall.constructor.name === 'AsyncFunction') { @@ -187,7 +194,7 @@ async function onMessage(socket, payload) { }); } } catch (err) { - winston.error(`${eventName}\n${err.stack ? err.stack : err.message}`); + winston.error(`${event}\n${err.stack ? err.stack : err.message}`); callback({ message: err.message }); } } diff --git a/src/topics/create.js b/src/topics/create.js index d1fe0c6da9..5d631cce27 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -209,8 +209,7 @@ module.exports = function (Topics) { }; async function onNewPost(postData, data) { - const { tid } = postData; - const { uid } = postData; + const { tid, uid } = postData; await Topics.markCategoryUnreadForAll(tid); await Topics.markAsRead([tid], uid); const [ diff --git a/src/topics/posts.js b/src/topics/posts.js index fcc4355bdf..58ad3d20c9 100644 --- a/src/topics/posts.js +++ b/src/topics/posts.js @@ -125,7 +125,7 @@ module.exports = function (Topics) { posts.getVoteStatusByPostIDs(pids, uid), getPostUserData('uid', async uids => await posts.getUserInfoForPosts(uids, uid)), getPostUserData('editor', async uids => await user.getUsersFields(uids, ['uid', 'username', 'userslug'])), - getPostReplies(pids, uid), + getPostReplies(postData, uid), Topics.addParentPosts(postData), ]); @@ -314,9 +314,13 @@ module.exports = function (Topics) { return await db.getObjectField(`topic:${tid}`, 'postcount'); }; - async function getPostReplies(pids, callerUid) { + async function getPostReplies(postData, callerUid) { + const pids = postData.map(p => p && p.pid); const keys = pids.map(pid => `pid:${pid}:replies`); - const arrayOfReplyPids = await db.getSortedSetsMembers(keys); + const [arrayOfReplyPids, userSettings] = await Promise.all([ + db.getSortedSetsMembers(keys), + user.getSettings(callerUid), + ]); const uniquePids = _.uniq(_.flatten(arrayOfReplyPids)); @@ -335,12 +339,15 @@ module.exports = function (Topics) { const uidMap = _.zipObject(uniqueUids, userData); const pidMap = _.zipObject(replyData.map(r => r.pid), replyData); + const postDataMap = _.zipObject(pids, postData); - const returnData = arrayOfReplyPids.map((replyPids) => { + const returnData = await Promise.all(arrayOfReplyPids.map(async (replyPids, idx) => { + const currentPost = postData[idx]; replyPids = replyPids.filter(pid => pidMap[pid]); const uidsUsed = {}; const currentData = { hasMore: false, + hasSingleImmediateReply: false, users: [], text: replyPids.length > 1 ? `[[topic:replies_to_this_post, ${replyPids.length}]]` : '[[topic:one_reply_to_this_post]]', count: replyPids.length, @@ -362,8 +369,25 @@ module.exports = function (Topics) { currentData.hasMore = true; } + if (replyPids.length === 1) { + const currentIndex = currentPost ? currentPost.index : null; + const replyPid = replyPids[0]; + // only load index of nested reply if we can't find it in the postDataMap + let replyPost = postDataMap[replyPid]; + if (!replyPost) { + const tid = await posts.getPostField(replyPid, 'tid'); + replyPost = { + index: await posts.getPidIndex(replyPid, tid, userSettings.topicPostSort), + tid: tid, + }; + } + currentData.hasSingleImmediateReply = + (currentPost && currentPost.tid === replyPost.tid) && + Math.abs(currentIndex - replyPost.index) === 1; + } + return currentData; - }); + })); return returnData; } @@ -373,8 +397,12 @@ module.exports = function (Topics) { throw new Error('[[error:invalid-data]]'); } + + let { content } = postData; + // ignore lines that start with `>` + content = content.split('\n').filter(line => !line.trim().startsWith('>')).join('\n'); // Scan post content for topic links - const matches = [...postData.content.matchAll(backlinkRegex)]; + const matches = [...content.matchAll(backlinkRegex)]; if (!matches) { return 0; } diff --git a/src/topics/thumbs.js b/src/topics/thumbs.js index 60db184339..f6dcdd2187 100644 --- a/src/topics/thumbs.js +++ b/src/topics/thumbs.js @@ -53,7 +53,7 @@ Thumbs.get = async function (tids) { return hasTimestampPrefix.test(name) ? name.slice(14) : name; })(), path: thumb, - url: thumb.startsWith('http') ? thumb : path.posix.join(upload_url, thumb), + url: thumb.startsWith('http') ? thumb : path.posix.join(upload_url, thumb.replace(/\\/g, '/')), }))); ({ thumbs: response } = await plugins.hooks.fire('filter:topics.getThumbs', { tids, thumbs: response })); diff --git a/src/upgrades/1.7.4/fix_user_topics_per_category.js b/src/upgrades/1.7.4/fix_user_topics_per_category.js index 5ee19fb41f..75ffef2c24 100644 --- a/src/upgrades/1.7.4/fix_user_topics_per_category.js +++ b/src/upgrades/1.7.4/fix_user_topics_per_category.js @@ -14,7 +14,7 @@ module.exports = { progress.incr(); const topicData = await db.getObjectFields(`topic:${tid}`, ['cid', 'tid', 'uid', 'oldCid', 'timestamp']); if (topicData.cid && topicData.oldCid) { - const isMember = await db.isSortedSetMember(`cid:${topicData.oldCid}:uid:${topicData.uid}`, topicData.tid); + const isMember = await db.isSortedSetMember(`cid:${topicData.oldCid}:uid:${topicData.uid}:tids`, topicData.tid); if (isMember) { await db.sortedSetRemove(`cid:${topicData.oldCid}:uid:${topicData.uid}:tids`, tid); await db.sortedSetAdd(`cid:${topicData.cid}:uid:${topicData.uid}:tids`, topicData.timestamp, tid); diff --git a/src/upgrades/3.2.0/fix_username_zsets.js b/src/upgrades/3.2.0/fix_username_zsets.js new file mode 100644 index 0000000000..22ab35c152 --- /dev/null +++ b/src/upgrades/3.2.0/fix_username_zsets.js @@ -0,0 +1,31 @@ +'use strict'; + + +const db = require('../../database'); +const batch = require('../../batch'); + + +module.exports = { + name: 'Fix username zsets', + timestamp: Date.UTC(2023, 5, 5), + method: async function () { + const { progress } = this; + + await db.deleteAll(['username:uid', 'username:sorted']); + await batch.processSortedSet('users:joindate', async (uids) => { + progress.incr(uids.length); + const usersData = await db.getObjects(uids.map(uid => `user:${uid}`)); + const bulkAdd = []; + usersData.forEach((userData) => { + if (userData && userData.username) { + bulkAdd.push(['username:uid', userData.uid, userData.username]); + bulkAdd.push(['username:sorted', 0, `${String(userData.username).toLowerCase()}:${userData.uid}`]); + } + }); + await db.sortedSetAddBulk(bulkAdd); + }, { + batch: 500, + progress: progress, + }); + }, +}; diff --git a/src/upgrades/3.2.0/migrate_api_tokens.js b/src/upgrades/3.2.0/migrate_api_tokens.js new file mode 100644 index 0000000000..dadf84e07d --- /dev/null +++ b/src/upgrades/3.2.0/migrate_api_tokens.js @@ -0,0 +1,38 @@ +'use strict'; + +const assert = require('assert'); +const winston = require('winston'); + +const db = require('../../database'); +const meta = require('../../meta'); +const api = require('../../api'); + +module.exports = { + name: 'Migrate tokens away from sorted-list implementation', + timestamp: Date.UTC(2023, 4, 2), + method: async () => { + const { tokens = [] } = await meta.settings.get('core.api'); + + await Promise.all(tokens.map(async (tokenObj) => { + const { token, uid, description } = tokenObj; + await api.utils.tokens.add({ token, uid, description }); + })); + + // Validate + const oldCount = await db.sortedSetCard('settings:core.api:sorted-list:tokens'); + const newCount = await db.sortedSetCard('tokens:createtime'); + try { + if (oldCount > 0) { + assert.strictEqual(oldCount, newCount); + } + + // Delete old tokens + await meta.settings.set('core.api', { + tokens: [], + }); + await db.delete('settings:core.api:sorted-lists'); + } catch (e) { + winston.warn('Old token count does not match migrated tokens count, leaving old tokens behind.'); + } + }, +}; diff --git a/src/upgrades/3.2.0/migrate_post_sharing.js b/src/upgrades/3.2.0/migrate_post_sharing.js new file mode 100644 index 0000000000..661a9a259e --- /dev/null +++ b/src/upgrades/3.2.0/migrate_post_sharing.js @@ -0,0 +1,19 @@ +'use strict'; + +const db = require('../../database'); + +module.exports = { + name: 'Migrate post sharing values to config', + timestamp: Date.UTC(2023, 4, 23), + method: async () => { + const activated = await db.getSetMembers('social:posts.activated'); + if (activated.length) { + const data = {}; + activated.forEach((id) => { + data[`post-sharing-${id}`] = 1; + }); + await db.setObject('config', data); + await db.delete('social:posts.activated'); + } + }, +}; diff --git a/src/user/delete.js b/src/user/delete.js index 938e109acf..4cc574c4ff 100644 --- a/src/user/delete.js +++ b/src/user/delete.js @@ -149,6 +149,7 @@ module.exports = function (User) { groups.leaveAllGroups(uid), flags.resolveFlag('user', uid, uid), User.reset.cleanByUid(uid), + User.email.expireValidation(uid), ]); await db.deleteAll([`followers:${uid}`, `following:${uid}`, `user:${uid}`]); delete deletesInProgress[uid]; diff --git a/src/user/digest.js b/src/user/digest.js index a40be0ee0d..d45cf8e576 100644 --- a/src/user/digest.js +++ b/src/user/digest.js @@ -20,14 +20,14 @@ Digest.execute = async function (payload) { const digestsDisabled = meta.config.disableEmailSubscriptions === 1; if (digestsDisabled) { winston.info(`[user/jobs] Did not send digests (${payload.interval}) because subscription system is disabled.`); - return; + return false; } let { subscribers } = payload; if (!subscribers) { subscribers = await Digest.getSubscribers(payload.interval); } if (!subscribers.length) { - return; + return false; } try { winston.info(`[user/jobs] Digest (${payload.interval}) scheduling completed (${subscribers.length} subscribers). Sending emails; this may take some time...`); @@ -36,6 +36,7 @@ Digest.execute = async function (payload) { subscribers: subscribers, }); winston.info(`[user/jobs] Digest (${payload.interval}) complete.`); + return true; } catch (err) { winston.error(`[user/jobs] Could not send digests (${payload.interval})\n${err.stack}`); throw err; @@ -140,6 +141,7 @@ Digest.send = async function (data) { batch: 100, }); winston.info(`[user/jobs] Digest (${data.interval}) sending completed. ${emailsSent} emails sent.`); + return emailsSent; }; Digest.getDeliveryTimes = async (start, stop) => { diff --git a/src/user/email.js b/src/user/email.js index 9b51b43ddd..c5d025cb15 100644 --- a/src/user/email.js +++ b/src/user/email.js @@ -44,28 +44,42 @@ UserEmail.remove = async function (uid, sessionId) { ]); }; -UserEmail.isValidationPending = async (uid, email) => { +UserEmail.getEmailForValidation = async (uid) => { + let email = ''; + // check email from confirmObj const code = await db.get(`confirm:byUid:${uid}`); + const confirmObj = await db.getObject(`confirm:${code}`); + if (confirmObj && confirmObj.email && parseInt(uid, 10) === parseInt(confirmObj.uid, 10)) { + email = confirmObj.email; + } - if (email) { - const confirmObj = await db.getObject(`confirm:${code}`); - return !!(confirmObj && email === confirmObj.email); + if (!email) { + email = await user.getUserField(uid, 'email'); } + return email; +}; - return !!code; +UserEmail.isValidationPending = async (uid, email) => { + const code = await db.get(`confirm:byUid:${uid}`); + const confirmObj = await db.getObject(`confirm:${code}`); + return !!(confirmObj && ( + (!email || email === confirmObj.email) && Date.now() < parseInt(confirmObj.expires, 10) + )); }; UserEmail.getValidationExpiry = async (uid) => { - const pending = await UserEmail.isValidationPending(uid); - return pending ? db.pttl(`confirm:byUid:${uid}`) : null; + const code = await db.get(`confirm:byUid:${uid}`); + const confirmObj = await db.getObject(`confirm:${code}`); + return confirmObj ? Math.max(0, confirmObj.expires - Date.now()) : null; }; UserEmail.expireValidation = async (uid) => { + const keys = [`confirm:byUid:${uid}`]; const code = await db.get(`confirm:byUid:${uid}`); - await db.deleteAll([ - `confirm:byUid:${uid}`, - `confirm:${code}`, - ]); + if (code) { + keys.push(`confirm:${code}`); + } + await db.deleteAll(keys); }; UserEmail.canSendValidation = async (uid, email) => { @@ -78,7 +92,7 @@ UserEmail.canSendValidation = async (uid, email) => { const max = meta.config.emailConfirmExpiry * 60 * 60 * 1000; const interval = meta.config.emailConfirmInterval * 60 * 1000; - return ttl + interval < max; + return (ttl || Date.now()) + interval < max; }; UserEmail.sendValidationEmail = async function (uid, options) { @@ -134,13 +148,12 @@ UserEmail.sendValidationEmail = async function (uid, options) { await UserEmail.expireValidation(uid); await db.set(`confirm:byUid:${uid}`, confirm_code); - await db.pexpire(`confirm:byUid:${uid}`, emailConfirmExpiry * 60 * 60 * 1000); await db.setObject(`confirm:${confirm_code}`, { email: options.email.toLowerCase(), uid: uid, + expires: Date.now() + (emailConfirmExpiry * 60 * 60 * 1000), }); - await db.pexpire(`confirm:${confirm_code}`, emailConfirmExpiry * 60 * 60 * 1000); winston.verbose(`[user/email] Validation email for uid ${uid} sent to ${options.email}`); events.log({ @@ -165,6 +178,10 @@ UserEmail.confirmByCode = async function (code, sessionId) { throw new Error('[[error:invalid-data]]'); } + if (!confirmObj.expires || Date.now() > parseInt(confirmObj.expires, 10)) { + throw new Error('[[error:confirm-email-expired]]'); + } + // If another uid has the same email, remove it const oldUid = await db.sortedSetScore('email:uid', confirmObj.email.toLowerCase()); if (oldUid) { diff --git a/src/user/notifications.js b/src/user/notifications.js index d0efa369a1..04a0fb5ea6 100644 --- a/src/user/notifications.js +++ b/src/user/notifications.js @@ -9,6 +9,8 @@ const meta = require('../meta'); const notifications = require('../notifications'); const privileges = require('../privileges'); const plugins = require('../plugins'); +const translator = require('../translator'); +const user = require('./index'); const utils = require('../utils'); const UserNotifications = module.exports; @@ -99,9 +101,10 @@ UserNotifications.getNotifications = async function (nids, uid) { return []; } - const [notifObjs, hasRead] = await Promise.all([ + const [notifObjs, hasRead, userSettings] = await Promise.all([ notifications.getMultiple(nids), db.isSortedSetMembers(`uid:${uid}:notifications:read`, nids), + user.getSettings(uid), ]); const deletedNids = []; @@ -119,6 +122,12 @@ UserNotifications.getNotifications = async function (nids, uid) { await deleteUserNids(deletedNids, uid); notificationData = await notifications.merge(notificationData); + await Promise.all(notificationData.map(async (n) => { + if (n && n.bodyShort) { + n.bodyShort = await translator.translate(n.bodyShort, userSettings.userLang); + } + })); + const result = await plugins.hooks.fire('filter:user.notifications.getNotifications', { uid: uid, notifications: notificationData, diff --git a/src/user/online.js b/src/user/online.js index b7c6b9d45a..94da8f6bc3 100644 --- a/src/user/online.js +++ b/src/user/online.js @@ -10,9 +10,9 @@ module.exports = function (User) { if (!(parseInt(uid, 10) > 0)) { return; } - const userData = await db.getObjectFields(`user:${uid}`, ['status', 'lastonline']); + const userData = await db.getObjectFields(`user:${uid}`, ['userslug', 'status', 'lastonline']); const now = Date.now(); - if (userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) { + if (!userData.userslug || userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) { return; } await User.setUserField(uid, 'lastonline', now); @@ -22,9 +22,12 @@ module.exports = function (User) { if (!(parseInt(uid, 10) > 0)) { return; } + const [exists, userOnlineTime] = await Promise.all([ + User.exists(uid), + db.sortedSetScore('users:online', uid), + ]); const now = Date.now(); - const userOnlineTime = await db.sortedSetScore('users:online', uid); - if (now - parseInt(userOnlineTime, 10) < 300000) { + if (!exists || (now - parseInt(userOnlineTime, 10) < 300000)) { return; } await User.onUserOnline(uid, now); diff --git a/src/user/profile.js b/src/user/profile.js index fc238ff87c..09c4814410 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -232,7 +232,7 @@ module.exports = function (User) { }; async function updateEmail(uid, newEmail) { - let oldEmail = await User.getUserField(uid, 'email'); + let oldEmail = await db.getObjectField(`user:${uid}`, 'email'); oldEmail = oldEmail || ''; if (oldEmail === newEmail) { return; @@ -251,7 +251,7 @@ module.exports = function (User) { if (!newUsername) { return; } - const userData = await User.getUserFields(uid, ['username', 'userslug']); + const userData = await db.getObjectFields(`user:${uid}`, ['username', 'userslug']); if (userData.username === newUsername) { return; } @@ -278,7 +278,7 @@ module.exports = function (User) { } async function updateFullname(uid, newFullname) { - const fullname = await User.getUserField(uid, 'fullname'); + const fullname = await db.getObjectField(`user:${uid}`, 'fullname'); await updateUidMapping('fullname', uid, newFullname, fullname); if (newFullname !== fullname) { if (fullname) { diff --git a/src/views/admin/advanced/cache.tpl b/src/views/admin/advanced/cache.tpl index af1c616847..7fa581e0fd 100644 --- a/src/views/admin/advanced/cache.tpl +++ b/src/views/admin/advanced/cache.tpl @@ -1,55 +1,62 @@ - -
    -
    -
    - {{{each caches}}} -
    -
    -
    [[admin/advanced/cache:{@key}-cache]]
    -
    -
    - -
    -
    {{{if ./length}}}{./length}{{{else}}}{./itemCount}{{{end}}} / {{{if ./max}}}{./max}{{{else}}}{./maxSize}{{{end}}}
    -
    -
    - [[admin/advanced/cache:percent-full, {./percentFull}]] -
    -
    -
    - {./hits} -
    -
    - {./misses} -
    -
    - {./hitRatio} -
    -
    - {./hitsPerSecond} -
    +
    +
    +
    +

    [[admin/advanced/cache:cache]]

    +
    +
    + +
    +
    - {{{if ./ttl}}} -
    - {./ttl} -
    - {{{end}}} - {{{if (@key == "post")}}} -
    -
    - - + +
    + {{{each caches}}} +
    +
    +
    [[admin/advanced/cache:{@key}-cache]]
    +
    +
    + +
    + +
    {{{if ./length}}}{./length}{{{else}}}{./itemCount}{{{end}}} / {{{if ./max}}}{./max}{{{else}}}{./maxSize}{{{end}}}
    +
    +
    + {./hits} +
    +
    + {./misses} +
    +
    + {./hitRatio} +
    +
    + {./hitsPerSecond} +
    + + {{{if ./ttl}}} +
    + {./ttl} +
    + {{{end}}} + {{{if (@key == "post")}}} +
    +
    + + +
    + {{{end}}} + +
    - {{{end}}}
    + {{{end}}}
    - diff --git a/src/views/admin/advanced/database.tpl b/src/views/admin/advanced/database.tpl index 311ff9deef..4e10d868d7 100644 --- a/src/views/admin/advanced/database.tpl +++ b/src/views/admin/advanced/database.tpl @@ -1,146 +1,147 @@ - -
    - {{{ if mongo }}} -
    - {{{ if mongo.serverStatusError }}} -
    - {mongo.serverStatusError} -
    - {{{ end }}} -
    -
    [[admin/advanced/database:mongo]]
    -
    -
    - [[admin/advanced/database:mongo.version]] {mongo.version}
    -
    - [[admin/advanced/database:uptime-seconds]] {mongo.uptime}
    - [[admin/advanced/database:mongo.storage-engine]] {mongo.storageEngine}
    - [[admin/advanced/database:mongo.collections]] {mongo.collections}
    - [[admin/advanced/database:mongo.objects]] {mongo.objects}
    - [[admin/advanced/database:mongo.avg-object-size]] [[admin/advanced/database:x-b, {mongo.avgObjSize}]]
    -
    - [[admin/advanced/database:mongo.data-size]] [[admin/advanced/database:x-gb, {mongo.dataSize}]]
    - [[admin/advanced/database:mongo.storage-size]] [[admin/advanced/database:x-gb, {mongo.storageSize}]]
    - [[admin/advanced/database:mongo.index-size]] [[admin/advanced/database:x-gb, {mongo.indexSize}]]
    - {{{ if mongo.fileSize }}} - [[admin/advanced/database:mongo.file-size]] [[admin/advanced/database:x-gb, {mongo.fileSize}]]
    - {{{ end }}} -
    - [[admin/advanced/database:mongo.resident-memory]] [[admin/advanced/database:x-gb, {mongo.mem.resident}]]
    - [[admin/advanced/database:mongo.virtual-memory]] [[admin/advanced/database:x-gb, {mongo.mem.virtual}]]
    - [[admin/advanced/database:mongo.mapped-memory]] [[admin/advanced/database:x-gb, {mongo.mem.mapped}]]
    -
    - [[admin/advanced/database:mongo.bytes-in]] [[admin/advanced/database:x-gb, {mongo.network.bytesIn}]]
    - [[admin/advanced/database:mongo.bytes-out]] [[admin/advanced/database:x-gb, {mongo.network.bytesOut}]]
    - [[admin/advanced/database:mongo.num-requests]] {mongo.network.numRequests}
    +
    +
    + {{{ if mongo }}} +
    + {{{ if mongo.serverStatusError }}} +
    + {mongo.serverStatusError} +
    + {{{ end }}} +
    +
    [[admin/advanced/database:mongo]]
    +
    +
    +
    [[admin/advanced/database:mongo.version]] {mongo.version}
    +
    +
    [[admin/advanced/database:uptime-seconds]] {mongo.uptime}
    +
    [[admin/advanced/database:mongo.storage-engine]] {mongo.storageEngine}
    +
    [[admin/advanced/database:mongo.collections]] {mongo.collections}
    +
    [[admin/advanced/database:mongo.objects]] {mongo.objects}
    +
    [[admin/advanced/database:mongo.avg-object-size]] [[admin/advanced/database:x-b, {mongo.avgObjSize}]]
    +
    +
    [[admin/advanced/database:mongo.data-size]] [[admin/advanced/database:x-gb, {mongo.dataSize}]]
    +
    [[admin/advanced/database:mongo.storage-size]] [[admin/advanced/database:x-gb, {mongo.storageSize}]]
    +
    [[admin/advanced/database:mongo.index-size]] [[admin/advanced/database:x-gb, {mongo.indexSize}]]
    + {{{ if mongo.fileSize }}} +
    [[admin/advanced/database:mongo.file-size]] [[admin/advanced/database:x-gb, {mongo.fileSize}]]
    + {{{ end }}} +
    +
    [[admin/advanced/database:mongo.resident-memory]] [[admin/advanced/database:x-gb, {mongo.mem.resident}]]
    +
    [[admin/advanced/database:mongo.virtual-memory]] [[admin/advanced/database:x-gb, {mongo.mem.virtual}]]
    +
    [[admin/advanced/database:mongo.mapped-memory]] [[admin/advanced/database:x-gb, {mongo.mem.mapped}]]
    +
    +
    [[admin/advanced/database:mongo.bytes-in]] [[admin/advanced/database:x-gb, {mongo.network.bytesIn}]]
    +
    [[admin/advanced/database:mongo.bytes-out]] [[admin/advanced/database:x-gb, {mongo.network.bytesOut}]]
    +
    [[admin/advanced/database:mongo.num-requests]] {mongo.network.numRequests}
    +
    -
    - {{{ end }}} + {{{ end }}} - {{{ if redis }}} -
    -
    -
    [[admin/advanced/database:redis]]
    -
    -
    - [[admin/advanced/database:redis.version]] {redis.redis_version}
    -
    - [[admin/advanced/database:uptime-seconds]] {redis.uptime_in_seconds}
    - [[admin/advanced/database:uptime-days]] {redis.uptime_in_days}
    -
    - [[admin/advanced/database:redis.keys]] {redis.keys}
    - [[admin/advanced/database:redis.expires]] {redis.expires}
    - [[admin/advanced/database:redis.avg-ttl]] {redis.avg_ttl}
    - [[admin/advanced/database:redis.connected-clients]] {redis.connected_clients}
    - [[admin/advanced/database:redis.connected-slaves]] {redis.connected_slaves}
    - [[admin/advanced/database:redis.blocked-clients]] {redis.blocked_clients}
    -
    + {{{ if redis }}} +
    +
    +
    [[admin/advanced/database:redis]]
    +
    +
    +
    [[admin/advanced/database:redis.version]] {redis.redis_version}
    +
    +
    [[admin/advanced/database:uptime-seconds]] {redis.uptime_in_seconds}
    +
    [[admin/advanced/database:uptime-days]] {redis.uptime_in_days}
    +
    +
    [[admin/advanced/database:redis.keys]] {redis.keys}
    +
    [[admin/advanced/database:redis.expires]] {redis.expires}
    +
    [[admin/advanced/database:redis.avg-ttl]] {redis.avg_ttl}
    +
    [[admin/advanced/database:redis.connected-clients]] {redis.connected_clients}
    +
    [[admin/advanced/database:redis.connected-slaves]] {redis.connected_slaves}
    +
    [[admin/advanced/database:redis.blocked-clients]] {redis.blocked_clients}
    +
    - [[admin/advanced/database:redis.used-memory]] [[admin/advanced/database:x-gb, {redis.used_memory_human}]]
    - [[admin/advanced/database:redis.memory-frag-ratio]] {redis.mem_fragmentation_ratio}
    -
    - [[admin/advanced/database:redis.total-connections-recieved]] {redis.total_connections_received}
    - [[admin/advanced/database:redis.total-commands-processed]] {redis.total_commands_processed}
    - [[admin/advanced/database:redis.iops]] {redis.instantaneous_ops_per_sec}
    +
    [[admin/advanced/database:redis.used-memory]] [[admin/advanced/database:x-gb, {redis.used_memory_human}]]
    +
    [[admin/advanced/database:redis.memory-frag-ratio]] {redis.mem_fragmentation_ratio}
    +
    +
    [[admin/advanced/database:redis.total-connections-recieved]] {redis.total_connections_received}
    +
    [[admin/advanced/database:redis.total-commands-processed]] {redis.total_commands_processed}
    +
    [[admin/advanced/database:redis.iops]] {redis.instantaneous_ops_per_sec}
    - [[admin/advanced/database:redis.iinput]] [[admin/advanced/database:x-mb, {redis.instantaneous_input}]]
    - [[admin/advanced/database:redis.ioutput]] [[admin/advanced/database:x-mb, {redis.instantaneous_output}]]
    - [[admin/advanced/database:redis.total-input]] [[admin/advanced/database:x-gb, {redis.total_net_input}]]
    - [[admin/advanced/database:redis.total-output]] [[admin/advanced/database:x-gb, {redis.total_net_output}]]
    +
    [[admin/advanced/database:redis.iinput]] [[admin/advanced/database:x-mb, {redis.instantaneous_input}]]
    +
    [[admin/advanced/database:redis.ioutput]] [[admin/advanced/database:x-mb, {redis.instantaneous_output}]]
    +
    [[admin/advanced/database:redis.total-input]] [[admin/advanced/database:x-gb, {redis.total_net_input}]]
    +
    [[admin/advanced/database:redis.total-output]] [[admin/advanced/database:x-gb, {redis.total_net_output}]]
    -
    - [[admin/advanced/database:redis.keyspace-hits]] {redis.keyspace_hits}
    - [[admin/advanced/database:redis.keyspace-misses]] {redis.keyspace_misses}
    +
    +
    [[admin/advanced/database:redis.keyspace-hits]] {redis.keyspace_hits}
    +
    [[admin/advanced/database:redis.keyspace-misses]] {redis.keyspace_misses}
    +
    -
    - {{{ end }}} + {{{ end }}} - {{{ if postgres }}} -
    -
    -
    [[admin/advanced/database:postgres]]
    -
    -
    - [[admin/advanced/database:postgres.version]] {postgres.version}
    -
    - [[admin/advanced/database:uptime-seconds]] {postgres.uptime}
    + {{{ if postgres }}} +
    +
    +
    [[admin/advanced/database:postgres]]
    +
    +
    +
    [[admin/advanced/database:postgres.version]] {postgres.version}
    +
    +
    [[admin/advanced/database:uptime-seconds]] {postgres.uptime}
    +
    + {{{ end }}}
    - {{{ end }}} -
    -
    - {{{ if mongo }}} -
    -
    -
    - [[admin/advanced/database:mongo.raw-info]] -
    +
    + {{{ if mongo }}} +
    +
    +
    + [[admin/advanced/database:mongo.raw-info]] +
    -
    -
    -
    {mongo.raw}
    +
    +
    +
    {mongo.raw}
    +
    -
    - {{{ end }}} + {{{ end }}} - {{{ if redis }}} -
    -
    -
    - [[admin/advanced/database:redis.raw-info]] -
    + {{{ if redis }}} +
    +
    +
    + [[admin/advanced/database:redis.raw-info]] +
    -
    -
    -
    {redis.raw}
    +
    +
    +
    {redis.raw}
    +
    -
    - {{{ end }}} + {{{ end }}} - {{{ if postgres }}} -
    -
    -
    - [[admin/advanced/database:postgres.raw-info]] -
    + {{{ if postgres }}} +
    +
    +
    + [[admin/advanced/database:postgres.raw-info]] +
    -
    -
    -
    {postgres.raw}
    +
    +
    +
    {postgres.raw}
    +
    + {{{ end }}}
    - {{{ end }}} -
    +
    \ No newline at end of file diff --git a/src/views/admin/advanced/errors.tpl b/src/views/admin/advanced/errors.tpl index bf70584e5a..398115c9ff 100644 --- a/src/views/admin/advanced/errors.tpl +++ b/src/views/admin/advanced/errors.tpl @@ -1,5 +1,19 @@ -
    -
    +
    +
    +
    +

    [[admin/advanced/errors:errors]]

    +
    +
    + + + [[admin/advanced/errors:export-error-log]] + +
    +
    + +
    @@ -24,54 +38,37 @@
    -
    -
    -
    -
    [[admin/advanced/errors:manage-error-log]]
    -
    -
    - - [[admin/advanced/errors:export-error-log]] - - -
    -
    -
    -
    -
    -
    -
    [[admin/advanced/errors:error.404]]
    - - - - - - - {{{ each not-found }}} - - - - - {{{ end }}} - {{{ if !not-found.length }}} - - - - {{{ end }}} - -
    [[admin/advanced/errors:route]][[admin/advanced/errors:count]]
    {./value}{./score}
    -
    - [[admin/advanced/errors:no-routes-not-found]] -
    -
    +
    + + + + + + + {{{ each not-found }}} + + + + + {{{ end }}} + {{{ if !not-found.length }}} + + + + {{{ end }}} + +
    [[admin/advanced/errors:route]][[admin/advanced/errors:count]]
    {./value}{./score}
    +
    + [[admin/advanced/errors:no-routes-not-found]] +
    +
    +
    diff --git a/src/views/admin/advanced/events.tpl b/src/views/admin/advanced/events.tpl index d5d0fa8022..c89809923f 100644 --- a/src/views/admin/advanced/events.tpl +++ b/src/views/admin/advanced/events.tpl @@ -1,4 +1,4 @@ -
    +
    [[admin/advanced/events:events]]
    {{{ if !events.length }}} @@ -6,25 +6,27 @@ {{{ end }}}
    {{{ each events }}} -
    +
    -
    -
    +
    +
    #{events.eid} {events.type} uid {events.uid} {{{ if events.ip }}}{events.ip}{{{ end }}} {buildAvatar(events.user, "24px", true)} {events.user.username} - - {events.timestampISO} + {events.timestampISO} +
    +
    +
    -
    {events.jsonString}
    +
    {events.jsonString}
    {{{ end }}} - +
    @@ -52,18 +54,14 @@
    -
    - +
    + +
    -
    -
    - -
    -
    diff --git a/src/views/admin/advanced/hooks.tpl b/src/views/admin/advanced/hooks.tpl index d137038ef6..357d3039f5 100644 --- a/src/views/admin/advanced/hooks.tpl +++ b/src/views/admin/advanced/hooks.tpl @@ -1,9 +1,9 @@ -
    +
    {{{ each hooks }}}
    diff --git a/src/views/admin/advanced/logs.tpl b/src/views/admin/advanced/logs.tpl index 73bd209486..7184e4d98b 100644 --- a/src/views/admin/advanced/logs.tpl +++ b/src/views/admin/advanced/logs.tpl @@ -1,23 +1,21 @@ -
    -
    -
    -
    [[admin/advanced/logs:logs]]
    -
    -
    {data}
    -
    +
    +
    +
    +

    [[admin/advanced/logs:logs]]

    +
    +
    + +
    -
    -
    -
    [[admin/advanced/logs:control-panel]]
    -
    - - -
    + +
    +
    +
    {data}
    diff --git a/src/views/admin/appearance/customise.tpl b/src/views/admin/appearance/customise.tpl index f01359cb4f..84cca3a868 100644 --- a/src/views/admin/appearance/customise.tpl +++ b/src/views/admin/appearance/customise.tpl @@ -1,68 +1,97 @@ -
    - +
    + -
    -
    -

    - [[admin/appearance/customise:custom-css.description]] -

    -
    - +
    +
    +
    +

    + [[admin/appearance/customise:custom-css.description]] +

    +
    + -
    -
    -
    - - -
    -
    -
    +
    +
    +
    + + +
    +
    +
    -
    -

    - [[admin/appearance/customise:custom-js.description]] -

    -
    - +
    +

    + [[admin/appearance/customise:custom-js.description]] +

    +
    + -
    -
    -
    - - -
    -
    -
    +
    +
    +
    + + +
    +
    +
    -
    -

    - [[admin/appearance/customise:custom-header.description]] -

    +
    +

    + [[admin/appearance/customise:custom-header.description]] +

    + +
    + + +
    + +
    +
    + + +
    +
    +
    + +
    +

    + [[admin/appearance/customise:bsvariables.description]] +

    + +
    + + +
    + +
    +
    + + +
    +
    +
    -
    - -
    -
    - - +
    + + +
    [[admin/appearance/customise:custom-css.livereload.description]]
    - -
    -
    - - -
    [[admin/appearance/customise:custom-css.livereload.description]]
    -
    -
    - - \ No newline at end of file diff --git a/src/views/admin/appearance/skins.tpl b/src/views/admin/appearance/skins.tpl index 208d3810b1..6b64335d0e 100644 --- a/src/views/admin/appearance/skins.tpl +++ b/src/views/admin/appearance/skins.tpl @@ -1,11 +1,38 @@ -
    -
    - [[admin/appearance/skins:loading]] +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + [[admin/appearance/skins:loading]] +
    +
    +
    +
    +
    +
    + +
    + + +
    -
    - +
      +
      + +
      diff --git a/src/views/admin/appearance/themes.tpl b/src/views/admin/appearance/themes.tpl index fa98276c64..1daa2c24ac 100644 --- a/src/views/admin/appearance/themes.tpl +++ b/src/views/admin/appearance/themes.tpl @@ -1,9 +1,16 @@ -
      -
      - [[admin/appearance/themes:checking-for-installed]] +
      +
      +
      +

      [[admin/appearance/themes:themes]]

      +
      +
      + +
      -
      - \ No newline at end of file +
      +
      + [[admin/appearance/themes:checking-for-installed]] +
      +
      +
      diff --git a/src/views/admin/dashboard.tpl b/src/views/admin/dashboard.tpl index 7a7ca43f24..6858038257 100644 --- a/src/views/admin/dashboard.tpl +++ b/src/views/admin/dashboard.tpl @@ -1,10 +1,10 @@ -
      +
      -
      +
      [[admin/dashboard:guest-registered-users]]
      @@ -19,7 +19,7 @@
      -
      +
      [[admin/dashboard:user-presence]]
      @@ -36,7 +36,7 @@
      -
      +
      [[admin/dashboard:high-presence-topics]]
      @@ -47,68 +47,15 @@
      -
      -
      -
      [[admin/dashboard:popular-searches]]
      -
      -
      - -
      -
      -
      -
      - {{{ if showSystemControls }}} -
      -
      [[admin/dashboard:control-panel]]
      -
      -
      - - -
      - {{{ if lastrestart }}} -

      - [[admin/dashboard:last-restarted-by]]
      - {lastrestart.user.username} -

      - {{{ end }}} -

      - {{{ if canRestart }}} - [[admin/dashboard:restart-warning]] - {{{ else }}} - [[admin/dashboard:restart-disabled]] - {{{ end }}} -

      -

      - [[admin/dashboard:maintenance-mode]] -

      - -
      - [[admin/dashboard:realtime-chart-updates]] OFF -
      -
      - {{{ end }}} - -
      -
      [[admin/dashboard:active-users]]
      -
      -
      -
      -
      -
      -
      [[admin/dashboard:updates]]
      -
      -

      [[admin/dashboard:running-version, {version}]]

      -

      +

      +

      [[admin/dashboard:running-version, {version}]]

      +

      {{{ if lookupFailed }}} [[admin/dashboard:latest-lookup-failed]] {{{ else }}} @@ -128,17 +75,20 @@ {{{ end }}}

      -

      +

      [[admin/dashboard:keep-updated]]

      -
      -
      +
      + {{{ if showSystemControls }}} -
      -
      [[admin/dashboard:notices]]
      -
      - {{{ each notices}}} -
      + [[admin/dashboard:maintenance-mode]] + + [[admin/dashboard:realtime-chart-updates]] OFF + {{{ end }}} +
      +
      [[admin/dashboard:notices]]
      + {{{ each notices}}} +
      {{{ if ./done }}} {./doneText} {{{ else }}} @@ -150,5 +100,23 @@ {{{ end }}}
      + +
      +
      [[admin/dashboard:active-users]]
      +
      +
      +
      +
      + +
      +
      [[admin/dashboard:popular-searches]]
      +
      +
        + {{{ each popularSearches}}} +
      • ({popularSearches.score}) {popularSearches.value}
      • + {{{ end }}} +
      +
      +
      \ No newline at end of file diff --git a/src/views/admin/dashboard/logins.tpl b/src/views/admin/dashboard/logins.tpl index c3bdf2fd92..552ded83e1 100644 --- a/src/views/admin/dashboard/logins.tpl +++ b/src/views/admin/dashboard/logins.tpl @@ -1,36 +1,33 @@ -
      +
      - - - [[admin/dashboard:back-to-dashboard]] - -
      [[admin/dashboard:details.logins-static, {loginDays}]]
      - - - - - - - {{{ if !sessions.length}}} - - - - {{{ end }}} - {{{ each sessions }}} - - - - - {{{ end }}} - -
      [[admin/manage/users:users.username]][[admin/dashboard:details.logins-login-time]]
      [[admin/dashboard:details.no-logins]]
      - {buildAvatar(./user, "18px", true)} - {./user.username} - {function.userAgentIcons} {../browser} {../version} on {../platform} -
      +
      + + + + + + + {{{ if !sessions.length}}} + + + + {{{ end }}} + {{{ each sessions }}} + + + + + {{{ end }}} + +
      [[admin/manage/users:users.username]][[admin/dashboard:details.logins-login-time]]
      [[admin/dashboard:details.no-logins]]
      + {buildAvatar(./user, "18px", true)} + {./user.username} + {function.userAgentIcons} {../browser} {../version} on {../platform} +
      +
      \ No newline at end of file diff --git a/src/views/admin/dashboard/searches.tpl b/src/views/admin/dashboard/searches.tpl index 7dbce7080e..27bf1ca11d 100644 --- a/src/views/admin/dashboard/searches.tpl +++ b/src/views/admin/dashboard/searches.tpl @@ -1,26 +1,22 @@ -
      +
      -
      - - - [[admin/dashboard:back-to-dashboard]] - -
      -
      - - -
      -
      - - -
      -
      - -
      -
      -
      - + +
      + + +
      +
      + + +
      +
      + +
      + + + +
      diff --git a/src/views/admin/dashboard/topics.tpl b/src/views/admin/dashboard/topics.tpl index aee31ff56f..b4b69eca3b 100644 --- a/src/views/admin/dashboard/topics.tpl +++ b/src/views/admin/dashboard/topics.tpl @@ -1,28 +1,24 @@ -
      Count Term
      - - {{{ if !topics.length}}} - - - - {{{ end }}} - {{{ each topics }}} - - - - - - {{{ end }}} - -
      [[admin/dashboard:details.no-topics]]
      {../title}[[topic:posted_by, {../user.username}]]
      +
      + + + {{{ if !topics.length}}} + + + + {{{ end }}} + {{{ each topics }}} + + + + + + {{{ end }}} + +
      [[admin/dashboard:details.no-topics]]
      {../title}[[topic:posted_by, {../user.username}]]
      +
      \ No newline at end of file diff --git a/src/views/admin/dashboard/users.tpl b/src/views/admin/dashboard/users.tpl index 2cb3cac6a8..4fbd026ef3 100644 --- a/src/views/admin/dashboard/users.tpl +++ b/src/views/admin/dashboard/users.tpl @@ -1,35 +1,32 @@ -
      +
      - - - [[admin/dashboard:back-to-dashboard]] - - - - - - - - - - - {{{ if !users.length}}} - - - - {{{ end }}} - {{{ each users }}} - - - - - - - {{{ end }}} - -
      [[admin/manage/users:users.uid]][[admin/manage/users:users.username]][[admin/manage/users:users.email]][[admin/manage/users:users.joined]]
      [[admin/dashboard:details.no-logins]]
      {../uid}{../username}{../email}
      +
      + + + + + + + + + {{{ if !users.length}}} + + + + {{{ end }}} + {{{ each users }}} + + + + + + + {{{ end }}} + +
      [[admin/manage/users:users.uid]][[admin/manage/users:users.username]][[admin/manage/users:users.email]][[admin/manage/users:users.joined]]
      [[admin/dashboard:details.no-users]]
      {../uid}{../username}{../email}
      +
      \ No newline at end of file diff --git a/src/views/admin/development/info.tpl b/src/views/admin/development/info.tpl index 4b4c97f878..aec2347985 100644 --- a/src/views/admin/development/info.tpl +++ b/src/views/admin/development/info.tpl @@ -7,23 +7,23 @@
      [[admin/development/info:nodes-responded, {nodeCount}, {timeout}]] - +
      - - - - - - - - - - - + + + + + + + + + + + - + {{{ each info }}} diff --git a/src/views/admin/development/logger.tpl b/src/views/admin/development/logger.tpl index b5f6d658a4..4f7eedb610 100644 --- a/src/views/admin/development/logger.tpl +++ b/src/views/admin/development/logger.tpl @@ -1,37 +1,37 @@ - -
      -
      -
      -
      [[admin/development/logger:logger-settings]]
      -
      -

      - [[admin/development/logger:description]] -

      -
      -

      - [[admin/development/logger:explanation]] -

      -
      +
      +
      +
      +

      [[admin/development/logger:logger]]

      +
      +
      + +
      +
      -
      - -
      -
      +
      +

      + [[admin/development/logger:description]] +

      +
      +

      + [[admin/development/logger:explanation]] +

      +
      - -
      -
      + +
      + + +
      - - - +
      + +
      -
      + + + +
      - diff --git a/src/views/admin/extend/plugins.tpl b/src/views/admin/extend/plugins.tpl index c93c22fbac..49beec0ee7 100644 --- a/src/views/admin/extend/plugins.tpl +++ b/src/views/admin/extend/plugins.tpl @@ -1,141 +1,137 @@ -{{{ if !canChangeState }}} -
      [[error:plugins-set-in-configuration]]
      -{{{ end }}} - -
      -
      -
      - -
      - -
        - {{{ each installed }}} - - {{{ end }}} -
      -
      -
      - -
        -
        -
        - -
          -
          -
          - -
            -
            -
            - -
              - {{{ each download }}} - - {{{ end }}} -
            -
            +
            +
            +
            +

            [[admin/extend/plugins:plugins]]

            -
            - -
            -
            -
            [[admin/extend/plugins:plugin-search]]
            -
            -
            -
            +
            +
            +
            +
            +
            + {{{ if !canChangeState }}} +
            [[error:plugins-set-in-configuration]]
            + {{{ end }}} + -
            -
            -
            - - +
            +
            +
            + +
            + +
              + {{{ each installed }}} + + {{{ end }}} +
            +
            +
            + +
              +
              +
              + +
                +
                +
                + +
                  +
                  +
                  + +
                    + {{{ each download }}} + + {{{ end }}} +
                  +
                  -
                  -
                  -
                  [[admin/extend/plugins:reorder-plugins]]
                  -
                  - -
                  -
                  - -
                  -
                  [[admin/extend/plugins:dev-interested]]
                  -
                  -

                  - [[admin/extend/plugins:docs-info]] -

                  +
                  +
                  +
                  +
                  + + +
                  +
                  +
                  +
                  [[admin/extend/plugins:dev-interested]]
                  +

                  + [[admin/extend/plugins:docs-info]] +

                  +
                  +
                  +
                  -
                  -
                  - \ No newline at end of file diff --git a/src/views/admin/extend/widgets.tpl b/src/views/admin/extend/widgets.tpl index e25b4e3d93..2e119fcbc1 100644 --- a/src/views/admin/extend/widgets.tpl +++ b/src/views/admin/extend/widgets.tpl @@ -1,131 +1,143 @@ -
                  -
                  -
                  [[admin/development/info:host]][[admin/development/info:primary]][[admin/development/info:pid]][[admin/development/info:nodejs]][[admin/development/info:online]][[admin/development/info:git]][[admin/development/info:cpu-usage]][[admin/development/info:process-memory]][[admin/development/info:system-memory]][[admin/development/info:load]][[admin/development/info:uptime]][[admin/development/info:host]][[admin/development/info:primary]][[admin/development/info:pid]][[admin/development/info:nodejs]][[admin/development/info:online]][[admin/development/info:git]][[admin/development/info:cpu-usage]][[admin/development/info:process-memory]][[admin/development/info:system-memory]][[admin/development/info:load]][[admin/development/info:uptime]]
                  {info.os.hostname}:{info.process.port}