diff --git a/app.js b/app.js index 748a68bb54..4c910262bc 100644 --- a/app.js +++ b/app.js @@ -39,11 +39,7 @@ var file = require('./src/file'); global.env = process.env.NODE_ENV || 'production'; // Alternate configuration file support -var configFile = path.join(__dirname, 'config.json'); - -if (nconf.get('config')) { - configFile = path.resolve(__dirname, nconf.get('config')); -} +var configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json'); var configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database')); diff --git a/install/data/defaults.json b/install/data/defaults.json index 547adb1334..93850b9c01 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -27,6 +27,7 @@ "minimumPasswordLength": 6, "maximumSignatureLength": 255, "maximumAboutMeLength": 1000, + "maximumChatMessageLength": 1000, "maximumProfileImageSize": 256, "maximumCoverImageSize": 2048, "profileImageDimension": 200, @@ -44,5 +45,10 @@ "notificationType_new-reply": "notification", "notificationType_follow": "notification", "notificationType_new-chat": "notification", - "notificationType_group-invite": "notification" + "notificationType_group-invite": "notification", + "notificationType_mention": "notification", + "notificationType_new-register": "notification", + "notificationType_post-queue": "notification", + "notificationType_new-post-flag": "notification", + "notificationType_new-user-flag": "notification" } diff --git a/install/package.json b/install/package.json index 587f4c8485..c915bcc366 100644 --- a/install/package.json +++ b/install/package.json @@ -2,19 +2,19 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "1.7.5", + "version": "1.8.2", "homepage": "http://www.nodebb.org", "repository": { - "type": "git", - "url": "https://github.com/NodeBB/NodeBB/" + "type": "git", + "url": "https://github.com/NodeBB/NodeBB/" }, "main": "app.js", "scripts": { - "start": "node loader.js", - "lint": "eslint --cache ./nodebb .", - "pretest": "npm run lint", - "test": "nyc --reporter=html --reporter=text-summary mocha", - "coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage" + "start": "node loader.js", + "lint": "eslint --cache ./nodebb .", + "pretest": "npm run lint", + "test": "nyc --reporter=html --reporter=text-summary mocha", + "coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage" }, "dependencies": { "ace-builds": "^1.2.9", @@ -63,19 +63,19 @@ "mousetrap": "^1.6.1", "mubsub": "^1.4.0", "nconf": "^0.9.1", - "nodebb-plugin-composer-default": "6.0.16", - "nodebb-plugin-dbsearch": "2.0.9", - "nodebb-plugin-emoji": "^2.1.0", + "nodebb-plugin-composer-default": "6.0.20", + "nodebb-plugin-dbsearch": "2.0.13", + "nodebb-plugin-emoji": "^2.2.0", "nodebb-plugin-emoji-android": "2.0.0", - "nodebb-plugin-markdown": "8.4.1", - "nodebb-plugin-mentions": "2.2.3", + "nodebb-plugin-markdown": "8.4.2", + "nodebb-plugin-mentions": "2.2.4", "nodebb-plugin-soundpack-default": "1.0.0", "nodebb-plugin-spam-be-gone": "0.5.3", "nodebb-rewards-essentials": "0.0.11", - "nodebb-theme-lavender": "5.0.3", - "nodebb-theme-persona": "7.2.27", - "nodebb-theme-slick": "1.1.4", - "nodebb-theme-vanilla": "8.1.12", + "nodebb-theme-lavender": "5.0.4", + "nodebb-theme-persona": "8.0.9", + "nodebb-theme-slick": "1.2.1", + "nodebb-theme-vanilla": "9.0.7", "nodebb-widget-essentials": "4.0.2", "nodemailer": "4.4.1", "passport": "^0.4.0", @@ -100,7 +100,7 @@ "spdx-license-list": "^3.0.1", "spider-detector": "1.0.18", "toobusy-js": "^0.5.1", - "uglify-js": "^3.3.4", + "uglify-es": "^3.3.9", "validator": "9.2.0", "winston": "^2.4.0", "xml": "^1.0.1", @@ -121,26 +121,26 @@ "smtp-server": "^3.4.1" }, "bugs": { - "url": "https://github.com/NodeBB/NodeBB/issues" + "url": "https://github.com/NodeBB/NodeBB/issues" }, "engines": { - "node": ">=6" + "node": ">=6" }, "maintainers": [ - { - "name": "Andrew Rodrigues", - "email": "andrew@nodebb.org", - "url": "https://github.com/psychobunny" - }, - { - "name": "Julian Lam", - "email": "julian@nodebb.org", - "url": "https://github.com/julianlam" - }, - { - "name": "Barış Soner Uşaklı", - "email": "baris@nodebb.org", - "url": "https://github.com/barisusakli" - } + { + "name": "Andrew Rodrigues", + "email": "andrew@nodebb.org", + "url": "https://github.com/psychobunny" + }, + { + "name": "Julian Lam", + "email": "julian@nodebb.org", + "url": "https://github.com/julianlam" + }, + { + "name": "Barış Soner Uşaklı", + "email": "baris@nodebb.org", + "url": "https://github.com/barisusakli" + } ] - } +} \ No newline at end of file diff --git a/install/web.js b/install/web.js index 8dbbeec278..792dfc6aee 100644 --- a/install/web.js +++ b/install/web.js @@ -8,9 +8,8 @@ var path = require('path'); var childProcess = require('child_process'); var less = require('less'); var async = require('async'); -var uglify = require('uglify-js'); +var uglify = require('uglify-es'); var nconf = require('nconf'); -var _ = require('lodash'); var Benchpress = require('benchpressjs'); var app = express(); @@ -56,7 +55,7 @@ web.install = function (port) { extended: true, })); - async.parallel([compileLess, compileJS, copyCSS], function (err) { + async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) { if (err) { winston.error(err); } @@ -111,13 +110,29 @@ function welcome(req, res) { function install(req, res) { req.setTimeout(0); - var setupEnvVars = _.assign({}, process.env); + var setupEnvVars = nconf.get(); for (var i in req.body) { if (req.body.hasOwnProperty(i) && !process.env.hasOwnProperty(i)) { setupEnvVars[i.replace(':', '__')] = req.body[i]; } } + // Flatten any objects in setupEnvVars + const pushToRoot = function (parentKey, key) { + setupEnvVars[parentKey + '__' + key] = setupEnvVars[parentKey][key]; + }; + for (var j in setupEnvVars) { + if (setupEnvVars.hasOwnProperty(j) && typeof setupEnvVars[j] === 'object' && setupEnvVars[j] !== null && !Array.isArray(setupEnvVars[j])) { + Object.keys(setupEnvVars[j]).forEach(pushToRoot.bind(null, j)); + delete setupEnvVars[j]; + } else if (Array.isArray(setupEnvVars[j])) { + setupEnvVars[j] = JSON.stringify(setupEnvVars[j]); + } + } + + winston.info('Starting setup process'); + winston.info(setupEnvVars); + var child = require('child_process').fork('app', ['--setup'], { env: setupEnvVars, }); @@ -137,15 +152,25 @@ function launch(req, res) { res.json({}); server.close(); - var child = childProcess.spawn('node', ['loader.js'], { - detached: true, - stdio: ['ignore', 'ignore', 'ignore'], - }); + var child; - console.log('\nStarting NodeBB'); - console.log(' "./nodebb stop" to stop the NodeBB server'); - console.log(' "./nodebb log" to view server output'); - console.log(' "./nodebb restart" to restart NodeBB'); + if (!nconf.get('launchCmd')) { + child = childProcess.spawn('node', ['loader.js'], { + detached: true, + stdio: ['ignore', 'ignore', 'ignore'], + }); + + console.log('\nStarting NodeBB'); + console.log(' "./nodebb stop" to stop the NodeBB server'); + console.log(' "./nodebb log" to view server output'); + console.log(' "./nodebb restart" to restart NodeBB'); + } else { + // Use launchCmd instead, if specified + child = childProcess.exec(nconf.get('launchCmd'), { + detached: true, + stdio: ['ignore', 'ignore', 'ignore'], + }); + } var filesToDelete = [ 'installer.css', @@ -221,4 +246,21 @@ function copyCSS(next) { ], next); } +function loadDefaults(next) { + var setupDefaultsPath = path.join(__dirname, '../setup.json'); + fs.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK, function (err) { + if (err) { + // setup.json not found or inaccessible, proceed with no defaults + return setImmediate(next); + } + + winston.info('[installer] Found setup.json, populating default values'); + nconf.file({ + file: setupDefaultsPath, + }); + + next(); + }); +} + module.exports = web; diff --git a/loader.js b/loader.js index 434e2cce5c..f5793e8aff 100644 --- a/loader.js +++ b/loader.js @@ -11,8 +11,10 @@ var logrotate = require('logrotate-stream'); var file = require('./src/file'); var pkg = require('./package.json'); +var pathToConfig = path.resolve(__dirname, process.env.CONFIG || 'config.json'); + nconf.argv().env().file({ - file: path.join(__dirname, 'config.json'), + file: pathToConfig, }); var pidFilePath = path.join(__dirname, 'pidfile'); @@ -152,7 +154,6 @@ function getPorts() { Loader.restart = function () { killWorkers(); - var pathToConfig = path.join(__dirname, '/config.json'); nconf.remove('file'); nconf.use('file', { file: pathToConfig }); @@ -212,7 +213,7 @@ Loader.notifyWorkers = function (msg, worker_pid) { }); }; -fs.open(path.join(__dirname, 'config.json'), 'r', function (err) { +fs.open(pathToConfig, 'r', function (err) { if (!err) { if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) { if (file.existsSync(pidFilePath)) { diff --git a/public/language/ar/admin/admin.json b/public/language/ar/admin/admin.json index a307bc8d28..076e3dc6c9 100644 --- a/public/language/ar/admin/admin.json +++ b/public/language/ar/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "هل تريد بالتأكيد إعادة تحميل NodeBB؟", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "هل تريد بالتأكيد إعادة تشغيل NodeBB؟", "acp-title": "لوحة تحكم إدارة NodeBB | %1", diff --git a/public/language/ar/admin/appearance/themes.json b/public/language/ar/admin/appearance/themes.json index 6ca23eaf0e..87dcc31000 100644 --- a/public/language/ar/admin/appearance/themes.json +++ b/public/language/ar/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "هل أنت متأكد من أنك ترغب في استعادة قااب NodeBB الافتراضي؟", "theme-changed": "تم تغيير القالب", "revert-success": "لقد قمت بنجاح بإستعادة القالب الأساسي لـNodeBB", - "restart-to-activate": "الرجاء إعادة تشغيل NodeBB لتنشيط هذا القالب بشكل كامل" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/ar/admin/extend/plugins.json b/public/language/ar/admin/extend/plugins.json index a9082be614..aafae6e2f4 100644 --- a/public/language/ar/admin/extend/plugins.json +++ b/public/language/ar/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "تم إلغاء تنصيب الإضافة", "alert.activate-success": "يرجى إعادة تشغيل NodeBB لتنشيط الإضافة بشكل بالكامل", "alert.deactivate-success": "تم تعطيل الإضافة بنجاح", - "alert.upgrade-success": "يرجى إعادة تحميل NodeBB لترقية هذه الإضافة بشكل كامل", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "تم تثبيت الإضافة بنجاح، يرجى تفعيلها.", "alert.uninstall-success": "تم تعطيل الإضافة وإلغاء تنصيبها بنجاح.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/ar/admin/general/dashboard.json b/public/language/ar/admin/general/dashboard.json index 64d71be0d9..04f01d1a0d 100644 --- a/public/language/ar/admin/general/dashboard.json +++ b/public/language/ar/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "المنتدى يعمل حاليا على NodeBB الإصدار%1.", "keep-updated": "تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.", "up-to-date": "

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

", - "upgrade-available": "

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

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

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

", + "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. قد تحدث أخطاء غير مقصودة.

", "running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.", + "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", "notices": "إشعارات", "restart-not-required": "إعادة التشغيل غير مطلوب", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث", "control-panel": "التحكم بالنظام", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "وضع الصيانة", diff --git a/public/language/ar/admin/menu.json b/public/language/ar/admin/menu.json index cb02303182..15c36419a0 100644 --- a/public/language/ar/admin/menu.json +++ b/public/language/ar/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/ar/admin/settings/advanced.json b/public/language/ar/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/ar/admin/settings/advanced.json +++ b/public/language/ar/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/ar/admin/settings/post.json b/public/language/ar/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/ar/admin/settings/post.json +++ b/public/language/ar/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/ar/admin/settings/uploads.json b/public/language/ar/admin/settings/uploads.json index 50fc299283..d3a05ab6e4 100644 --- a/public/language/ar/admin/settings/uploads.json +++ b/public/language/ar/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "جعل الملفات التي تم رفعها خاصة", "max-image-width": "تغيير حجم الصور إلى عرض محدد (بالبكسل)", "max-image-width-help": "(بالبكسل، الافتراضي: 760 بكسل، ضع إلى 0 لتعطيل الخاصية)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "الحد الأقصى لحجم الملف (بالكيبيبايت)", "max-file-size-help": "(بالكيبيبايت، الافتراضي: 2048)", "allow-topic-thumbnails": "السماح للاعضاء برفع الصور المصغرة للموضوع", diff --git a/public/language/ar/email.json b/public/language/ar/email.json index 9b5b49fd1b..5a9df3e975 100644 --- a/public/language/ar/email.json +++ b/public/language/ar/email.json @@ -9,6 +9,7 @@ "welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.", "welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني", "invitation.text1": "%1 قام بدعوتك للانضمام لـ %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "إضغط هنا لإنشاء حسابك", "reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.", "reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.", diff --git a/public/language/ar/error.json b/public/language/ar/error.json index 696e6a18dc..9927e38efd 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "غير مصرح لك بحذف الرسالة.", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟", "reputation-system-disabled": "نظام السمعة معطل", "downvoting-disabled": "التصويتات السلبية معطلة", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "يبدو أن فترة التسجيل لم تعد قائمة او هي غير مطابقة مع الخادم. يرجى إعادة تحميل هذه الصفحة.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/ar/global.json b/public/language/ar/global.json index a77e9823d9..b3583b8718 100644 --- a/public/language/ar/global.json +++ b/public/language/ar/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "أعرف المزيد", "edited": "حُرِر", "disabled": "معطل", - "select": "تحديد" + "select": "تحديد", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/ar/modules.json b/public/language/ar/modules.json index c975207938..10f6399287 100644 --- a/public/language/ar/modules.json +++ b/public/language/ar/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "الدردشة مع ", + "chat.chatting_with": "Chat with", "chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال", "chat.send": "أرسل", "chat.no_active": "لا يوجد لديك دردشات نشطة.", @@ -12,6 +12,7 @@ "chat.recent-chats": "آخر الدردشات", "chat.contacts": "الأصدقاء", "chat.message-history": "تاريخ الرسائل", + "chat.options": "Chat options", "chat.pop-out": "افتح الدردشة في نافذة خاصة", "chat.minimize": "Minimize", "chat.maximize": "تكبير", @@ -20,7 +21,17 @@ "chat.three_months": "3 أشهر", "chat.delete_message_confirm": "هل أنت متأكد من أنك تريد حذف هذه الرسالة؟", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "اكتب", "composer.show_preview": "عرض المعاينة", "composer.hide_preview": "إخفاء المعاينة", diff --git a/public/language/ar/reset_password.json b/public/language/ar/reset_password.json index fe35f3569c..22455983db 100644 --- a/public/language/ar/reset_password.json +++ b/public/language/ar/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "تأكيد كلمة المرور", "enter_email": "يرجى إدخال عنوان البريد الإلكتروني الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.", "enter_email_address": "ادخل عنوان البريد الإلكتروني", - "password_reset_sent": "إعادة تعيين كلمة السر أرسلت", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "بريد إلكتروني غير صالح أو غير موجود", "password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة", "passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان", diff --git a/public/language/ar/search.json b/public/language/ar/search.json index a0b00fb092..f206319e5f 100644 --- a/public/language/ar/search.json +++ b/public/language/ar/search.json @@ -5,6 +5,9 @@ "in": "في", "titles": "العناوين", "titles-posts": "العناوين والمشاركات", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "مشاركة من طرف", "in-categories": "في الفئات", "search-child-categories": "بحث في الفئات الفرعية", diff --git a/public/language/ar/topic.json b/public/language/ar/topic.json index 1b3fdc37cc..1d9423d9be 100644 --- a/public/language/ar/topic.json +++ b/public/language/ar/topic.json @@ -32,6 +32,7 @@ "moved": "منقول", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع", "flag_title": "إشعار بمشاركة مخلة.", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "أقفل الموضوع", "thread_tools.unlock": "إلغاء إقفال الموضوع", "thread_tools.move": "نقل الموضوع", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "نقل الكل", "thread_tools.select_category": "Select Category", "thread_tools.fork": "إنشاء فرع الموضوع", @@ -95,6 +97,7 @@ "fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "أدخل عنوان موضوعك هنا...", "composer.handle_placeholder": "اﻹسم", "composer.discard": "نبذ التغييرات", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "موضوع جديد", "stale.reply_anyway": "الرد على هذا الموضوع ", - "link_back": "رد: [%1](%2)" + "link_back": "رد: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/ar/user.json b/public/language/ar/user.json index d01b7e7e50..cde9d1635a 100644 --- a/public/language/ar/user.json +++ b/public/language/ar/user.json @@ -1,6 +1,7 @@ { "banned": "محظور", "offline": "غير متصل", + "deleted": "Deleted", "username": "إسم المستخدم", "joindate": "تاريخ الإنضمام", "postcount": "عدد المشاركات", @@ -11,7 +12,7 @@ "ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟", "unban_account": "إزالة حظر الحساب", "delete_account": "حذف الحساب", - "delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟
هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك

أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "هل انت متأكد من رغبتك بحذف هذا الحساب؟
هذا الإجراء لا رجعة فيه ولن تتمكن من استرداد أي بيانات

", "account-deleted": "تم حذف الحساب", "fullname": "الاسم الكامل", @@ -52,7 +53,6 @@ "change_password": "تغيير كلمة السر", "change_password_error": "كلمة سر غير صحيحة", "change_password_error_wrong_current": "كلمة السر الحالية ليست صحيحة", - "change_password_error_length": "كلمة السر قصيرة", "change_password_error_match": "كلمة السر غير مطابقة لتأكيد كلمة السر", "change_password_error_privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.", "change_password_success": "تم تحديث كلمة السر خاصتك.", diff --git a/public/language/bg/admin/admin.json b/public/language/bg/admin/admin.json index 8728d86397..d05f25839c 100644 --- a/public/language/bg/admin/admin.json +++ b/public/language/bg/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Наистина ли искате да презаредите NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Наистина ли искате да рестартирате NodeBB?", "acp-title": "%1 | Контролен панел за администратори на NodeBB", diff --git a/public/language/bg/admin/appearance/themes.json b/public/language/bg/admin/appearance/themes.json index c39a188505..a19776d017 100644 --- a/public/language/bg/admin/appearance/themes.json +++ b/public/language/bg/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Наистина ли искате да възстановите стандартната тема на NodeBB?", "theme-changed": "Темата е променена", "revert-success": "Вие възстановихте успешно стандартната тема на NodeBB.", - "restart-to-activate": "Моля, рестартирайте NodeBB, за да може тази тема да влезе в сила напълно." + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/bg/admin/extend/plugins.json b/public/language/bg/admin/extend/plugins.json index 179a98b8c5..10ef94bf7e 100644 --- a/public/language/bg/admin/extend/plugins.json +++ b/public/language/bg/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Добавката е деинсталирана", "alert.activate-success": "Моля, рестартирайте NodeBB, за да включите тази добавка напълно.", "alert.deactivate-success": "Добавката е изключена успешно.", - "alert.upgrade-success": "Моля, презаредете NodeBB, за да обновите тази добавка напълно.", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Добавката е инсталирана успешно, моля, включете я", "alert.uninstall-success": "Добавката беше изключена и деинсталирана успешно.", "alert.suggest-error": "

NodeBB не може да се свърже с пакетния мениджър. Искате ли да продължите с инсталацията на най-новата версия?

Сървърът върна (%1): %2
", diff --git a/public/language/bg/admin/general/dashboard.json b/public/language/bg/admin/general/dashboard.json index 419120ef5b..579de3fbb5 100644 --- a/public/language/bg/admin/general/dashboard.json +++ b/public/language/bg/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "Вие използвате NodeBB версия %1.", "keep-updated": "Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.", "up-to-date": "

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

", - "upgrade-available": "

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

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

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

", + "upgrade-available": "

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

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

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

", "prerelease-warning": "

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

", "running-in-development": "Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.", + "latest-lookup-failed": "

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

", "notices": "Забележки", "restart-not-required": "Не се изисква рестартиране", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Инсталирайте добавка за търсене от страницата с добавките, за да включите функционалността за търсене", "control-panel": "Системен контрол", - "reload": "Рестартиране", - "restart": "Повторно изграждане и рестартиране", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Повторното изграждане и рестартирането на NodeBB ще прекъснат всички връзки за няколко секунди.", "restart-disabled": "Възможностите за повторно изграждане и рестартиране на NodeBB са изключени, тъй като изглежда, че NodeBB не се изпълнява чрез подходящия демон.", "maintenance-mode": "Режим на профилактика", diff --git a/public/language/bg/admin/menu.json b/public/language/bg/admin/menu.json index 3fdd7636a1..7420b914a6 100644 --- a/public/language/bg/admin/menu.json +++ b/public/language/bg/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Система на журнала", "development/info": "Информация", - "reload-forum": "Презареждане на форума", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Рестартиране на форума", "logout": "Изход", "view-forum": "Преглед на форума", @@ -74,5 +74,8 @@ "search.keep-typing": "Продължете да пишете, за да видите още резултати…", "search.start-typing": "Започнете да пишете, за да получите резултати…", - "connection-lost": "Връзката към %1 беше прекъсната. опитваме се да Ви свържем отново…" + "connection-lost": "Връзката към %1 беше прекъсната. опитваме се да Ви свържем отново…", + + "alerts.version": "Използва се NodeBB версия %1", + "alerts.upgrade": "Обновяване до v%1" } \ No newline at end of file diff --git a/public/language/bg/admin/settings/advanced.json b/public/language/bg/admin/settings/advanced.json index d99bdfd5b5..5bd1e69242 100644 --- a/public/language/bg/admin/settings/advanced.json +++ b/public/language/bg/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Персонализиране на заглавната част „Захранван от“, която се изпраща от NodeBB", "headers.acao": "Произход за разрешаване на управлението на достъпа", "headers.acao-help": "За да забраните достъпа до всички уеб сайтове, оставете празно", + "headers.acac": "Удостоверителни данни за разрешаване на управлението на достъпа", "headers.acam": "Методи за разрешаване на управлението на достъпа", "headers.acah": "Заглавки за разрешаване на управлението на достъпа", "traffic-management": "Управление на трафика", diff --git a/public/language/bg/admin/settings/post.json b/public/language/bg/admin/settings/post.json index 432076b60e..18f7afd462 100644 --- a/public/language/bg/admin/settings/post.json +++ b/public/language/bg/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Позволяване на добавките да добавят съдържание в раздела за помощ", "composer.custom-help": "Персонализиран текст за помощ", "ip-tracking": "Записване на IP адреса", - "ip-tracking.each-post": "Записване на IP адреса за всяка публикация" + "ip-tracking.each-post": "Записване на IP адреса за всяка публикация", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/bg/admin/settings/uploads.json b/public/language/bg/admin/settings/uploads.json index 3c1d0d7c59..ab65f620ff 100644 --- a/public/language/bg/admin/settings/uploads.json +++ b/public/language/bg/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Качените файлове да бъдат частни", "max-image-width": "Намаляване на размера на изображенията до определена ширина (в пиксели)", "max-image-width-help": "(в пиксели; по подразбиране: 760 пиксела. 0 = изключено)", + "resize-image-quality": "Качество при преоразмеряване на изображенията", + "resize-image-quality-help": "Използване на по-ниско качество за намаляване на размера на файловете за преоразмерените изображения.", "max-file-size": "Максимален размер на файловете (в КиБ)", "max-file-size-help": "(в кибибайтове; по подразбиране: 2048 КиБ)", "allow-topic-thumbnails": "Позволяване на потребителите да качват миниатюрни изображения за темите", diff --git a/public/language/bg/email.json b/public/language/bg/email.json index 2c72baef8f..fb581212a6 100644 --- a/public/language/bg/email.json +++ b/public/language/bg/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Вашата заявка за регистрация беше приета от администратор. Вече можете да се впишете със своето потребителско име и парола.", "welcome.cta": "Натиснете тук, за да потвърдите своята е-поща.", "invitation.text1": "%1 Ви покани да се присъедините към %2", + "invitation.text2": "Поканата Ви ще изтече след %1 дни.", "invitation.ctr": "Натиснете тук, за да си създадете акаунт.", "reset.text1": "Получихме заявка за подновяване на Вашата парола, най-вероятно защото сте я забравили. Ако това не е така, моля не обръщайте внимание на това е-писмо.", "reset.text2": "За да продължите с процедурата по подновяване на паролата, моля последвайте следната връзка:", diff --git a/public/language/bg/error.json b/public/language/bg/error.json index 169934ac72..3a9958333c 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Нямате право да изтриете това съобщение", "chat-edit-duration-expired": "Можете да редактирате съобщенията си в разговорите до %1 секунда/и, след като ги пуснете", "chat-delete-duration-expired": "Можете да изтривате съобщенията си в разговорите до %1 секунда/и след пускането им", + "chat-deleted-already": "Това съобщение вече е изтрито.", + "chat-restored'already": "Това съобщение вече е възстановено.", "already-voting-for-this-post": "Вече сте дали глас за тази публикация.", "reputation-system-disabled": "Системата за репутация е изключена.", "downvoting-disabled": "Отрицателното гласуване е изключено", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Грешен път към началната страница", "invalid-session": "Несъответствие в сесията", "invalid-session-text": "Изглежда сесията Ви на вписване вече е изтекла или не съответства на сървъра. Моля, опреснете страницата.", - "no-topics-selected": "Няма избрани теми!" + "no-topics-selected": "Няма избрани теми!", + "cant-move-to-same-topic": "Публикацията не може да бъде преместена в същата тема!" } \ No newline at end of file diff --git a/public/language/bg/global.json b/public/language/bg/global.json index c23c95faf2..ff4d151c01 100644 --- a/public/language/bg/global.json +++ b/public/language/bg/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Научете повече", "edited": "Редактирано", "disabled": "Изключено", - "select": "Избиране" + "select": "Избиране", + "user-search-prompt": "Започнете да пишете, за да потърсите потребител…" } \ No newline at end of file diff --git a/public/language/bg/modules.json b/public/language/bg/modules.json index fac82100cb..ebfe40de7c 100644 --- a/public/language/bg/modules.json +++ b/public/language/bg/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Разговор с ", + "chat.chatting_with": "Разговор с", "chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане", "chat.send": "Изпращане", "chat.no_active": "Нямате текущи разговори.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Скорошни разговори", "chat.contacts": "Контакти", "chat.message-history": "История на съобщенията", + "chat.options": "Настройки на разговора", "chat.pop-out": "Отделяне на разговора в прозорец", "chat.minimize": "Намаляване", "chat.maximize": "Уголемяване", @@ -20,7 +21,17 @@ "chat.three_months": "3 месеца", "chat.delete_message_confirm": "Наистина ли искате да изтриете това съобщение?", "chat.add-users-to-room": "Добавяне на потребители към стаята", + "chat.retrieving-users": "Получаване на потребителите…", + "chat.manage-room": "Управление на стаята за разговори", + "chat.add-user-help": "Тук можете да потърсите потребители. Когато някой потребител бъде избран, той ще бъде добавен в разговора. Новият потребител няма да може да вижда съобщенията, написани преди включването му в разговора.", "chat.confirm-chat-with-dnd-user": "Този потребител е в състояние „не ме безпокойте“. Наистина ли искате да разговаряте с него?", + "chat.rename-room": "Преименуване на стаята", + "chat.rename-placeholder": "Въведете името на стаята си тук", + "chat.rename-help": "Зададеното тук име на стаята ще се вижда от всички участници в нея.", + "chat.leave": "Напускане на разговора", + "chat.leave-prompt": "Наистина ли искате да напуснете този разговор?", + "chat.leave-help": "Ако напуснете този разговор, няма да виждате следващите съобщения в него. Ако бъдете добавен(а) отново, няма да виждате историята на разговора отпреди добавянето Ви.", + "chat.in-room": "В тази стая", "composer.compose": "Писане", "composer.show_preview": "Показване на прегледа", "composer.hide_preview": "Скриване на прегледа", diff --git a/public/language/bg/reset_password.json b/public/language/bg/reset_password.json index 0060709a17..9158b761c5 100644 --- a/public/language/bg/reset_password.json +++ b/public/language/bg/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Потвърдете паролата", "enter_email": "Моля, въведете адреса на е-пощата си и ще Ви изпратим е-писмо с инструкции за това как да достъпите акаунта си.", "enter_email_address": "Въведете адрес на е-поща", - "password_reset_sent": "Информацията за подновяване на паролата беше изпратена", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Грешна е-поща / е-пощата не съществува!", "password_too_short": "Паролата е твърде кратка. Моля, изберете друга парола.", "passwords_do_not_match": "Двете пароли, които въведохте, са различни.", diff --git a/public/language/bg/search.json b/public/language/bg/search.json index 7165aace30..2b8bf12c6f 100644 --- a/public/language/bg/search.json +++ b/public/language/bg/search.json @@ -5,6 +5,9 @@ "in": "В", "titles": "Заглавия", "titles-posts": "Заглавия и публикации", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Публикувано от", "in-categories": "В категории", "search-child-categories": "Претърсване на подкатегориите", diff --git a/public/language/bg/topic.json b/public/language/bg/topic.json index 9a0942a6de..860b0f70b6 100644 --- a/public/language/bg/topic.json +++ b/public/language/bg/topic.json @@ -32,6 +32,7 @@ "moved": "Преместена", "copy-ip": "Копиране на IP адреса", "ban-ip": "Блокиране на IP адреса", + "view-history": "История на редакциите", "bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.", "flag_title": "Докладване на тази публикация до модератор", "merged_message": "Тази тема беше слята в %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Заключване на темата", "thread_tools.unlock": "Отключване на темата", "thread_tools.move": "Преместване на темата", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Преместване на всички", "thread_tools.select_category": "Избиране на категория", "thread_tools.fork": "Разделяне на темата", @@ -95,6 +97,7 @@ "fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.", "delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите", "merge_topics_instruction": "Натиснете темите, които искате да слеете", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Въведете заглавието на темата си тук...", "composer.handle_placeholder": "Име", "composer.discard": "Отхвърляне", @@ -121,5 +124,8 @@ "stale.warning": "Темата, в която отговаряте, е доста стара. Искате ли вместо това да създадете нова и да направите препратка към тази в отговора си?", "stale.create": "Създаване на нова тема", "stale.reply_anyway": "Отговаряне в тази тема въпреки това", - "link_back": "Отговор: [%1](%2)" + "link_back": "Отговор: [%1](%2)", + "diffs.title": "История на редакциите", + "diffs.description": "Тази публикация има %1 варианта. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.", + "diffs.no-revisions-description": "Тази публикация има %1 варианта." } \ No newline at end of file diff --git a/public/language/bg/user.json b/public/language/bg/user.json index 7b4f947147..0d971d783d 100644 --- a/public/language/bg/user.json +++ b/public/language/bg/user.json @@ -1,6 +1,7 @@ { "banned": "Блокиран", "offline": "Извън линия", + "deleted": "Изтрит", "username": "Потребителско име", "joindate": "Дата на присъединяване", "postcount": "Брой публикации", @@ -11,7 +12,7 @@ "ban_account_confirm": "Наистина ли искате да блокирате този потребител?", "unban_account": "Деблокиране на акаунта", "delete_account": "Изтриване на акаунта", - "delete_account_confirm": "Наистина ли искате да изтриете акаунта си?
Това действие е необратимо и няма да можете да възстановите нищо от данните си.

Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт?
Това действие е необратимо и няма да можете да възстановите нищо от данните си.

", "account-deleted": "Акаунтът е изтрит", "fullname": "Пълно име", @@ -52,7 +53,6 @@ "change_password": "Промяна на паролата", "change_password_error": "Грешна парола!", "change_password_error_wrong_current": "Текущата Ви парола е грешна!", - "change_password_error_length": "Паролата е твърде кратка!", "change_password_error_match": "Паролите са различни!", "change_password_error_privileges": "Нямате права да промените тази парола.", "change_password_success": "Паролата ви е обновена!", diff --git a/public/language/bn/admin/admin.json b/public/language/bn/admin/admin.json index e7aaf72c47..8b850aca3e 100644 --- a/public/language/bn/admin/admin.json +++ b/public/language/bn/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "আপনি কি নিশ্চিত যে আপনি NodeBB রিলোড করতে চান ?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "আপনি কি নিশ্চিত যে আপনি NodeBB রিস্টার্ট করতে চান ?", "acp-title": "%1 | NodeBB এডমিন কন্ট্রোল প্যানেল", diff --git a/public/language/bn/admin/appearance/themes.json b/public/language/bn/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/bn/admin/appearance/themes.json +++ b/public/language/bn/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/bn/admin/extend/plugins.json b/public/language/bn/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/bn/admin/extend/plugins.json +++ b/public/language/bn/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/bn/admin/general/dashboard.json b/public/language/bn/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/bn/admin/general/dashboard.json +++ b/public/language/bn/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/bn/admin/menu.json b/public/language/bn/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/bn/admin/menu.json +++ b/public/language/bn/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/bn/admin/settings/advanced.json b/public/language/bn/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/bn/admin/settings/advanced.json +++ b/public/language/bn/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/bn/admin/settings/post.json b/public/language/bn/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/bn/admin/settings/post.json +++ b/public/language/bn/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/bn/admin/settings/uploads.json b/public/language/bn/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/bn/admin/settings/uploads.json +++ b/public/language/bn/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/bn/email.json b/public/language/bn/email.json index 9d7b1cb1cc..102f2be541 100644 --- a/public/language/bn/email.json +++ b/public/language/bn/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন", "invitation.text1": "%1 আপনাকে %2 তে যোগ দিতে আমন্ত্রণ জানিয়েছেন ", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "আপনার একাউন্ট খুলতে এখানে ক্লিক করুন", "reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।", "reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন", diff --git a/public/language/bn/error.json b/public/language/bn/error.json index 6ff19e7d3b..fc7a9bf7e5 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে", "downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/bn/global.json b/public/language/bn/global.json index 8d016b8002..3683b52c73 100644 --- a/public/language/bn/global.json +++ b/public/language/bn/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/bn/modules.json b/public/language/bn/modules.json index c512813734..ba26a01fce 100644 --- a/public/language/bn/modules.json +++ b/public/language/bn/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": " এর সাথে কথোপকথন", + "chat.chatting_with": "Chat with", "chat.placeholder": "এখানে আপনার বার্তা লিখুন। পাঠানোর জন্য Enter চাপুন", "chat.send": "প্রেরন করুন", "chat.no_active": "আপনার কোন সচল কথোপকথন নেই", @@ -12,6 +12,7 @@ "chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ", "chat.contacts": "কন্টাক্টস", "chat.message-history": "মেসেজ হিস্টোরী", + "chat.options": "Chat options", "chat.pop-out": "চ্যাট উইন্ডো আলাদা করুন", "chat.minimize": "Minimize", "chat.maximize": "ম্যাক্সিমাইজ", @@ -20,7 +21,17 @@ "chat.three_months": "৩ মাস", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/bn/reset_password.json b/public/language/bn/reset_password.json index dd99dd4db3..96a54f2852 100644 --- a/public/language/bn/reset_password.json +++ b/public/language/bn/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "পাসওয়ার্ড নিশ্চিত করুন", "enter_email": "অনুগ্রহপূর্বক আপনার ইমেইল এড্রেস প্রদান করুন, আমরা আপনাকে আপনার পাসওয়ার্ড রিসেট সম্পর্কিত তথ্যাবলী ইমেইলে পাঠিয়ে দিবো। ", "enter_email_address": "আপনার ইমেইল এড্রেস", - "password_reset_sent": "পাসওয়ার্ড রিসেট মেইল পাঠানো হয়েছে", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "ভুল ইমেইল / ইমেইল ডেটাবেইজে নেই", "password_too_short": "The password entered is too short, please pick a different password.", "passwords_do_not_match": "The two passwords you've entered do not match.", diff --git a/public/language/bn/search.json b/public/language/bn/search.json index 143c2456bc..38d8caf49c 100644 --- a/public/language/bn/search.json +++ b/public/language/bn/search.json @@ -5,6 +5,9 @@ "in": "এর মধ্যে", "titles": "টাইটেলস", "titles-posts": "টাইটেল এবং পোস্ট সমূহ", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "পোষ্ট করেছেন", "in-categories": "বিভাগের ভিতরে", "search-child-categories": "উপবিভাগের ভিতরে", diff --git a/public/language/bn/topic.json b/public/language/bn/topic.json index ddb32e457b..495aaf647a 100644 --- a/public/language/bn/topic.json +++ b/public/language/bn/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "টপিক বন্ধ করুন", "thread_tools.unlock": "টপিক খুলে দিন", "thread_tools.move": "টপিক সরান", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "সমস্ত টপিক সরান", "thread_tools.select_category": "Select Category", "thread_tools.fork": "টপিক ফর্ক করুন", @@ -95,6 +97,7 @@ "fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন", "composer.handle_placeholder": "Name", "composer.discard": "বাতিল", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/bn/user.json b/public/language/bn/user.json index d6014f6fe5..f8f738d43b 100644 --- a/public/language/bn/user.json +++ b/public/language/bn/user.json @@ -1,6 +1,7 @@ { "banned": "নিষিদ্ধ", "offline": "অফলাইন", + "deleted": "Deleted", "username": "সদস্যের নাম", "joindate": "নিবন্ধন তারিখ", "postcount": "সর্বমোট পোষ্ট", @@ -11,7 +12,7 @@ "ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?", "unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন", "delete_account": "একাউন্ট মুছে ফেলুন", - "delete_account_confirm": "আপনি কি নিশ্চিত যে আপনি আপনার একাউন্ট মুছে ফেলতে চান ?
এই কাজটির ফলে আপনার কোন তথ্য পুনরূদ্ধার করা সম্ভব নয়

নিশ্চিত করতে আপনার ইউজারনেম প্রবেশ করান। ", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "একাউন্ট মুছে ফেলা হয়েছে", "fullname": "পুর্ণ নাম", @@ -52,7 +53,6 @@ "change_password": "পাসওয়ার্ড পরিবর্তন", "change_password_error": "অগ্রহনযোগ্য পাসওয়ার্ড", "change_password_error_wrong_current": "আপনার পাসওয়ার্ড সঠিক নয়", - "change_password_error_length": "পাসওয়ার্ড অতিরিক্ত ছোট", "change_password_error_match": "পাসওয়ার্ড অবশ্যই একই হতে হবে", "change_password_error_privileges": "আপনার পাসওয়ার্ড পরিবর্তন করার অনুমতি নেই", "change_password_success": "আপনার পাসওয়ার্ড আপডেট করা হয়েছে", diff --git a/public/language/cs/admin/admin.json b/public/language/cs/admin/admin.json index ff81a8bb82..f59e457b97 100644 --- a/public/language/cs/admin/admin.json +++ b/public/language/cs/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Jste si jist/a, že si přejete znovu načíst NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Jste si jist/a, že si přejete restartovat NodeBB?", "acp-title": "Ovládací panel správce NodeBB | %1", diff --git a/public/language/cs/admin/appearance/themes.json b/public/language/cs/admin/appearance/themes.json index 2aaf6984ba..0907141777 100644 --- a/public/language/cs/admin/appearance/themes.json +++ b/public/language/cs/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Jste si jist/a, že chcete obnovit výchozí motiv NodeBB?", "theme-changed": "Motiv byl změněn", "revert-success": "Úspěšně jste vrátil/a NodeBB na výchozí motiv", - "restart-to-activate": "Restartujte prosím NodeBB, aby mohl být plně aktivován tento motiv" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/cs/admin/extend/plugins.json b/public/language/cs/admin/extend/plugins.json index 328d73d245..c347e5c183 100644 --- a/public/language/cs/admin/extend/plugins.json +++ b/public/language/cs/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Rozšíření bylo odinstalováno", "alert.activate-success": "Pro plnou aktivaci tohoto rozšíření, restartujte NodeBB", "alert.deactivate-success": "Rozšíření bylo úspěšně deaktivováno", - "alert.upgrade-success": "Pro plnou aktualizace tohoto rozšíření, znovu načtěte vaše NodeBB", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Rozšíření bylo úspěšně nainstalováno, můžete ho aktivovat.", "alert.uninstall-success": "Rozšíření bylo úspěšně deaktivováno a odinstalováno.", "alert.suggest-error": "

NodeBB se nemohl připojit ke správce balíčku, pokračovat v instalaci poslední verze?

Server odpověděl (%1): %2
", diff --git a/public/language/cs/admin/extend/widgets.json b/public/language/cs/admin/extend/widgets.json index c1d78f2d9d..d3a91b1ec7 100644 --- a/public/language/cs/admin/extend/widgets.json +++ b/public/language/cs/admin/extend/widgets.json @@ -2,7 +2,7 @@ "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 rozšíření základních miniaplikací v ovládacím panelu Rozšíření.", - "clone-from": "Clone widgets from", + "clone-from": "Klonovat miniaplikaci z", "containers.available": "Dostupné moduly", "containers.explanation": "Přetáhněte na jakoukoliv aktivní miniaplikaci", "containers.none": "Nic", @@ -16,7 +16,7 @@ "alert.confirm-delete": "Jste si jist/a, že chcete smazat tuto miniaplikaci?", "alert.updated": "Miniaplikace byly aktualizovány", "alert.update-success": "Miniaplikace byly úspěšně aktualizovány", - "alert.clone-success": "Successfully cloned widgets", + "alert.clone-success": "Úspěšně naklonované miniaplikace", - "error.select-clone": "Please select a page to clone from" + "error.select-clone": "Vyberte prosím stránku, ze které chcete klonovat" } \ No newline at end of file diff --git a/public/language/cs/admin/general/dashboard.json b/public/language/cs/admin/general/dashboard.json index 37236c992b..bf8f52538a 100644 --- a/public/language/cs/admin/general/dashboard.json +++ b/public/language/cs/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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": "

Byla uvolněna nová verze (v%1). Zvažte aktualizaci vašeho NodeBB.

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

Toto je zastaralá zkušební verze NodeBB. Nová verze (v%1) byla uvolněna. Zvažte aktualizaci NodeBB.

", + "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.

", "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

", "notices": "Oznámení", "restart-not-required": "Restart není potřeba", @@ -36,10 +37,10 @@ "search-plugin-tooltip": "Pro aktivování funkce vyhledávání, nainstalujte rozšíření pro hledání ze stránky rozšíření.", "control-panel": "Ovládání systému", - "reload": "Restart", - "restart": "Rebuild & Restart", - "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", - "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", + "restart-warning": "Znovu sestavení nebo restartování NodeBB odpojí všechna existující připojení na několik vteřin.", + "restart-disabled": "Znovu sestavení a restartování vašeho NodeBB bylo zakázáno, protože se nezdá, že byste byl/a připojena přes příslušného „daemona”.", "maintenance-mode": "Režim údržby", "maintenance-mode-title": "Pro nastavení režimu údržby NodeBB, klikněte zde", "realtime-chart-updates": "Aktualizace grafů v reálném čase", diff --git a/public/language/cs/admin/manage/categories.json b/public/language/cs/admin/manage/categories.json index 6ec96686e8..2195181cf9 100644 --- a/public/language/cs/admin/manage/categories.json +++ b/public/language/cs/admin/manage/categories.json @@ -66,6 +66,6 @@ "alert.user-search": "Najít uživatele…", "alert.find-group": "Najít skupinu", "alert.group-search": "Hledat skupinu…", - "collapse-all": "Collapse All", - "expand-all": "Expand All" + "collapse-all": "Sbalit vše", + "expand-all": "Rozbalit vše" } \ No newline at end of file diff --git a/public/language/cs/admin/manage/ip-blacklist.json b/public/language/cs/admin/manage/ip-blacklist.json index ae619eff5a..3b2e4e4002 100644 --- a/public/language/cs/admin/manage/ip-blacklist.json +++ b/public/language/cs/admin/manage/ip-blacklist.json @@ -15,5 +15,5 @@ "analytics.blacklist-hourly": "Postava 1 – záznamů v černé listině/hodinu", "analytics.blacklist-daily": "Postava 2 – záznamů v černé listině/den", - "ip-banned": "IP banned" + "ip-banned": "IP zakázáno" } \ No newline at end of file diff --git a/public/language/cs/admin/menu.json b/public/language/cs/admin/menu.json index 1bb28dd6be..f7da618898 100644 --- a/public/language/cs/admin/menu.json +++ b/public/language/cs/admin/menu.json @@ -17,7 +17,7 @@ "manage/post-queue": "Fronta příspěvků", "manage/groups": "Skupiny", "manage/ip-blacklist": "Černá listina IP", - "manage/uploads": "Uploads", + "manage/uploads": "Nahráno", "section-settings": "Nastavení", "settings/general": "Všeobecné", @@ -63,7 +63,7 @@ "development/logger": "Protokolář", "development/info": "Informace", - "reload-forum": "Znovu načíst fórum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restartovat fórum", "logout": "Odhlásit", "view-forum": "Zobrazit fórum", @@ -74,5 +74,8 @@ "search.keep-typing": "Pište dále pro zobrazení výsledků…", "search.start-typing": "Začněte psát pro zobrazení výsledků…", - "connection-lost": "Připojení k %1 bylo ztraceno, snaha o opětovné připojení…" + "connection-lost": "Připojení k %1 bylo ztraceno, snaha o opětovné připojení…", + + "alerts.version": "Spušteno NodeBB v%1", + "alerts.upgrade": "Aktualizovat na v%1" } \ No newline at end of file diff --git a/public/language/cs/admin/settings/advanced.json b/public/language/cs/admin/settings/advanced.json index 7796c4a1ae..f1e70e1886 100644 --- a/public/language/cs/admin/settings/advanced.json +++ b/public/language/cs/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Upravte si hlavičku „Powered by” odesílanou NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Pro zakázání přístupu na všechny stránky, zanechte prázdné", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Správa provozu", diff --git a/public/language/cs/admin/settings/post.json b/public/language/cs/admin/settings/post.json index b8c9350e8e..05f82cded2 100644 --- a/public/language/cs/admin/settings/post.json +++ b/public/language/cs/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Povolit rozšíření přidat obsah do záložky nápovědy", "composer.custom-help": "Uživatelský text nápovědy", "ip-tracking": "Sledování IP", - "ip-tracking.each-post": "Sledovat adresu IP u každého příspěvku" + "ip-tracking.each-post": "Sledovat adresu IP u každého příspěvku", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/cs/admin/settings/uploads.json b/public/language/cs/admin/settings/uploads.json index 688fdf4920..a5f5cacc57 100644 --- a/public/language/cs/admin/settings/uploads.json +++ b/public/language/cs/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Nahrané soubory jsou sokromé", "max-image-width": "Zmenšit velikost obrázků na potřebné rozlišení (v pixelech)", "max-image-width-help": "(v pixelech, výchozí: 760 pixelů, pro zákaz nastavte 0)", + "resize-image-quality": "Kvalita při změně velikosti obrázků", + "resize-image-quality-help": "Pro snížení velikosti zmenšených obrázků použijte nižší nastavení kvality.", "max-file-size": "Maximální velikost souboru (v KiB)", "max-file-size-help": "(v kilobajtech, výchozí 2048 KiB)", "allow-topic-thumbnails": "Povolit uživatelům nahrát miniatury témat", diff --git a/public/language/cs/admin/settings/user.json b/public/language/cs/admin/settings/user.json index 5560fc5e73..b02c4ce102 100644 --- a/public/language/cs/admin/settings/user.json +++ b/public/language/cs/admin/settings/user.json @@ -63,5 +63,5 @@ "email-post-notif": "Zaslat e-mail, objeví-li se odpovědi v tématu, který sleduji", "follow-created-topics": "Sledovat mnou vytvořená témata", "follow-replied-topics": "Sledovat témata, na které jste odpověděl", - "default-notification-settings": "Default notification settings" + "default-notification-settings": "Nastavení výchozího oznámení" } \ No newline at end of file diff --git a/public/language/cs/email.json b/public/language/cs/email.json index b330291160..3ef16c56dc 100644 --- a/public/language/cs/email.json +++ b/public/language/cs/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Administrátor právě potvrdil vaší registraci. Nyní se můžete přihlásit jménem a heslem.", "welcome.cta": "Pro potvrzení vaší e-mailové adresy, klikněte zde", "invitation.text1": "%1 vás pozval, abyste se připojil k %2", + "invitation.text2": "Vaše pozvánky vyprší za %1 dní.", "invitation.ctr": "Pro vytvoření vašeho účtu, klikněte zde.", "reset.text1": "Obdrželi jsme požadavek na obnovu vašeho hesla, pravděpodobně z důvodu jeho zapomenutí. Pokud to není tento případ, ignorujte, prosím, tento e-mail.", "reset.text2": "Přejete-li si pokračovat v obnově vašeho hesla, klikněte, prosím, na následující odkaz:", diff --git a/public/language/cs/error.json b/public/language/cs/error.json index ada3d778eb..93c309c88d 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Tuto zprávu nemůžete odstranit", "chat-edit-duration-expired": "Je vám umožněno upravit konverzační zprávy pod dobu %1 sekund/y po jejich odeslání", "chat-delete-duration-expired": "Je vám umožněno odstranit konverzační zprávy pod dobu %1 sekund/y po jejich odeslání", + "chat-deleted-already": "Tato konverzační zpráva již byla odstraněna.", + "chat-restored'already": "Tato konverzační zpráva byla obnovena.", "already-voting-for-this-post": "Již jste v tomto příspěvku hlasoval.", "reputation-system-disabled": "Systém reputací je zakázán.", "downvoting-disabled": "Systém nesouhlasu je zakázán", @@ -132,7 +134,7 @@ "wrong-login-type-email": "Pro přihlášení použijte vaši e-mailovou adresu", "wrong-login-type-username": "Pro přihlášení použijte vaše uživatelské jméno", "sso-registration-disabled": "Registrace byla zakázána pro účty - %1. Nejprve si zaregistrujte e-mailovou adresu", - "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", + "sso-multiple-association": "Není možné přiřadit více účtů z této služby do vašeho účtu NodeBB. Vylučte váš existující účet a zkuste to znovu.", "invite-maximum-met": "Již jste pozval/a maximálně možný počet lidí (%1 z %2).", "no-session-found": "Nebyla nalezena relace s přihlášením.", "not-in-room": "Uživatel není přítomen v místnosti", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Neplatná cesta k domovské stránkce", "invalid-session": "Nesoulad v relacích", "invalid-session-text": "Zdá se, že vše relace s přihlášením již není aktivní nebo již neodpovídá s relací na serveru. Obnovte prosím tuto stránku.", - "no-topics-selected": "Žádná vybraná témata." + "no-topics-selected": "Žádná vybraná témata.", + "cant-move-to-same-topic": "Není možné přesunout příspěvek do stejného tématu!" } \ No newline at end of file diff --git a/public/language/cs/global.json b/public/language/cs/global.json index 695a4f3946..2cbc654fd0 100644 --- a/public/language/cs/global.json +++ b/public/language/cs/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Zjistit více", "edited": "Upraveno", "disabled": "Nepovoleno", - "select": "Vyberte" + "select": "Vyberte", + "user-search-prompt": "Pro hledání uživatelů, zde pište..." } \ No newline at end of file diff --git a/public/language/cs/modules.json b/public/language/cs/modules.json index f0a19aa702..8d7d26e2c1 100644 --- a/public/language/cs/modules.json +++ b/public/language/cs/modules.json @@ -1,18 +1,19 @@ { - "chat.chatting_with": "Chat s ", - "chat.placeholder": "Zprávu do chatu napište zde, pro odeslání stiskněte enter", + "chat.chatting_with": "Konverzace s", + "chat.placeholder": "Konverzační zprávu napište zde, pro odeslání stiskněte klávesu Enter", "chat.send": "Odeslat", "chat.no_active": "Nemáte žádné aktivní konverzace.", "chat.user_typing": "%1 píše…", "chat.user_has_messaged_you": "%1 Vám napsal.", - "chat.see_all": "Prohlédnout všechny chaty", + "chat.see_all": "Prohlédnout všechny konverzace", "chat.mark_all_read": "Označit vše jako přečtené", "chat.no-messages": "Vyberte příjemce k prohlédnutí historie zpráv.", "chat.no-users-in-room": "Žádní uživatelé v místnosti.", - "chat.recent-chats": "Aktuální chaty", + "chat.recent-chats": "Aktuální konverzace", "chat.contacts": "Kontakty", "chat.message-history": "Historie zpráv", - "chat.pop-out": "Skrýt chat", + "chat.options": "Možnosti konverzace", + "chat.pop-out": "Skrýt konverzaci", "chat.minimize": "Minimalizovat", "chat.maximize": "Maximalizovat", "chat.seven_days": "7 dní", @@ -20,7 +21,17 @@ "chat.three_months": "3 měsíce", "chat.delete_message_confirm": "Jste si jist/a, že chcete odstranit tuto zprávu?", "chat.add-users-to-room": "Přidat uživatele do místnosti", + "chat.retrieving-users": "Získávání seznamu uživatelů...", + "chat.manage-room": "Spravovat konverzační místnosti", + "chat.add-user-help": "Zde vyhledávejte uživatele. Při výběru, bude uživatel přidán do konverzace. Nový uživatel nebude moci vidět napsané zprávy před jeho přípojením do konverzace.", "chat.confirm-chat-with-dnd-user": "Tento uživatel nastavil svůj stav na NERUŠIT. Opravdu chcete začít s ním konverzaci.", + "chat.rename-room": "Přejmenovat místnost", + "chat.rename-placeholder": "Zde zadejte název místnosti", + "chat.rename-help": "Název místnosti zde nastavený bude viditelný pro všechny účastníky komunikace v místnosti", + "chat.leave": "Opustit konverzaci", + "chat.leave-prompt": "Jste si jist/a, že chcete ukončit tuto konverzaci?", + "chat.leave-help": "Ukončením této konverzace budete vyjmuti z budoucí možné komunikace v této konverzaci. Následně budete-li znovu přidán/a, neuvidíte historii komunikace od Vašeho odchodu.", + "chat.in-room": "V této místnosti", "composer.compose": "Napsat", "composer.show_preview": "Ukázat náhled", "composer.hide_preview": "Skrýt náhled", diff --git a/public/language/cs/reset_password.json b/public/language/cs/reset_password.json index 232b6fd5b8..9a95f69b1e 100644 --- a/public/language/cs/reset_password.json +++ b/public/language/cs/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Potvrzení hesla", "enter_email": "Zadejte svou e-mailovou adresu a my vám pošleme informace, jak můžete obnovit svůj účet.", "enter_email_address": "Zadejte e-mailovou adresu", - "password_reset_sent": "Obnova hesla odeslána", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Neplatný e-mail / E-mail neexistuje.", "password_too_short": "Zadané heslo je příliš krátké, zvolte si prosím jiné.", "passwords_do_not_match": "Vámi zadaná hesla se neshodují.", diff --git a/public/language/cs/search.json b/public/language/cs/search.json index ae29a6fdca..0bb7840e95 100644 --- a/public/language/cs/search.json +++ b/public/language/cs/search.json @@ -5,6 +5,9 @@ "in": "v", "titles": "Název", "titles-posts": "Název a příspěvky", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Napsal", "in-categories": "V kategoriích", "search-child-categories": "Hledat podružné kategorie", diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index e0538662fb..65a4197a0f 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -30,11 +30,12 @@ "locked": "Uzamčeno", "pinned": "Připnuto", "moved": "Přesunuto", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Kopírovat IP", + "ban-ip": "Zakázat IP", + "view-history": "Upravit historii", "bookmark_instructions": "Pro návrat k poslednímu čtenému příspěvku v tématu, klikněte zde.", "flag_title": "Označit tento příspěvek k moderování", - "merged_message": "This topic has been merged into %2", + "merged_message": "Toto téma bylo sloučeno do %2", "deleted_message": "Toto téma bylo odstraněno. Jen uživatelé s oprávněním správy témat ho mohou vidět.", "following_topic.message": "Nyní budete dostávat upozornění, jakmile někdo přidá příspěvek do tohoto tématu.", "not_following_topic.message": " Toto téma uvidíte v seznamu nepřečtených témat, ale neobdržíte upozornění, přidá-li někdo nový příspěvek.", @@ -61,6 +62,7 @@ "thread_tools.lock": "Zamknout téma", "thread_tools.unlock": "Odemknout téma", "thread_tools.move": "Přesunout téma", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Přesunout vše", "thread_tools.select_category": "Vybrat kategorii", "thread_tools.fork": "Větvit téma", @@ -95,6 +97,7 @@ "fork_success": "Téma úspěšně rozděleno. Pro přejití na rozdělené téma, zde klikněte.", "delete_posts_instruction": "Klikněte na příspěvek, který chcete odstranit/vyčistit", "merge_topics_instruction": "Pro sloučení témat, klikněte na ně", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Zadejte název tématu…", "composer.handle_placeholder": "Jméno", "composer.discard": "Zrušit", @@ -112,7 +115,7 @@ "more_users": "%1 další/ch uživatel/ů", "more_guests": "%1 další/ch host/ů", "users_and_others": "%1 a %2 jiných", - "sort_by": "Řadit dle", + "sort_by": "Seřadit dle", "oldest_to_newest": "Od nejstarších po nejnovější", "newest_to_oldest": "Od nejnovějších po nejstarší", "most_votes": "Nejvíce hlasů", @@ -121,5 +124,8 @@ "stale.warning": "Reagujete na starší téma. Nechcete raději vytvořit nové téma a na původní v něm odkázat?", "stale.create": "Vytvořit nové téma", "stale.reply_anyway": "Přesto reagovat na toto téma", - "link_back": "Odpověď: [%1](%2)" + "link_back": "Odpověď: [%1](%2)", + "diffs.title": "Historie úpravy příspěvku", + "diffs.description": "Tento příspěvek má %1 změn. Pro zobrazení obsahu příspěvku platného v daný čas, klikněte níže na jednu ze změn.", + "diffs.no-revisions-description": "Tento příspěvek má %1 změn." } \ No newline at end of file diff --git a/public/language/cs/user.json b/public/language/cs/user.json index 9e59e61899..549c984c49 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -1,6 +1,7 @@ { "banned": "Zablokován", "offline": "Nepřipojen", + "deleted": "Odstraněno", "username": "Uživatelské jméno", "joindate": "Datum registrace", "postcount": "Počet příspěvků", @@ -11,7 +12,7 @@ "ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?", "unban_account": "Odblokovat účet", "delete_account": "Odstranit účet", - "delete_account_confirm": "Opravdu chcete odstranit váš účet?
Tato akce je nevratná a nebude možné obnovit žádné vaše data.

Pro potvrzení odstranění účtu napište vaše uživatelské jméno.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Opravdu chcete odstranit tento účet?
Tato akce je nevratná a již nebude žádná možnost obnovení vašich dat

", "account-deleted": "Účet odstraněn", "fullname": "Jméno a příjmení", @@ -52,7 +53,6 @@ "change_password": "Změnit heslo", "change_password_error": "Neplatné heslo.", "change_password_error_wrong_current": "Aktuální heslo není správně.", - "change_password_error_length": "Heslo je moc krátké.", "change_password_error_match": "Hesla se neshodují.", "change_password_error_privileges": "Nemáte oprávnění změnit heslo.", "change_password_success": "Heslo bylo aktualizováno.", @@ -95,7 +95,7 @@ "topics_per_page": "Témat na stránce", "posts_per_page": "Příspěvků na stránce", "max_items_per_page": "Maximum %1", - "acp_language": "Admin Page Language", + "acp_language": "Jazyk stránky správce", "notification_sounds": "Přehrát zvuk, obdržíte-li oznámení", "notifications_and_sounds": "Upozornění a zvuky", "incoming-message-sound": "Zvuk příchozí zprávy", diff --git a/public/language/da/admin/admin.json b/public/language/da/admin/admin.json index 5ead0f0144..7b7acddebf 100644 --- a/public/language/da/admin/admin.json +++ b/public/language/da/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Er du sikker på at du ønsker at genindlæse NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Er du sikker på at du ønsker at genstarte NodeBB?", "acp-title": "%1 | NodeBB Admin Kontrol Panel", diff --git a/public/language/da/admin/appearance/themes.json b/public/language/da/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/da/admin/appearance/themes.json +++ b/public/language/da/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/da/admin/extend/plugins.json b/public/language/da/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/da/admin/extend/plugins.json +++ b/public/language/da/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/da/admin/general/dashboard.json b/public/language/da/admin/general/dashboard.json index 4c27113bef..ea37a73ac2 100644 --- a/public/language/da/admin/general/dashboard.json +++ b/public/language/da/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Kontrol", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/da/admin/menu.json b/public/language/da/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/da/admin/menu.json +++ b/public/language/da/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/da/admin/settings/advanced.json b/public/language/da/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/da/admin/settings/advanced.json +++ b/public/language/da/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/da/admin/settings/post.json b/public/language/da/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/da/admin/settings/post.json +++ b/public/language/da/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/da/admin/settings/uploads.json b/public/language/da/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/da/admin/settings/uploads.json +++ b/public/language/da/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/da/email.json b/public/language/da/email.json index b06a283c0f..09171c28f3 100644 --- a/public/language/da/email.json +++ b/public/language/da/email.json @@ -9,6 +9,7 @@ "welcome.text3": "En administrator har accepteret din registreringsansøgning. Du kan logge ind med dit brugernavn og adgangskode nu.", "welcome.cta": "Klik her for at bekræfte din email adresse.", "invitation.text1": "%1 har inviteret dig til at deltage i %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Klik her for at oprette din konto.", "reset.text1": "Vi har modtaget en anmodning om at nulstille dit kodeord, måske fordi du har glemt det. Hvis det ikke er tilfældet, venligst ignorer denne email.", "reset.text2": "For at fortsætte med at nulstille kodeordet, venligst klik på dette link:", diff --git a/public/language/da/error.json b/public/language/da/error.json index 7790f82c26..a7b04d9a8f 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Du har ikke tilladelse til at slette denne besked", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Vurderingssystem er slået fra.", "downvoting-disabled": "Nedvurdering er slået fra", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/da/global.json b/public/language/da/global.json index 82856c7493..8548bf7fa4 100644 --- a/public/language/da/global.json +++ b/public/language/da/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/da/modules.json b/public/language/da/modules.json index 7a96180041..411091bd98 100644 --- a/public/language/da/modules.json +++ b/public/language/da/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chat med ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Skriv din chatbesked her, tryk enter for at sende", "chat.send": "Send", "chat.no_active": "Du har ingen aktive chats.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Seneste chats", "chat.contacts": "Kontakter", "chat.message-history": "Beskedhistorik", + "chat.options": "Chat options", "chat.pop-out": "Pop ud chatten", "chat.minimize": "Minimize", "chat.maximize": "Maximer", @@ -20,7 +21,17 @@ "chat.three_months": "3 måneder", "chat.delete_message_confirm": "Er du sikker på at du vil slette denne besked?", "chat.add-users-to-room": "Tilføj brugere til chatrum", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Skriv", "composer.show_preview": "Vis forhåndsvisning", "composer.hide_preview": "Fjern forhåndsvisning", diff --git a/public/language/da/reset_password.json b/public/language/da/reset_password.json index 1feb80736e..60d0ac0501 100644 --- a/public/language/da/reset_password.json +++ b/public/language/da/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Bekræft adgangskode", "enter_email": "Indtast venligst din emailadresse så vi kan sende dig instrukser til at nulstille din konto.", "enter_email_address": "Indtast emailadresse", - "password_reset_sent": "Adgangskode nulstilling afsendt", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Ugyldig emailadresse / Emailadresse findes ikke", "password_too_short": "Den indtastede adgangskode er for kort, vælg venligt en anden adgangskode.", "passwords_do_not_match": "De to indtastede adgangskoder er ikke ens.", diff --git a/public/language/da/search.json b/public/language/da/search.json index 6da46f494d..2b5a8e572c 100644 --- a/public/language/da/search.json +++ b/public/language/da/search.json @@ -5,6 +5,9 @@ "in": "I", "titles": "Titler", "titles-posts": "Titler og indlæg", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Skrevet af", "in-categories": "I katagorierne", "search-child-categories": "Søg underkategorier", diff --git a/public/language/da/topic.json b/public/language/da/topic.json index 2f6bff40e4..78602def4b 100644 --- a/public/language/da/topic.json +++ b/public/language/da/topic.json @@ -32,6 +32,7 @@ "moved": "Flyttet", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Klik her for at vende tilbage til den sidst læste indlæg i denne tråd.", "flag_title": "Meld dette indlæg til moderation", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lås tråd", "thread_tools.unlock": "Lås tråd op", "thread_tools.move": "Flyt tråd", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Flyt alt", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Fraskil tråd", @@ -95,6 +97,7 @@ "fork_success": "Tråden blev fraskilt! Klik her for at gå til den fraskilte tråd.", "delete_posts_instruction": "Klik på de indlæg du vil slette/rense", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Angiv din trådtittel her ...", "composer.handle_placeholder": "Navn", "composer.discard": "Fortryd", @@ -121,5 +124,8 @@ "stale.warning": "Emnet du svarer på er ret gammelt. Vil du oprette et nyt emne istedet og referere dette indlæg i dit svar?", "stale.create": "Opret nyt emne", "stale.reply_anyway": "Svar dette emne alligevel", - "link_back": "Svar: [%1](%2)" + "link_back": "Svar: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/da/user.json b/public/language/da/user.json index d212e4be4c..0dfc584c2a 100644 --- a/public/language/da/user.json +++ b/public/language/da/user.json @@ -1,6 +1,7 @@ { "banned": "Banlyst", "offline": "Offline", + "deleted": "Deleted", "username": "Brugernavn", "joindate": "Oprettet", "postcount": "Antal indlæg", @@ -11,7 +12,7 @@ "ban_account_confirm": "Ønsker du virkelig at banne denne konto?", "unban_account": "Afban Konto", "delete_account": "Slet konto", - "delete_account_confirm": "Er du sikker på du vil slette din konto?
Dette kan ikke fortrydes, og du vil ikke være istand til at genoprette dine data

Indtast dit brugernavn for at bekræfte at du ønsker at slette din konto.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Er du sikker på at du vil slette denne konto?
Denne handling kan ikke fortrydes, og du kan ikke genskabe nogen data.

", "account-deleted": "Konto slettet", "fullname": "Fulde navn", @@ -52,7 +53,6 @@ "change_password": "Skift kodeord", "change_password_error": "Ukorrekt kodeord", "change_password_error_wrong_current": "Nuværende kodeord er ikke korrekt", - "change_password_error_length": "Kodeord er for kort!", "change_password_error_match": "Passwords matcher ikke!", "change_password_error_privileges": "Du har ikke rettigheder til at ændre dette password.", "change_password_success": "Dit password er opdateret!", diff --git a/public/language/de/admin/admin.json b/public/language/de/admin/admin.json index 69c5847a82..5669a4fae2 100644 --- a/public/language/de/admin/admin.json +++ b/public/language/de/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Bist du sicher, dass du NodeBB neu laden möchtest?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Bist du sicher, dass du NodeBB neu starten möchtest?", "acp-title": "%1 | NodeBB Admin Systemsteuerung", diff --git a/public/language/de/admin/appearance/themes.json b/public/language/de/admin/appearance/themes.json index 8eca7c6390..dc43a00325 100644 --- a/public/language/de/admin/appearance/themes.json +++ b/public/language/de/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Bist du dir sicher, dass du das standard NodeBB Theme wieder herstellen willst?", "theme-changed": "Theme geändert", "revert-success": "Du hast dein NodeBB erfolgreich wieder auf das Standard-Theme zurückgesetzt.", - "restart-to-activate": "Bitte starte dein NodeBB neu um das Design voll zu aktivieren." + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/de/admin/extend/plugins.json b/public/language/de/admin/extend/plugins.json index 10f8077f44..3e4c92cc86 100644 --- a/public/language/de/admin/extend/plugins.json +++ b/public/language/de/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin deinstalliert", "alert.activate-success": "Bitte starte NodeBB neu, um dieses Plugin vollständig zu aktivieren", "alert.deactivate-success": "Plugin erfolgreich deaktiviert", - "alert.upgrade-success": "Bitte lade NodeBB neu, um dieses Plugin vollständig zu aktualisieren", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin erfolgreich installiert. Bitte aktiviere das Plugin", "alert.uninstall-success": "Das Plugin wurde erfolgreich deaktiviert und deinstalliert.", "alert.suggest-error": "

NodeBB konnte den Paket-Manager nicht erreichen. Willst Du mit der Installation der neuesten Version fortfahren

Der Server meldete (%1): %2
", diff --git a/public/language/de/admin/general/dashboard.json b/public/language/de/admin/general/dashboard.json index cb34e7f1c2..4bb8b66a38 100644 --- a/public/language/de/admin/general/dashboard.json +++ b/public/language/de/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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 neue Version (v%1) ist erschienen. Erwäge NodeBB zu upgraden

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

Du benutzt eine veraltete Vorabversion von NodeBB. eine neue Version (v%1) ist erschienen. Erwäge NodeBB zu upgraden.

", + "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 pre-release Version von NodeBB. Es können ungewollte Fehler auftreten.

", "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

", "notices": "Hinweise", "restart-not-required": "Kein Neustart benötigt", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Installiere ein Such-Plugin auf der Plugin-Seite um die Such-Funktionalität zu aktivieren", "control-panel": "Systemsteuerung", - "reload": "Neustart", - "restart": "Regenerieren & Neustarten", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "NodeBB zu regenerieren oder neuzustarten wird alle existierenden Verbindungen für ein paar Sekunden trennen.", "restart-disabled": "Das Regenerieren und Neustarten von NodeBB wurde deaktiviert, da es nicht so aussieht als ob es über einem kompatiblem daemon läuft.", "maintenance-mode": "Wartungsmodus", diff --git a/public/language/de/admin/menu.json b/public/language/de/admin/menu.json index c7b65d9d14..4709058796 100644 --- a/public/language/de/admin/menu.json +++ b/public/language/de/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Forum neu laden", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Forum neu starten", "logout": "Abmelden", "view-forum": "Forum anzeigen", @@ -74,5 +74,8 @@ "search.keep-typing": "Gib mehr ein, um die Ergebnisse zu sehen...", "search.start-typing": "Starte die Eingabe, um die Ergebnisse zu sehen...", - "connection-lost": "Verbindung zu %1 verloren, wird wieder hergestellt..." + "connection-lost": "Verbindung zu %1 verloren, wird wieder hergestellt...", + + "alerts.version": "Es läuft NodeBB v%1", + "alerts.upgrade": "Upgrade auf v%1" } \ No newline at end of file diff --git a/public/language/de/admin/settings/advanced.json b/public/language/de/admin/settings/advanced.json index 87c5b2ca21..603472917e 100644 --- a/public/language/de/admin/settings/advanced.json +++ b/public/language/de/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Anpassen des \"Powered By\" Headers von NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Um den Zugriff zu allen Seiten zu verbieten, leer lassen.", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/de/admin/settings/post.json b/public/language/de/admin/settings/post.json index d43fe27f77..706cea1b92 100644 --- a/public/language/de/admin/settings/post.json +++ b/public/language/de/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Plugins erlauben Inhalte dem \"Help\"-Tab hinzuzufügen", "composer.custom-help": "Benutzerdefinierter Hilfe-Text", "ip-tracking": "IP-Verfolgung", - "ip-tracking.each-post": "IP-Adresse für jeden Beitrag speichern" + "ip-tracking.each-post": "IP-Adresse für jeden Beitrag speichern", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/de/admin/settings/uploads.json b/public/language/de/admin/settings/uploads.json index 359d0f8c73..3cef701783 100644 --- a/public/language/de/admin/settings/uploads.json +++ b/public/language/de/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Hochgeladene Dateien privatisieren", "max-image-width": "Bilder zu einer bestimmten Breite runterskalieren", "max-image-width-help": "(in Pixeln, standard 760 pixel, auf 0 setzen um zu deaktivieren)", + "resize-image-quality": "Zu benutzende Qualität beim verändern von Bildauflösungen", + "resize-image-quality-help": "Benutze eine niedrigere Qualitätseinstellung um die Dateigröße der gespeicherten Bilder zu minimieren.", "max-file-size": "Maximale Dateigröße (in KiB)", "max-file-size-help": "(In Kibibytes, Standardmäßig 2048 KiB)", "allow-topic-thumbnails": "Nutzern erlauben Themen Thumbnails hochzuladen", diff --git a/public/language/de/email.json b/public/language/de/email.json index f110343626..eb8b558461 100644 --- a/public/language/de/email.json +++ b/public/language/de/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Ein Administrator hat deine Registrierung aktzeptiert. Du kannst dich jetzt mit deinem Benutzernamen/Passwort einloggen.", "welcome.cta": "Klicke hier, um deine E-Mail-Adresse zu bestätigen.", "invitation.text1": "%1 hat dich eingeladen %2 beizutreten", + "invitation.text2": "Deine Einladung wird in %1 Tagen ablaufen.", "invitation.ctr": "Klicke hier, um ein Konto zu erstellen.", "reset.text1": "Wir haben eine Anfrage auf Zurücksetzung deines Passworts erhalten, wahrscheinlich, weil du es vergessen hast. Falls dies nicht der Fall ist, ignoriere bitte diese E-Mail.", "reset.text2": "Klicke bitte auf den folgenden Link, um mit der Zurücksetzung deines Passworts fortzufahren:", diff --git a/public/language/de/error.json b/public/language/de/error.json index 1ccb9f6432..5a0b0cebdd 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Du darfst diese Nachricht nicht löschen", "chat-edit-duration-expired": "Du darfst Chat-Nachrichten nur bis zu %1 Sekunde(n) nach der erstellung verändern", "chat-delete-duration-expired": "Du darfst Chat-Nachrichten nur bis zu %1 Sekunde(n) nach der erstellung löschen", + "chat-deleted-already": "Diese Chatnachricht wurde bereits gelöscht.", + "chat-restored'already": "Diese Chatnachricht wurde bereits Wiederhergestellt.", "already-voting-for-this-post": "Du hast diesen Beitrag bereits bewertet.", "reputation-system-disabled": "Das Reputationssystem ist deaktiviert.", "downvoting-disabled": "Downvotes sind deaktiviert.", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Ungültiger Startseitenpfad", "invalid-session": "Sitzungsdiskrepanz", "invalid-session-text": "Es scheint als wäre deine Login-Sitzung nicht mehr aktiv oder sie passt nicht mehr mit der des Servers. Bitte aktualisiere diese Seite.", - "no-topics-selected": "Keine Beiträge ausgewählt!" + "no-topics-selected": "Keine Beiträge ausgewählt!", + "cant-move-to-same-topic": "Du kannst den Beitrag nicht in das selbe Thema schieben!" } \ No newline at end of file diff --git a/public/language/de/global.json b/public/language/de/global.json index e2c9e36742..32bbdf6dbb 100644 --- a/public/language/de/global.json +++ b/public/language/de/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Erfahre mehr", "edited": "Bearbeitet", "disabled": "Deaktiviert", - "select": "Auswählen" + "select": "Auswählen", + "user-search-prompt": "Gib hier etwas ein um Benutzer zu finden..." } \ No newline at end of file diff --git a/public/language/de/modules.json b/public/language/de/modules.json index f586e61e8c..4c88151d1d 100644 --- a/public/language/de/modules.json +++ b/public/language/de/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Mit chatten", + "chat.chatting_with": "Chat mit", "chat.placeholder": "Schreibe hier etwas, und drücke Enter zum Absenden.", "chat.send": "Senden", "chat.no_active": "Du hast keine aktiven Chats.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Aktuelle Chats", "chat.contacts": "Kontakte", "chat.message-history": "Nachrichtenverlauf", + "chat.options": "Chat-Optionen", "chat.pop-out": "Chat als Pop-out anzeigen", "chat.minimize": "Minimieren", "chat.maximize": "Maximieren", @@ -20,7 +21,17 @@ "chat.three_months": "3 Monate", "chat.delete_message_confirm": "Bist du sicher, dass du diese Nachricht löschen möchtest?", "chat.add-users-to-room": "Benutzer zum Raum hinzufügen", + "chat.retrieving-users": "Rufe Benutzer ab", + "chat.manage-room": "Chat-Room managen", + "chat.add-user-help": "Suche hier nach Benutzern. Wenn du einen ausgewählt hast, wird dieser zum Chat hinzugefügt. Der neue Benutzer wird keine Chatnachrichten sehen können die geschrieben wurden, bevor er zu der Konversation hinzugefügt wurde.", "chat.confirm-chat-with-dnd-user": "Dieser Benutzer hat seinen Status auf DnD (Bitte nicht stören) gesetzt. Möchtest du dennoch mit ihm chatten?", + "chat.rename-room": "Chat-Room umbenennen", + "chat.rename-placeholder": "Gib deinen Chatraumnamen hier ein", + "chat.rename-help": "Den Namen des Chatraums den du hier setzt, wird für alle Teilnehmer sichtbar sein.", + "chat.leave": "Chat verlassen", + "chat.leave-prompt": "Bist du sicher, dass du diesen Chat verlassen willst?", + "chat.leave-help": "Den Chat zu verlassen wird dich von weiterem Schriftverkehr in diesem Chat entfernen. Solltest du in der Zukunft wieder hinzugefügt werden, würdest du keinen Chatverlauf sehen können, der in der Zwischenzeit geschrieben wurde.", + "chat.in-room": "In diesem Chat-Room", "composer.compose": "Verfassen", "composer.show_preview": "Vorschau zeigen", "composer.hide_preview": "Vorschau ausblenden", diff --git a/public/language/de/reset_password.json b/public/language/de/reset_password.json index 3428ad3375..e7abff5da7 100644 --- a/public/language/de/reset_password.json +++ b/public/language/de/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Wiederhole das Passwort", "enter_email": "Bitte gib Deine E-Mail Adresse ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.", "enter_email_address": "E-Mail Adresse eingeben", - "password_reset_sent": "Passwortzurücksetzung beantragt.", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Ungültige E-Mail / Adresse existiert nicht!", "password_too_short": "Das eingegebene Passwort ist zu kurz, bitte wähle ein anderes Passwort.", "passwords_do_not_match": "Die eingegebenen Passwörter stimmen nicht überein.", diff --git a/public/language/de/search.json b/public/language/de/search.json index e752a96c87..bc779b9579 100644 --- a/public/language/de/search.json +++ b/public/language/de/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titel", "titles-posts": "Titel und Beiträge", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Geschrieben von", "in-categories": "In Kategorien", "search-child-categories": "Suche in Unterkategorien", diff --git a/public/language/de/topic.json b/public/language/de/topic.json index 2d49008c9d..4b0774508c 100644 --- a/public/language/de/topic.json +++ b/public/language/de/topic.json @@ -32,6 +32,7 @@ "moved": "Verschoben", "copy-ip": "IP-Adresse Kopieren", "ban-ip": "IP-Adresse bannen", + "view-history": "Verlauf bearbeiten", "bookmark_instructions": "Klicke hier, um zum letzten gelesenen Beitrag des Themas zurückzukehren.", "flag_title": "Diesen Beitrag zur Moderation markieren", "merged_message": "Dieses Thema wurde mit %2 zusammengeführt", @@ -61,6 +62,7 @@ "thread_tools.lock": "Thema schließen", "thread_tools.unlock": "Thema öffnen", "thread_tools.move": "Thema verschieben", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Alle verschieben", "thread_tools.select_category": "Kategorie auswählen", "thread_tools.fork": "Thema aufspalten", @@ -95,6 +97,7 @@ "fork_success": "Thema erfolgreich aufgespalten! Klicke hier, um zum abgespaltenen Thema zu gelangen.", "delete_posts_instruction": "Wähle die zu löschenden Beiträge aus", "merge_topics_instruction": "Wähle die Themen aus, die du vereinen möchtest", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Hier den Titel des Themas eingeben...", "composer.handle_placeholder": "Name", "composer.discard": "Verwerfen", @@ -121,5 +124,8 @@ "stale.warning": "Das Thema auf das du antworten willst ist ziemlich alt. Möchtest du stattdessen ein neues Thema erstellen und auf dieses in deiner Antwort hinweisen?", "stale.create": "Ein neues Thema erstellen", "stale.reply_anyway": "Auf dieses Thema trotzdem antworten", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Beitragsänderungsverlauf", + "diffs.description": "Dieser Beitrag hat %1 Revisionen. Klicke unten auf eine dieser Revisionen um den Inhalt zu diesem Zeitpunkt zu sehen.", + "diffs.no-revisions-description": "Dieser Beitrag ha %1 Revisionen." } \ No newline at end of file diff --git a/public/language/de/user.json b/public/language/de/user.json index c0cd251cdf..efe4bdf7bf 100644 --- a/public/language/de/user.json +++ b/public/language/de/user.json @@ -1,6 +1,7 @@ { "banned": "Gesperrt", "offline": "offline", + "deleted": "Gelöscht", "username": "Benutzername", "joindate": "Registriert am", "postcount": "Beiträge", @@ -11,7 +12,7 @@ "ban_account_confirm": "Bist du sicher, dass du diesen Benutzer sperren möchtest?", "unban_account": "Konto entsperren", "delete_account": "Konto löschen", - "delete_account_confirm": "Bist du sicher, dass du dein Konto löschen möchtest?
Diese Aktion kann nicht rückgängig gemacht werden und du kannst deine Daten nicht wiederherstellen

Gebe deinen Benutzernamen ein, um zu bestätigen, dass du dieses Konto löschen möchtest.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Bist du sicher, dass du dieses Konto löschen möchtest?
Diese Aktion kann nicht rückgangig gemacht werden und du kannst die Daten nicht wiederherstellen

", "account-deleted": "Account gelöscht", "fullname": "Kompletter Name", @@ -52,7 +53,6 @@ "change_password": "Passwort ändern", "change_password_error": "Ungültiges Passwort!", "change_password_error_wrong_current": "Ihr derzeitiges Passwort ist ungültig!", - "change_password_error_length": "Passwort zu kurz!", "change_password_error_match": "Passwörter müssen übereinstimmen!", "change_password_error_privileges": "Deine Berechtigungen reichen nicht aus, um dieses Passwort zu ändern.", "change_password_success": "Ihr Passwort wurde aktualisiert!", diff --git a/public/language/el/admin/admin.json b/public/language/el/admin/admin.json index cdd706e61c..66a65b60d5 100644 --- a/public/language/el/admin/admin.json +++ b/public/language/el/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Είσαι σίγουρος/η πως θέλεις να επαναφορτώσεις το NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Είσαι σίγουρος/η πως θέλεις να επανεκκινήσεις το NodeBB?", "acp-title": "%1 | NodeBB Πίνακας ελέγχου", diff --git a/public/language/el/admin/appearance/themes.json b/public/language/el/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/el/admin/appearance/themes.json +++ b/public/language/el/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/el/admin/extend/plugins.json b/public/language/el/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/el/admin/extend/plugins.json +++ b/public/language/el/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/el/admin/general/dashboard.json b/public/language/el/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/el/admin/general/dashboard.json +++ b/public/language/el/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/el/admin/menu.json b/public/language/el/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/el/admin/menu.json +++ b/public/language/el/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/el/admin/settings/advanced.json b/public/language/el/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/el/admin/settings/advanced.json +++ b/public/language/el/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/el/admin/settings/post.json b/public/language/el/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/el/admin/settings/post.json +++ b/public/language/el/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/el/admin/settings/uploads.json b/public/language/el/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/el/admin/settings/uploads.json +++ b/public/language/el/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/el/email.json b/public/language/el/email.json index c9b69997c2..079ef0f5f0 100644 --- a/public/language/el/email.json +++ b/public/language/el/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "Κάνε κλικ εδώ για να επιβεβαιώσεις την διεύθυνσή σου", "invitation.text1": "%1 has invited you to join %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Click here to create your account.", "reset.text1": "Λάβαμε ένα αίτημα για επαναφορά του κωδικού σου, πιθανότατα γιατί τον ξέχασες. Αν δεν έκανες εσύ αυτό το αίτημα, αγνόησε αυτό το email.", "reset.text2": "Για να κάνεις την επαναφορά του κωδικού σου, παρακαλώ πάτα στο παρακάτω σύνδεσμο:", diff --git a/public/language/el/error.json b/public/language/el/error.json index 389e4b231c..4f7a7d4ee5 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Το σύστημα φήμης έχει απενεργοποιηθεί.", "downvoting-disabled": "Η καταψήφιση έχει απενεργοποιηθεί", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/el/global.json b/public/language/el/global.json index 94613030d8..60a0747ec6 100644 --- a/public/language/el/global.json +++ b/public/language/el/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Μάθε Περισσότερα", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/el/modules.json b/public/language/el/modules.json index 275b03ce5a..a3000924be 100644 --- a/public/language/el/modules.json +++ b/public/language/el/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chat with ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, press enter to send", "chat.send": "Send", "chat.no_active": "You have no active chats.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Recent Chats", "chat.contacts": "Contacts", "chat.message-history": "Message History", + "chat.options": "Chat options", "chat.pop-out": "Pop out chat", "chat.minimize": "Minimize", "chat.maximize": "Maximize", @@ -20,7 +21,17 @@ "chat.three_months": "3 Months", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/el/reset_password.json b/public/language/el/reset_password.json index beee413045..5a1b52b701 100644 --- a/public/language/el/reset_password.json +++ b/public/language/el/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Επιβεβαίωση Κωδικού", "enter_email": "Παρακαλώ γράψε την διεύθυνση email σου και θα σου στείλουμε ένα email με οδηγίες για το πως να επαναφέρεις τον λογαριασμό σου.", "enter_email_address": "Εισαγωγή Διεύθυνσης Email", - "password_reset_sent": "Η επαναφορά κωδικού στάλθηκε", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Λάθος Email ή το Email δεν υπάρχει!", "password_too_short": "Ο κωδικός είναι πολύ μικρός, παρακαλώ επέλεξε διαφορετικό.", "passwords_do_not_match": "Οι κωδικοί δεν ταιριάζουν μεταξύ τους.", diff --git a/public/language/el/search.json b/public/language/el/search.json index fb3094590e..cba251dbed 100644 --- a/public/language/el/search.json +++ b/public/language/el/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titles", "titles-posts": "Titles and Posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Posted by", "in-categories": "In Categories", "search-child-categories": "Search child categories", diff --git a/public/language/el/topic.json b/public/language/el/topic.json index a5f407f66f..8e85ee79cd 100644 --- a/public/language/el/topic.json +++ b/public/language/el/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Επισήμανση αυτής της δημοσίευσης για συντονισμό", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Κλείδωμα Θέματος", "thread_tools.unlock": "Ξεκλείδωμα Θέματος", "thread_tools.move": "Μετακίνηση Θέματος", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Μετακίνηση Όλων", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Διαχωρισμός Θέματος", @@ -95,6 +97,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Εισαγωγή του τίτλου του θέματος εδώ...", "composer.handle_placeholder": "Name", "composer.discard": "Πέταγμα", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/el/user.json b/public/language/el/user.json index 0a0adce8f6..05560c18bd 100644 --- a/public/language/el/user.json +++ b/public/language/el/user.json @@ -1,6 +1,7 @@ { "banned": "Αποκλεισμένος/η", "offline": "Εκτός Σύνδεσης", + "deleted": "Deleted", "username": "Όνομα Χρήστη", "joindate": "Join Date", "postcount": "Post Count", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Διαγραφή Λογαριασμού", - "delete_account_confirm": "Είσαι σίγουρος/η πως θέλεις να διαγράψεις τον λογαριασμό σου;
Αυτή η ενέργεια δεν μπορεί να αναιρεθεί και δεν θα μπορέσεις να επανακτήσεις τα δεδομένα σου

Γράψε το όνομα χρήστη σου για να επιβεβαιώσεις πως θέλεις να καταστρέψεις αυτόν τον λογαριασμό.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", "fullname": "Πλήρες Όνομα", @@ -52,7 +53,6 @@ "change_password": "Αλλαγή Κωδικού", "change_password_error": "Άκυρος Κωδικός!", "change_password_error_wrong_current": "Ο τωρινός σου κωδικός δεν είναι σωστός!", - "change_password_error_length": "Ο κωδικός είναι πολύ μικρός!", "change_password_error_match": "Οι κωδικοί πρέπει να είναι οι ίδιοι!", "change_password_error_privileges": "Δεν έχεις δικαιώματα για να αλλάξεις αυτόν τον κωδικό.", "change_password_success": "Ο κωδικός σου ανανεώθηκε!", diff --git a/public/language/en-GB/admin/admin.json b/public/language/en-GB/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/en-GB/admin/admin.json +++ b/public/language/en-GB/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/en-GB/admin/appearance/themes.json b/public/language/en-GB/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/en-GB/admin/appearance/themes.json +++ b/public/language/en-GB/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/en-GB/admin/extend/plugins.json b/public/language/en-GB/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/en-GB/admin/extend/plugins.json +++ b/public/language/en-GB/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/en-GB/admin/general/dashboard.json b/public/language/en-GB/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/en-GB/admin/general/dashboard.json +++ b/public/language/en-GB/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/en-GB/admin/menu.json b/public/language/en-GB/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/en-GB/admin/menu.json +++ b/public/language/en-GB/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/en-GB/admin/settings/advanced.json b/public/language/en-GB/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/en-GB/admin/settings/advanced.json +++ b/public/language/en-GB/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/en-GB/admin/settings/post.json b/public/language/en-GB/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/en-GB/admin/settings/post.json +++ b/public/language/en-GB/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/en-GB/admin/settings/uploads.json b/public/language/en-GB/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/en-GB/admin/settings/uploads.json +++ b/public/language/en-GB/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/en-GB/email.json b/public/language/en-GB/email.json index 488af122bd..8351cfcd10 100644 --- a/public/language/en-GB/email.json +++ b/public/language/en-GB/email.json @@ -13,6 +13,7 @@ "welcome.cta": "Click here to confirm your email address", "invitation.text1": "%1 has invited you to join %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Click here to create your account.", "reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.", diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index 14842a1507..260c397de6 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -175,5 +175,6 @@ "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } diff --git a/public/language/en-GB/reset_password.json b/public/language/en-GB/reset_password.json index 9f5b0dcc45..611c2f2fd7 100644 --- a/public/language/en-GB/reset_password.json +++ b/public/language/en-GB/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirm Password", "enter_email": "Please enter your email address and we will send you an email with instructions on how to reset your account.", "enter_email_address": "Enter Email Address", - "password_reset_sent": "Password Reset Sent", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Invalid Email / Email does not exist!", "password_too_short": "The password entered is too short, please pick a different password.", "passwords_do_not_match": "The two passwords you've entered do not match.", diff --git a/public/language/en-GB/search.json b/public/language/en-GB/search.json index 51a0a76ebb..35f9c40625 100644 --- a/public/language/en-GB/search.json +++ b/public/language/en-GB/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titles", "titles-posts": "Titles and Posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Posted by", "in-categories": "In Categories", "search-child-categories": "Search child categories", diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json index 4b30d84356..6e5fec66c6 100644 --- a/public/language/en-GB/topic.json +++ b/public/language/en-GB/topic.json @@ -73,6 +73,7 @@ "thread_tools.lock": "Lock Topic", "thread_tools.unlock": "Unlock Topic", "thread_tools.move": "Move Topic", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Move All", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Fork Topic", @@ -112,6 +113,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Enter your topic title here...", "composer.handle_placeholder": "Name", diff --git a/public/language/en-GB/user.json b/public/language/en-GB/user.json index 093179d80f..3dcf2521b4 100644 --- a/public/language/en-GB/user.json +++ b/public/language/en-GB/user.json @@ -13,7 +13,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Delete Account", - "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your username to confirm that you wish to destroy this account.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", @@ -56,7 +56,6 @@ "change_password": "Change Password", "change_password_error": "Invalid Password!", "change_password_error_wrong_current": "Your current password is not correct!", - "change_password_error_length": "Password too short!", "change_password_error_match": "Passwords must match!", "change_password_error_privileges": "You do not have the rights to change this password.", "change_password_success": "Your password is updated!", diff --git a/public/language/en-US/admin/admin.json b/public/language/en-US/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/en-US/admin/admin.json +++ b/public/language/en-US/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/en-US/admin/appearance/themes.json b/public/language/en-US/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/en-US/admin/appearance/themes.json +++ b/public/language/en-US/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/en-US/admin/extend/plugins.json b/public/language/en-US/admin/extend/plugins.json index 8da0a8227c..4e5d0176af 100644 --- a/public/language/en-US/admin/extend/plugins.json +++ b/public/language/en-US/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/en-US/admin/general/dashboard.json b/public/language/en-US/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/en-US/admin/general/dashboard.json +++ b/public/language/en-US/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/en-US/admin/menu.json b/public/language/en-US/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/en-US/admin/menu.json +++ b/public/language/en-US/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/en-US/admin/settings/advanced.json b/public/language/en-US/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/en-US/admin/settings/advanced.json +++ b/public/language/en-US/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/en-US/admin/settings/post.json b/public/language/en-US/admin/settings/post.json index 71587955de..94fb374293 100644 --- a/public/language/en-US/admin/settings/post.json +++ b/public/language/en-US/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/en-US/admin/settings/uploads.json b/public/language/en-US/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/en-US/admin/settings/uploads.json +++ b/public/language/en-US/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/en-US/email.json b/public/language/en-US/email.json index 164e70795e..5172a0ecb6 100644 --- a/public/language/en-US/email.json +++ b/public/language/en-US/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "Click here to confirm your email address", "invitation.text1": "%1 has invited you to join %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Click here to create your account.", "reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.", "reset.text2": "To continue with the password reset, please click on the following link:", diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index 9ed1e2470e..c2c5f521b6 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/en-US/global.json b/public/language/en-US/global.json index 291c57a52c..3b74c68343 100644 --- a/public/language/en-US/global.json +++ b/public/language/en-US/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/en-US/modules.json b/public/language/en-US/modules.json index 275b03ce5a..a3000924be 100644 --- a/public/language/en-US/modules.json +++ b/public/language/en-US/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chat with ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, press enter to send", "chat.send": "Send", "chat.no_active": "You have no active chats.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Recent Chats", "chat.contacts": "Contacts", "chat.message-history": "Message History", + "chat.options": "Chat options", "chat.pop-out": "Pop out chat", "chat.minimize": "Minimize", "chat.maximize": "Maximize", @@ -20,7 +21,17 @@ "chat.three_months": "3 Months", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/en-US/reset_password.json b/public/language/en-US/reset_password.json index 8f727f0b92..26ce208d0d 100644 --- a/public/language/en-US/reset_password.json +++ b/public/language/en-US/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirm Password", "enter_email": "Please enter your email address and we will send you an email with instructions on how to reset your account.", "enter_email_address": "Enter Email Address", - "password_reset_sent": "Password Reset Sent", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Invalid Email / Email does not exist!", "password_too_short": "The password entered is too short, please pick a different password.", "passwords_do_not_match": "The two passwords you've entered do not match.", diff --git a/public/language/en-US/search.json b/public/language/en-US/search.json index 1f4d555f92..accf59f8a3 100644 --- a/public/language/en-US/search.json +++ b/public/language/en-US/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titles", "titles-posts": "Titles and Posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Posted by", "in-categories": "In Categories", "search-child-categories": "Search child categories", diff --git a/public/language/en-US/topic.json b/public/language/en-US/topic.json index f244da67eb..6f363becd1 100644 --- a/public/language/en-US/topic.json +++ b/public/language/en-US/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Flag this post for moderation", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lock Topic", "thread_tools.unlock": "Unlock Topic", "thread_tools.move": "Move Topic", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Move All", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Fork Topic", @@ -95,6 +97,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Enter your topic title here...", "composer.handle_placeholder": "Name", "composer.discard": "Discard", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/en-US/user.json b/public/language/en-US/user.json index 173c0c8560..6aa600efc7 100644 --- a/public/language/en-US/user.json +++ b/public/language/en-US/user.json @@ -1,6 +1,7 @@ { "banned": "Banned", "offline": "Offline", + "deleted": "Deleted", "username": "User Name", "joindate": "Join Date", "postcount": "Post Count", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Delete Account", - "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your username to confirm that you wish to destroy this account.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", "fullname": "Full Name", @@ -52,7 +53,6 @@ "change_password": "Change Password", "change_password_error": "Invalid Password!", "change_password_error_wrong_current": "Your current password is not correct!", - "change_password_error_length": "Password too short!", "change_password_error_match": "Passwords must match!", "change_password_error_privileges": "You do not have the rights to change this password.", "change_password_success": "Your password is updated!", diff --git a/public/language/en-x-pirate/admin/admin.json b/public/language/en-x-pirate/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/en-x-pirate/admin/admin.json +++ b/public/language/en-x-pirate/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/en-x-pirate/admin/appearance/themes.json b/public/language/en-x-pirate/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/en-x-pirate/admin/appearance/themes.json +++ b/public/language/en-x-pirate/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/extend/plugins.json b/public/language/en-x-pirate/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/en-x-pirate/admin/extend/plugins.json +++ b/public/language/en-x-pirate/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/en-x-pirate/admin/general/dashboard.json b/public/language/en-x-pirate/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/en-x-pirate/admin/general/dashboard.json +++ b/public/language/en-x-pirate/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/en-x-pirate/admin/menu.json b/public/language/en-x-pirate/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/en-x-pirate/admin/menu.json +++ b/public/language/en-x-pirate/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/settings/advanced.json b/public/language/en-x-pirate/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/en-x-pirate/admin/settings/advanced.json +++ b/public/language/en-x-pirate/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/en-x-pirate/admin/settings/post.json b/public/language/en-x-pirate/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/en-x-pirate/admin/settings/post.json +++ b/public/language/en-x-pirate/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/settings/uploads.json b/public/language/en-x-pirate/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/en-x-pirate/admin/settings/uploads.json +++ b/public/language/en-x-pirate/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/en-x-pirate/email.json b/public/language/en-x-pirate/email.json index 6cbe176151..ecfbd03e79 100644 --- a/public/language/en-x-pirate/email.json +++ b/public/language/en-x-pirate/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "Click here to confirm your email address", "invitation.text1": "%1 be invitin' ye to join %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Click here to create your account.", "reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.", "reset.text2": "To continue with the password reset, please click on the following link:", diff --git a/public/language/en-x-pirate/error.json b/public/language/en-x-pirate/error.json index 9ed1e2470e..c2c5f521b6 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/en-x-pirate/global.json b/public/language/en-x-pirate/global.json index 8ec35f370f..38a3b90d52 100644 --- a/public/language/en-x-pirate/global.json +++ b/public/language/en-x-pirate/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/en-x-pirate/modules.json b/public/language/en-x-pirate/modules.json index 8d12a6f964..bad536226a 100644 --- a/public/language/en-x-pirate/modules.json +++ b/public/language/en-x-pirate/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Letters from ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, press enter to send", "chat.send": "Send Parrot", "chat.no_active": "Ye be a lonely sailor.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Recent Chats", "chat.contacts": "Contacts", "chat.message-history": "Message History", + "chat.options": "Chat options", "chat.pop-out": "Pop out chat", "chat.minimize": "Minimize", "chat.maximize": "Maximize", @@ -20,7 +21,17 @@ "chat.three_months": "3 Months", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/en-x-pirate/reset_password.json b/public/language/en-x-pirate/reset_password.json index 8f727f0b92..26ce208d0d 100644 --- a/public/language/en-x-pirate/reset_password.json +++ b/public/language/en-x-pirate/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirm Password", "enter_email": "Please enter your email address and we will send you an email with instructions on how to reset your account.", "enter_email_address": "Enter Email Address", - "password_reset_sent": "Password Reset Sent", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Invalid Email / Email does not exist!", "password_too_short": "The password entered is too short, please pick a different password.", "passwords_do_not_match": "The two passwords you've entered do not match.", diff --git a/public/language/en-x-pirate/search.json b/public/language/en-x-pirate/search.json index 1f4d555f92..accf59f8a3 100644 --- a/public/language/en-x-pirate/search.json +++ b/public/language/en-x-pirate/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titles", "titles-posts": "Titles and Posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Posted by", "in-categories": "In Categories", "search-child-categories": "Search child categories", diff --git a/public/language/en-x-pirate/topic.json b/public/language/en-x-pirate/topic.json index f244da67eb..6f363becd1 100644 --- a/public/language/en-x-pirate/topic.json +++ b/public/language/en-x-pirate/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Flag this post for moderation", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lock Topic", "thread_tools.unlock": "Unlock Topic", "thread_tools.move": "Move Topic", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Move All", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Fork Topic", @@ -95,6 +97,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Enter your topic title here...", "composer.handle_placeholder": "Name", "composer.discard": "Discard", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/en-x-pirate/user.json b/public/language/en-x-pirate/user.json index bd9b75ffba..c852835eb6 100644 --- a/public/language/en-x-pirate/user.json +++ b/public/language/en-x-pirate/user.json @@ -1,6 +1,7 @@ { "banned": "Blackmarked", "offline": "Asleep at the wheel", + "deleted": "Deleted", "username": "User Name", "joindate": "Join Date", "postcount": "Post Count", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Delete Account", - "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your username to confirm that you wish to destroy this account.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", "fullname": "Full Name", @@ -52,7 +53,6 @@ "change_password": "Change Password", "change_password_error": "Invalid Password!", "change_password_error_wrong_current": "Your current password is not correct!", - "change_password_error_length": "Password too short!", "change_password_error_match": "Passwords must match!", "change_password_error_privileges": "You do not have the rights to change this password.", "change_password_success": "Your password is updated!", diff --git a/public/language/es/admin/admin.json b/public/language/es/admin/admin.json index e0ee9b8cc2..91f326ad40 100644 --- a/public/language/es/admin/admin.json +++ b/public/language/es/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "¿Está seguro que desea recargar NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "¿Está seguro que desea reiniciar NodeBB?", "acp-title": "%1 | Panel de control de administrador NodeBB", diff --git a/public/language/es/admin/appearance/themes.json b/public/language/es/admin/appearance/themes.json index ab93165d08..9ae0b12d11 100644 --- a/public/language/es/admin/appearance/themes.json +++ b/public/language/es/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "¿Estas seguro/a que quieres restaurar el tema de fabrica de NodeBB?", "theme-changed": "Se Cambió el Tema", "revert-success": "Has revertido con exito el tema de fabrica de NodeBB.", - "restart-to-activate": "Por favor reinicia NodeBB para activar por completo este tema." + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/es/admin/extend/plugins.json b/public/language/es/admin/extend/plugins.json index c3a8117c37..2d63d1fdba 100644 --- a/public/language/es/admin/extend/plugins.json +++ b/public/language/es/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plug-in Desinstalado", "alert.activate-success": "Por favor reiniciá NodeBB para activar el plug-in por completo", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Por favor recargá NodeBB para actualizar el plug-in por completo", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/es/admin/general/dashboard.json b/public/language/es/admin/general/dashboard.json index f526e5865c..4dae4d9316 100644 --- a/public/language/es/admin/general/dashboard.json +++ b/public/language/es/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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": "

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.

", + "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": "

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

", "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": "

Failed to look up latest available version of NodeBB

", "notices": "Noticias", "restart-not-required": "No se require reiniciar.", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Instala el plug-in de búsqueda desde la pagina de plugins para activar esta funcionalidad.", "control-panel": "Control del Systema", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Modo de Mantenimiento", diff --git a/public/language/es/admin/menu.json b/public/language/es/admin/menu.json index 694c11aed4..c681555781 100644 --- a/public/language/es/admin/menu.json +++ b/public/language/es/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Registro", "development/info": "Información", - "reload-forum": "Recargar foro", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Reiniciar foro", "logout": "Cerrar sesión", "view-forum": "Ver foro", @@ -74,5 +74,8 @@ "search.keep-typing": "Escribe más para ver resultados...", "search.start-typing": "Empieza a escribir para ver resultados...", - "connection-lost": "La conexión a %1 se ha perdido, intentando reconectar..." + "connection-lost": "La conexión a %1 se ha perdido, intentando reconectar...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/es/admin/settings/advanced.json b/public/language/es/admin/settings/advanced.json index 794cdb643d..4b2eaba5bb 100644 --- a/public/language/es/admin/settings/advanced.json +++ b/public/language/es/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/es/admin/settings/post.json b/public/language/es/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/es/admin/settings/post.json +++ b/public/language/es/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/es/admin/settings/uploads.json b/public/language/es/admin/settings/uploads.json index 783cf5eeef..82bb2f0ef6 100644 --- a/public/language/es/admin/settings/uploads.json +++ b/public/language/es/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/es/email.json b/public/language/es/email.json index 21168da991..8f9293fb91 100644 --- a/public/language/es/email.json +++ b/public/language/es/email.json @@ -9,6 +9,7 @@ "welcome.text3": "El administrador ha aceptado tu registro. Puedes acceder con tu usuario/contraseña ahora.", "welcome.cta": "Cliquea aquí para confirmar tu dirección de email.", "invitation.text1": "%1 te ha invitado a unirte a %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Haz click aquí para crear tu cuenta", "reset.text1": "Hemos recibido una solicitud para reiniciar tu contraseña, posiblemente porque la olvidaste. Si no es así, por favor, ignora este email.", "reset.text2": "Para continuar con el reinicio de contraseña, por favor cliquea en el siguiente vínculo:", diff --git a/public/language/es/error.json b/public/language/es/error.json index 44d197b548..78eac03dcb 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "No tienes permiso para eliminar este mensaje", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Ya has votado a este mensaje.", "reputation-system-disabled": "El sistema de reputación está deshabilitado.", "downvoting-disabled": "La votación negativa está deshabilitada.", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Ruta de página de inicio invalida", "invalid-session": "No concuerdan los datos de sesión", "invalid-session-text": "Parece que su sesión ha expirado o no concuerda con el servidor. Por favor vuelva a cargar la página.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/es/global.json b/public/language/es/global.json index b4fbe8df21..718734ce6c 100644 --- a/public/language/es/global.json +++ b/public/language/es/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Quiero saber más", "edited": "Editado", "disabled": "Desahabilitado", - "select": "Seleccionar" + "select": "Seleccionar", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/es/modules.json b/public/language/es/modules.json index 3658673ca1..41bfd133de 100644 --- a/public/language/es/modules.json +++ b/public/language/es/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chatear con ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Introduce tu mensaje aquí, pulsa intro para enviar", "chat.send": "Enviar", "chat.no_active": "No tiene conversaciones activas.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Chats recientes", "chat.contacts": "Contactos", "chat.message-history": "Historial de mensajes", + "chat.options": "Chat options", "chat.pop-out": "Mostrar en ventana independiente", "chat.minimize": "Minimizar", "chat.maximize": "Maximizar", @@ -20,7 +21,17 @@ "chat.three_months": "3 meses", "chat.delete_message_confirm": "¿Estás seguro de que deseas eliminar este mensaje?", "chat.add-users-to-room": "Añadir usuarios a la sala", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "Este usuario está en modo No molestar. ¿ Estás seguro de que quieres chatear con él ?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Crear", "composer.show_preview": "Ver Previsualización", "composer.hide_preview": "Ocultar Previsualización", diff --git a/public/language/es/reset_password.json b/public/language/es/reset_password.json index 88feed2371..4879a7944a 100644 --- a/public/language/es/reset_password.json +++ b/public/language/es/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirmar contraseña", "enter_email": "Por favor ingresa tu correo electrónico y te enviaremos un mensaje con indicaciones para restablecer tu cuenta.", "enter_email_address": "Introduce tu correo electrónico", - "password_reset_sent": "Restablecimiento de contraseña enviado", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "¡Correo electrónico no válido o inexistente!", "password_too_short": "La contraseña introducida es demasiado corta, por favor introduzca una contraseña diferente.", "passwords_do_not_match": "Las dos contraseñas introducidas no concuerdan.", diff --git a/public/language/es/search.json b/public/language/es/search.json index 594b020cb5..2a012d63b2 100644 --- a/public/language/es/search.json +++ b/public/language/es/search.json @@ -5,6 +5,9 @@ "in": "En", "titles": "Títulos", "titles-posts": "Títulos y posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Publicado por", "in-categories": "En categorías", "search-child-categories": "Buscar categorías hijas", diff --git a/public/language/es/topic.json b/public/language/es/topic.json index f9c7c75613..c1a44600ad 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -30,11 +30,12 @@ "locked": "Cerrado", "pinned": "Fijo", "moved": "Movido", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Copiar IP", + "ban-ip": "Banear IP", + "view-history": "Editar Historial", "bookmark_instructions": "Haz click aquí para volver a tu último mensaje leído en este tema", "flag_title": "Reportar este mensaje", - "merged_message": "This topic has been merged into %2", + "merged_message": "Este tema ha sido fusionado en %2", "deleted_message": "Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.", "following_topic.message": "Ahora recibiras notificaciones cuando alguien publique en este tema.", "not_following_topic.message": "Podras ver este tema en la lista de no leidos, pero no recibirás notificaciones cuando alguien escriba en él.", @@ -55,12 +56,13 @@ "not-watching.description": "No notificarme de nuevas respuestas.
Mostrar tema en no leídos si sigo esa categoría. ", "ignoring.description": "No notificarme de nuevas respuestas.
No mostrar tema en no leídos. ", "thread_tools.title": "Herramientas", - "thread_tools.markAsUnreadForAll": "Mark Unread For All", + "thread_tools.markAsUnreadForAll": "Marcar todo como no leído", "thread_tools.pin": "Adherir tema", "thread_tools.unpin": "Despegar tema", "thread_tools.lock": "Cerrar tema", "thread_tools.unlock": "Reabrir tema", "thread_tools.move": "Mover tema", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Mover todo", "thread_tools.select_category": "Seleccionar categoría", "thread_tools.fork": "Dividir tema", @@ -71,8 +73,8 @@ "thread_tools.restore_confirm": "¿Estás seguro que deseas restaurar este tema?", "thread_tools.purge": "Purgar tema", "thread_tools.purge_confirm": "¿Está seguro que desea eliminar definitivamente (purgar) este tema?", - "thread_tools.merge_topics": "Merge Topics", - "thread_tools.merge": "Merge", + "thread_tools.merge_topics": "Fusionar temas", + "thread_tools.merge": "Fusionar", "topic_move_success": "El tema ha sido movido correctamente a %1", "post_delete_confirm": "¿Estás seguro de que quieres eliminar esta respuesta?", "post_restore_confirm": "¿Estás seguro de que quieres restaurar esta respuesta?", @@ -94,7 +96,8 @@ "fork_pid_count": "%1 mensaje(s) seleccionados", "fork_success": "¡Se ha creado un nuevo tema a partir del original! Haz click aquí para ir al nuevo tema.", "delete_posts_instruction": "Haz click en los mensajes que quieres eliminar/limpiar", - "merge_topics_instruction": "Click the topics you want to merge", + "merge_topics_instruction": "Selecciona los temas que quieres fusionar", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Ingresa el título de tu tema...", "composer.handle_placeholder": "Nombre", "composer.discard": "Descartar", @@ -121,5 +124,8 @@ "stale.warning": "El hilo al que estás respondiendo es muy antiguo. ¿Quieres crear un nuevo hilo en su lugar y añadir una referencia a este en tu mensaje?", "stale.create": "Crear un nuevo hilo", "stale.reply_anyway": "Publicar este hilo de todos modos.", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/es/user.json b/public/language/es/user.json index 55b9b5f83a..5d0c474b1f 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -1,6 +1,7 @@ { "banned": "Baneado", "offline": "Desconectado", + "deleted": "Borrado", "username": "Nombre de usuario", "joindate": "Fecha de registro", "postcount": "Número De Publicaciones", @@ -11,7 +12,7 @@ "ban_account_confirm": "Quieres confirmar el baneo de este usuario?", "unban_account": "Desbanear cuenta", "delete_account": "Eliminar cuenta", - "delete_account_confirm": "¿Estás seguro de que quieres eliminar tu cuenta?
Esta acción es irreversible y no podrás recuperar ninguno de tus datos.

Introduce tu nombre de usuario para confirmar la eliminación de la cuenta.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Esta seguro de eliminar este usuario?
Esta acción de irreversible y no podrás recuperar ningún dato

", "account-deleted": "Cuenta borrada", "fullname": "Nombre completo", @@ -25,7 +26,7 @@ "reputation": "Reputación", "bookmarks": "Marcadores", "watched": "Suscritos", - "ignored": "Ignored", + "ignored": "Ignorado", "followers": "Seguidores", "following": "Siguiendo", "aboutme": "Sobre mí", @@ -52,7 +53,6 @@ "change_password": "Cambiar contraseña", "change_password_error": "¡Contraseña no válida!", "change_password_error_wrong_current": "¡Su contraseña actual no es correcta!", - "change_password_error_length": "¡La contraseña es demasiado corta!", "change_password_error_match": "¡Las contraseñas deben coincidir!", "change_password_error_privileges": "No tienes los permisos suficientes para cambiar esta contraseña.", "change_password_success": "¡Tu contraseña ha sido actualizada!", @@ -85,7 +85,7 @@ "has_no_posts": "Este usuario no ha publicado nada aún.", "has_no_topics": "Este usuario no ha publicado ninguna tema todavía.", "has_no_watched_topics": "Este usuario no esta suscrito a ningún tema aún.", - "has_no_ignored_topics": "This user hasn't ignored any topics yet.", + "has_no_ignored_topics": "Este usuario no ha ignorado ningún tema aun.", "has_no_upvoted_posts": "Este usuario todavía no ha votado ninguna publicación positivamente.", "has_no_downvoted_posts": "Este usuario todavía no ha votado ninguna publicación negativamente.", "has_no_voted_posts": "Este usuario no ha votado ninguna publicación", diff --git a/public/language/et/admin/admin.json b/public/language/et/admin/admin.json index 28df5c3bb8..39277d8e18 100644 --- a/public/language/et/admin/admin.json +++ b/public/language/et/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Oled kindel, et soovid taaslaadida NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Oled kindel, et soovid taaslaadida NodeBB?", "acp-title": "%1 | NodeBB Administraatori kontrollpaneel", diff --git a/public/language/et/admin/appearance/themes.json b/public/language/et/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/et/admin/appearance/themes.json +++ b/public/language/et/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/et/admin/extend/plugins.json b/public/language/et/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/et/admin/extend/plugins.json +++ b/public/language/et/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/et/admin/general/dashboard.json b/public/language/et/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/et/admin/general/dashboard.json +++ b/public/language/et/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/et/admin/menu.json b/public/language/et/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/et/admin/menu.json +++ b/public/language/et/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/et/admin/settings/advanced.json b/public/language/et/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/et/admin/settings/advanced.json +++ b/public/language/et/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/et/admin/settings/post.json b/public/language/et/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/et/admin/settings/post.json +++ b/public/language/et/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/et/admin/settings/uploads.json b/public/language/et/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/et/admin/settings/uploads.json +++ b/public/language/et/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/et/email.json b/public/language/et/email.json index a51f25e36e..c294189c11 100644 --- a/public/language/et/email.json +++ b/public/language/et/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Administraator aktsepteeris teie registreerimise. Te saate nüüd sisse logida oma kasutajanime/parooliga.", "welcome.cta": "Vajuta siia, et kinnitada oma e-maili aadress", "invitation.text1": "%1 kutsus teid gruppi %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Vajuta siia, et registreeruda.", "reset.text1": "Meile laekus päring parooli muutmiseks. Kui päring ei ole teie poolt esitatud või te ei soovi parooli muuta, siis võite antud kirja ignoreerida.", "reset.text2": "Selleks, et jätkata parooli muutmisega vajuta järgnevale lingile:", diff --git a/public/language/et/error.json b/public/language/et/error.json index 521e026787..bd336244e1 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Sul ei ole lubatud antud sõnumit kustutada", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Sa oled juba hääletanud sellel postitusel.", "reputation-system-disabled": "Reputatsiooni süsteem ei ole aktiveeritud", "downvoting-disabled": "Negatiivsete häälte andmine ei ole võimaldatud", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Vigane avalehe suunamine", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/et/global.json b/public/language/et/global.json index 69a3e202a3..1542708bcd 100644 --- a/public/language/et/global.json +++ b/public/language/et/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/et/modules.json b/public/language/et/modules.json index 35c5f88ef8..60adcac045 100644 --- a/public/language/et/modules.json +++ b/public/language/et/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Vestle ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Kirjuta sõnum siia ning vajuta enterit sõnumi saatmiseks", "chat.send": "Saada", "chat.no_active": "Sul ei ole hetkel aktiivseid vestlusi.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Hiljutised vestlused", "chat.contacts": "Kontaktid", "chat.message-history": "Sõnumite ajalugu", + "chat.options": "Chat options", "chat.pop-out": "Pop-out vestlus", "chat.minimize": "Minimize", "chat.maximize": "Suurenda", @@ -20,7 +21,17 @@ "chat.three_months": "3 Kuud", "chat.delete_message_confirm": "Oled kindel, et soovid selle sõnumi kustutada?", "chat.add-users-to-room": "Lisa kasutajaid ruumi", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Koosta", "composer.show_preview": "Kuva eelvaadet", "composer.hide_preview": "Peida eelvaade", diff --git a/public/language/et/reset_password.json b/public/language/et/reset_password.json index dec7d5ab7d..55cc9943b2 100644 --- a/public/language/et/reset_password.json +++ b/public/language/et/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Kinnita parool", "enter_email": "Palun sisesta oma emaili aadress ja me saadame sulle emaili koos õpetusega, kuidas oma parooli vahetada.", "enter_email_address": "Sisesta emaili aadress", - "password_reset_sent": "Saadetud", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Vigane emaili aadress / emaili aadressi ei ekisteeri!", "password_too_short": "Sisestatud parool on liiga lühike, palun vali teine parool.", "passwords_do_not_match": "Sisestatud paroolid ei ühti.", diff --git a/public/language/et/search.json b/public/language/et/search.json index 68b9661789..0d48683d4e 100644 --- a/public/language/et/search.json +++ b/public/language/et/search.json @@ -5,6 +5,9 @@ "in": "Kus kohast", "titles": "Tiitlid", "titles-posts": "Tiitlid ja postitused", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Autor", "in-categories": "Kategooriates", "search-child-categories": "Otsi vahekategooriatest", diff --git a/public/language/et/topic.json b/public/language/et/topic.json index 4a285b1104..6b0e8ec0aa 100644 --- a/public/language/et/topic.json +++ b/public/language/et/topic.json @@ -32,6 +32,7 @@ "moved": "Liigutatud", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Vajuta siia, et tagasi minna viimati loetud postituse juurde siin teemas.", "flag_title": "Märgista see postitus modereerimiseks", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lukusta teema", "thread_tools.unlock": "Taasava teema", "thread_tools.move": "Liiguta teema", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Liiguta kõik", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Fork Topic", @@ -95,6 +97,7 @@ "fork_success": "Edukalt ''forkisid'' teema! Vajuta siia, et vaadata loodud teemat.", "delete_posts_instruction": "Klikka postitustel, mida tahad kustutada/puhastada", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Sisesta teema pealkiri siia...", "composer.handle_placeholder": "Nimi", "composer.discard": "Katkesta", @@ -121,5 +124,8 @@ "stale.warning": "Teema, millele vastad on küllaltki vana. Kas sooviksid hoopiski uue teema luua ning viidata sellele sinu vastuses?", "stale.create": "Loo uus teema/alapealkiri", "stale.reply_anyway": "Vasta sellele teemale siiski", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/et/user.json b/public/language/et/user.json index 04914640d0..1fbb0a537c 100644 --- a/public/language/et/user.json +++ b/public/language/et/user.json @@ -1,6 +1,7 @@ { "banned": "Banned", "offline": "Väljas", + "deleted": "Deleted", "username": "Kasutajanimi", "joindate": "Liitumiskuupäev", "postcount": "Postitusi", @@ -11,7 +12,7 @@ "ban_account_confirm": "Kas te tõesti soovite antud kasutajat bannida?", "unban_account": "Eemaldage kontolt ban", "delete_account": "Kustuta kasutaja", - "delete_account_confirm": "Oled kindel, et soovid oma kasutaja kustutada?
Pärast kustutamist pole võimalik andmeid ja kasutajat taastada.

Sisesta oma kasutajanimi, et kinnitada kasutaja kustutamine.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Olete kindel, et soovide seda kasutajat kustutada?
Pärast seda pole võimalik kasutajat ja andmeid taastada

", "account-deleted": "Kasutaja kustutatud", "fullname": "Täisnimi", @@ -52,7 +53,6 @@ "change_password": "Vaheta parooli", "change_password_error": "Vigane parool!", "change_password_error_wrong_current": "Su praegune parool on vale!", - "change_password_error_length": "Parool liiga lühike!", "change_password_error_match": "Paroolid peavad kattuma!", "change_password_error_privileges": "Sul ei ole piisavalt õigusi, et vahetada seda parooli.", "change_password_success": "Sinu parool on uuendatud!", diff --git a/public/language/fa-IR/admin/admin.json b/public/language/fa-IR/admin/admin.json index 6b898588cf..ec845e1d92 100644 --- a/public/language/fa-IR/admin/admin.json +++ b/public/language/fa-IR/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "آیا مایل به بارگذاری مجدد نود‌بی‌بی هستید؟", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "آیا از راه اندازی مجدد نود‌بی‌بی مطمئن هستید؟", "acp-title": "%1 | کنترل پنل مدیر کل نود‌بی‌بی", diff --git a/public/language/fa-IR/admin/appearance/themes.json b/public/language/fa-IR/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/fa-IR/admin/appearance/themes.json +++ b/public/language/fa-IR/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/fa-IR/admin/extend/plugins.json b/public/language/fa-IR/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/fa-IR/admin/extend/plugins.json +++ b/public/language/fa-IR/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/fa-IR/admin/general/dashboard.json b/public/language/fa-IR/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/fa-IR/admin/general/dashboard.json +++ b/public/language/fa-IR/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/fa-IR/admin/menu.json b/public/language/fa-IR/admin/menu.json index 4c1cb49408..bb86852797 100644 --- a/public/language/fa-IR/admin/menu.json +++ b/public/language/fa-IR/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/advanced.json b/public/language/fa-IR/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/fa-IR/admin/settings/advanced.json +++ b/public/language/fa-IR/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/fa-IR/admin/settings/post.json b/public/language/fa-IR/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/fa-IR/admin/settings/post.json +++ b/public/language/fa-IR/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/uploads.json b/public/language/fa-IR/admin/settings/uploads.json index f7b860983a..8e92cff45a 100644 --- a/public/language/fa-IR/admin/settings/uploads.json +++ b/public/language/fa-IR/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/fa-IR/email.json b/public/language/fa-IR/email.json index bb32850ecb..da5a980672 100644 --- a/public/language/fa-IR/email.json +++ b/public/language/fa-IR/email.json @@ -9,6 +9,7 @@ "welcome.text3": "ِک مدیر درخواست ثبت نام شما را قبول کرده. اکنون میتوانید با نام کاربری/رمز عبور خود وارد شوید", "welcome.cta": "برای تأیید آدرس ایمیل خود اینجا کلیک کنید", "invitation.text1": "%1 شما را برای پیوستن به %2 دعوت کرده", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "برای ساخت شناسه کاربری خود اینجا را کلیک کنید", "reset.text1": "ما یک درخواست برای بازنشانی رمزعبور شما دریافت کرده ایم، احتمالا به این دلیل که شما آن را فراموش کرده اید. اگر این مورد نیست و شما رمز خود را به یاد دارید، لطفا این ایمیل را نادیده بگیرید.", "reset.text2": "برای ادامه بازنشانی رمز، لطفابر روی این لینک کلیک کنید:", diff --git a/public/language/fa-IR/error.json b/public/language/fa-IR/error.json index 2807a30398..7bc49bbf50 100644 --- a/public/language/fa-IR/error.json +++ b/public/language/fa-IR/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "شما اجازه حذف این پیام را ندارید.", "chat-edit-duration-expired": "شما قادر هستید پیام های چت را فقط بعد از %1 ثانیه ویرایش کنید", "chat-delete-duration-expired": "شما قادر هستید پیام های چت را فقط بعد از %1 ثانیه پاک کنید", + "chat-deleted-already": "این پیام قبلا حذف شده است", + "chat-restored'already": "این پیام قبلا بازگردانده شده است", "already-voting-for-this-post": "شما قبلا به این پست رای داده اید.", "reputation-system-disabled": "سیستم اعتبار غیر فعال شده است", "downvoting-disabled": "رأی منفی غیر فعال شده است", @@ -142,5 +144,6 @@ "invalid-home-page-route": "مسیر صفحه اصلی نامعتبر است", "invalid-session": "عدم تطابق جلسه", "invalid-session-text": "به نظر می‌رسد این جلسه برای ورود دیگر فعال نیست و یا با سرور هماهنگ نیست. لطفا این صفحه را رفرش کنید.", - "no-topics-selected": "هیچ موضوعی انتخاب نشده است !" + "no-topics-selected": "هیچ موضوعی انتخاب نشده است !", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/fa-IR/global.json b/public/language/fa-IR/global.json index ee4cbb3cdc..8e3107ebd6 100644 --- a/public/language/fa-IR/global.json +++ b/public/language/fa-IR/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "بیشتر بدانید", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/fa-IR/modules.json b/public/language/fa-IR/modules.json index 75b65fb136..d18bc2dc12 100644 --- a/public/language/fa-IR/modules.json +++ b/public/language/fa-IR/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "گفتگو با ", + "chat.chatting_with": "Chat with", "chat.placeholder": "پیام گفتگو را اینجا بنویسید، دکمه Enter را بزنید تا فرستاده شود.", "chat.send": "ارسال", "chat.no_active": "شما هیچ گفتگوی فعالی ندارید.", @@ -12,6 +12,7 @@ "chat.recent-chats": "گفتگو های اخیر", "chat.contacts": "تماس‌ها", "chat.message-history": "تاریخچه پیام‌ها", + "chat.options": "Chat options", "chat.pop-out": "پاپ آپ گفتگو", "chat.minimize": "کوچک کردن", "chat.maximize": "تمام صفحه", @@ -20,7 +21,17 @@ "chat.three_months": "3 ماه", "chat.delete_message_confirm": "آیا مطمئن هستید که می خواهید این پیام را حذف کنید؟", "chat.add-users-to-room": "اضافه کردن کاربر به این گفتگو", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "این کاربر وضعیت خود را روی حالت مزاحم نشوید قرار داده است. آیا همچنان می خواهید با او چت کنید؟", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "ارسال", "composer.show_preview": "نمایش پیش‌نمایش", "composer.hide_preview": "مخفی کردن پیش‌نمایش", diff --git a/public/language/fa-IR/reset_password.json b/public/language/fa-IR/reset_password.json index 956eea7135..d897e1cb7e 100644 --- a/public/language/fa-IR/reset_password.json +++ b/public/language/fa-IR/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "تکرار گذرواژه", "enter_email": "لطفا نشانی رایانامهٔ خود را بنویسید و ما دستورکار بازیابی شناسه‌تان را به این رایانامه می‌فرستیم.", "enter_email_address": "نوشتن نشانی رایانامه", - "password_reset_sent": "ایمیل بازیابی کلمه عبور فرستاده شد", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "رایانامهٔ نامعتبر / رایانامه وجود ندارد!", "password_too_short": "کلمه عبور وارد شده خیلی کوتاه است، لطفا یک گذر واژه طولانی تر انتخاب کنید.", "passwords_do_not_match": "دو کلمه عبوری که وارد کرده اید مطابقت ندارند.", diff --git a/public/language/fa-IR/search.json b/public/language/fa-IR/search.json index 9c1ae2dbac..803498d235 100644 --- a/public/language/fa-IR/search.json +++ b/public/language/fa-IR/search.json @@ -5,6 +5,9 @@ "in": "در", "titles": "عناوین", "titles-posts": "عناوین و پست ها", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "ارسال شده توسط", "in-categories": "در دسته بندی ها", "search-child-categories": "جستجوی زیر دسته ها", diff --git a/public/language/fa-IR/topic.json b/public/language/fa-IR/topic.json index 90efb68d9f..78aa14ed7f 100644 --- a/public/language/fa-IR/topic.json +++ b/public/language/fa-IR/topic.json @@ -32,6 +32,7 @@ "moved": "منتقل شده", "copy-ip": "کپی IP", "ban-ip": "مسدود کردن IP", + "view-history": "تاریخچه ویرایش", "bookmark_instructions": "برای بازگشت به آخرین پست در این موضوع اینجا را کلیک کنید.", "flag_title": "پرچم‌گذاری این موضوع برای بررسی ناظران", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "قفل کردن موضوع", "thread_tools.unlock": "باز کردن موضوع", "thread_tools.move": "جابجا کردن موضوع", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "جابجایی همه", "thread_tools.select_category": "انتخاب دسته", "thread_tools.fork": "شاخه ساختن از موضوع", @@ -95,6 +97,7 @@ "fork_success": "موضوع با موفقیت منشعب شد! برای رفتن به موضوع انشعابی اینجا را کلیک کنید.", "delete_posts_instruction": "با کلیک بر روی پست شما می خواهید به حذف/پاکسازی", "merge_topics_instruction": "بر روی عنوان موضوعاتی که می خواهید ادغام کنید کلیک کنید", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "عنوان موضوعتان را اینجا بنویسید...", "composer.handle_placeholder": "نام", "composer.discard": "دور بیانداز", @@ -121,5 +124,8 @@ "stale.warning": "موضوعی که شما در حال پاسخگویی به آن هستید قدیمی می باشد. آیا میلید به جای آن یک موضوع جدید ایجاد کنید و در آن به این موضوع ارجاع دهید؟", "stale.create": "ایجاد یک موضوع جدید", "stale.reply_anyway": "در هر صورت می خواهم به این موضوع پاسخ دهم", - "link_back": "پاسخ: [%1](%2)" + "link_back": "پاسخ: [%1](%2)", + "diffs.title": "تاریخچه ویرایش پست", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/fa-IR/user.json b/public/language/fa-IR/user.json index 32e608506b..f885bd9eee 100644 --- a/public/language/fa-IR/user.json +++ b/public/language/fa-IR/user.json @@ -1,6 +1,7 @@ { "banned": "اخراج شده", "offline": "آفلاین", + "deleted": "Deleted", "username": "نام کاربری", "joindate": "زمان عضویت", "postcount": "تعداد پست‌ها", @@ -11,7 +12,7 @@ "ban_account_confirm": "از مسدود کردن این کاربر اطمینان دارید؟", "unban_account": "آزاد کردن حساب کاربری", "delete_account": "حذف حساب کاربری", - "delete_account_confirm": "آیا مطمئنید که میخواهید حساب کاربری خود را حذف کنید؟
این عمل غیر قابل بازگشت است و شما قادر نخواهید بود هیچ کدام از اطلاعات خود را بازیابی کنید./strong>

برای تایید حذف این حساب کاربری، نام کاربری خود را وارد کنید", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "آیا مطمئنید که میخواهید این حساب کاربری را حذف کنید؟
این عمل غیر قابل بازگشت است و شما قادر نخواهید بود هیچ کدام از اطلاعات را بازیابی کنید.

", "account-deleted": "حساب کاربری پاک شد", "fullname": "نام و نام‌خانوادگی", @@ -52,7 +53,6 @@ "change_password": "تغیر کلمه عبور", "change_password_error": "کلمه عبور نامعتبر!", "change_password_error_wrong_current": "این کلمه عبورٔ شما نادرست است.", - "change_password_error_length": "کلمه عبور خیلی کوتاه است!", "change_password_error_match": "کلمه عبور‌ها باید یکسان باشند.", "change_password_error_privileges": "شما اجازه تغییر این کلمه عبور را ندارید.", "change_password_success": "کلمه عبور‌تان تازه شد.", diff --git a/public/language/fi/admin/admin.json b/public/language/fi/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/fi/admin/admin.json +++ b/public/language/fi/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/fi/admin/appearance/themes.json b/public/language/fi/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/fi/admin/appearance/themes.json +++ b/public/language/fi/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/fi/admin/extend/plugins.json b/public/language/fi/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/fi/admin/extend/plugins.json +++ b/public/language/fi/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/fi/admin/general/dashboard.json b/public/language/fi/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/fi/admin/general/dashboard.json +++ b/public/language/fi/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/fi/admin/menu.json b/public/language/fi/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/fi/admin/menu.json +++ b/public/language/fi/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/fi/admin/settings/advanced.json b/public/language/fi/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/fi/admin/settings/advanced.json +++ b/public/language/fi/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/fi/admin/settings/post.json b/public/language/fi/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/fi/admin/settings/post.json +++ b/public/language/fi/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/fi/admin/settings/uploads.json b/public/language/fi/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/fi/admin/settings/uploads.json +++ b/public/language/fi/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/fi/email.json b/public/language/fi/email.json index ec849a5639..9361bb0113 100644 --- a/public/language/fi/email.json +++ b/public/language/fi/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Ylläpitäjä hyväksyi rekisteröintipyyntösi. Voit nyt kirjautua käyttäjänimelläsi ja salasanallasi.", "welcome.cta": "Napsauta tästä vahvistaaksesi sähköpostiosoitteesi", "invitation.text1": "%1 pyysi sinua liittymään %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Napsauta tästä luodaksesi käyttäjätilisi.", "reset.text1": "Saimme pyynnön vaihtaa salasanasi, todennäkösesti koska olit unohtanut sen. Jos näin ei ollut käynyt, voit jättää tämän viestin huomiotta.", "reset.text2": "Jatkaaksesi salasanan nollausta, napsauta seuraavaa linkkiä:", diff --git a/public/language/fi/error.json b/public/language/fi/error.json index 46ab358acb..fe27f305ae 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/fi/global.json b/public/language/fi/global.json index eb7a28e489..cca31761d1 100644 --- a/public/language/fi/global.json +++ b/public/language/fi/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/fi/modules.json b/public/language/fi/modules.json index 95ae6fc34e..1b1dd00cee 100644 --- a/public/language/fi/modules.json +++ b/public/language/fi/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Keskustele käyttäjän kanssa", + "chat.chatting_with": "Chat with", "chat.placeholder": "Kirjoita viestisi tähän ja paina enter lähettääksesi", "chat.send": "Lähetä", "chat.no_active": "Sinulla ei ole aktiivisia keskusteluita.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Viimeisimmät keskustelut", "chat.contacts": "Contacts", "chat.message-history": "Viestihistoria", + "chat.options": "Chat options", "chat.pop-out": "Pop out chat", "chat.minimize": "Minimize", "chat.maximize": "Suurenna", @@ -20,7 +21,17 @@ "chat.three_months": "3 kuukautta", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/fi/reset_password.json b/public/language/fi/reset_password.json index 5836ce801b..abdbc306cd 100644 --- a/public/language/fi/reset_password.json +++ b/public/language/fi/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Vahvista salasana", "enter_email": "Syötä sähköpostiosoitteesi, niin me lähetämme sinulle sähköpostilla ohjeet käyttäjätilisi palauttamiseksi.", "enter_email_address": "Syötä sähköpostiosoite", - "password_reset_sent": "Salasanan palautuskoodi lähetetty", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Virheellinen sähköpostiosoite / Sähköpostiosoitetta ei ole olemassa!", "password_too_short": "Salasana on liian lyhyt, käytä pidempää salasanaa.", "passwords_do_not_match": "Salasana ja sen vahvistus eivät täsmää.", diff --git a/public/language/fi/search.json b/public/language/fi/search.json index 4c221d43f2..527432360c 100644 --- a/public/language/fi/search.json +++ b/public/language/fi/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Otsikot", "titles-posts": "Otsikot ja Viestit", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Kirjoittanut", "in-categories": "In Categories", "search-child-categories": "Hae alikategorioista", diff --git a/public/language/fi/topic.json b/public/language/fi/topic.json index 00f9587140..a40250e142 100644 --- a/public/language/fi/topic.json +++ b/public/language/fi/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Ilmianna tämä viesti moderaattoreille", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lukitse aihe", "thread_tools.unlock": "Poista aiheen lukitus", "thread_tools.move": "Siirrä aihe", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Siirrä kaikki", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Haaroita aihe", @@ -95,6 +97,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Syötä aiheesi otsikko tähän...", "composer.handle_placeholder": "Name", "composer.discard": "Hylkää", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/fi/user.json b/public/language/fi/user.json index 78a2b63458..be0676fa8d 100644 --- a/public/language/fi/user.json +++ b/public/language/fi/user.json @@ -1,6 +1,7 @@ { "banned": "Bannattu", "offline": "Offline", + "deleted": "Deleted", "username": "Käyttäjän nimi", "joindate": "Liittymispäivä", "postcount": "Viestien määrä", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Poista käyttäjätili", - "delete_account_confirm": "Oletko täysin varma, että haluat poistaa käyttäjätilisi?
Tätä toimintoa ei voi kumonta eikä poistettua dataa voida palauttaa

Syötä käyttäjänimesi vahvistaaksesi, että haluat poistaa tilisi.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", "fullname": "Koko nimi", @@ -52,7 +53,6 @@ "change_password": "Vaihda salasana", "change_password_error": "Virheellinen salasana", "change_password_error_wrong_current": "Nykyinen salasanasi ei ole oikein!", - "change_password_error_length": "Salasana on liian lyhyt!", "change_password_error_match": "Salasanojen täytyy olla samat!", "change_password_error_privileges": "Sinulla ei ole oikeuksia vaihtaa tätä salasanaa.", "change_password_success": "Salasanasi on päivitetty!", diff --git a/public/language/fr/admin/admin.json b/public/language/fr/admin/admin.json index 0ba109af02..6a476d1043 100644 --- a/public/language/fr/admin/admin.json +++ b/public/language/fr/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Êtes-vous sûr de vouloir recharger NodeBB ?", + "alert.confirm-rebuild-and-restart": "Êtes-vous sûr de vouloir régénérer et redémarrer NodeBB ?", "alert.confirm-restart": "Êtes-vous sûr de vouloir redémarrer NodeBB ?", "acp-title": "%1 | Panneau d'administration NodeBB", diff --git a/public/language/fr/admin/appearance/themes.json b/public/language/fr/admin/appearance/themes.json index 975c3d99ba..4295b24107 100644 --- a/public/language/fr/admin/appearance/themes.json +++ b/public/language/fr/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Êtes-vous sûr de vouloir restaurer le thème NodeBB par défaut ?", "theme-changed": "Thème changé", "revert-success": "Vous avez restauré avec succès le thème par défaut de NodeBB.", - "restart-to-activate": "Veuillez redémarrer NodeBB pour complètement activer ce thème." + "restart-to-activate": "Veuillez régénérer et redémarrer votre NodeBB pour activer ce thème." } \ No newline at end of file diff --git a/public/language/fr/admin/development/logger.json b/public/language/fr/admin/development/logger.json index 83f424e622..6c872cccaf 100644 --- a/public/language/fr/admin/development/logger.json +++ b/public/language/fr/admin/development/logger.json @@ -8,5 +8,5 @@ "file-path-placeholder": "/path/to/log/file.log ::: laissez vide pour journaliser vers votre terminal", "control-panel": "Panneau de contrôle de la journalisation", - "update-settings": "Mettre à jour les réglages de la journalisation" + "update-settings": "Mettre à jour la configuration" } \ No newline at end of file diff --git a/public/language/fr/admin/extend/plugins.json b/public/language/fr/admin/extend/plugins.json index d0c943f7d0..08e571b079 100644 --- a/public/language/fr/admin/extend/plugins.json +++ b/public/language/fr/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin désinstallé", "alert.activate-success": "Veuillez redémarrer votre NodeBB pour activer complètement ce plugin.", "alert.deactivate-success": "Plugin désactivé avec succès", - "alert.upgrade-success": "Veuillez recharger votre NodeBB pour achever la mise à jour de ce plugin.", + "alert.upgrade-success": "Veuillez régénérer et redémarrer votre NodeBB pour finaliser la mise à jour de ce plugin.", "alert.install-success": "Plugin installé avec succès, veuillez maintenant l'activer.", "alert.uninstall-success": "Le plugin a été désactivé et désinstallé avec succès.", "alert.suggest-error": "

NodeBB n'a pas pu joindre le gestionnaire de paquets, procéder à l'installation de la dernière version ?

Le serveur a répondu (%1) : %2
", diff --git a/public/language/fr/admin/extend/widgets.json b/public/language/fr/admin/extend/widgets.json index 287e44f1d7..20729c29d7 100644 --- a/public/language/fr/admin/extend/widgets.json +++ b/public/language/fr/admin/extend/widgets.json @@ -2,7 +2,7 @@ "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 widgets essentiels dans le panneau de contrôle plugins.", - "clone-from": "Clone widgets from", + "clone-from": "Cloner le widget", "containers.available": "Conteneurs disponibles", "containers.explanation": "Glissez-déposez sur n'importe quel widget actif", "containers.none": "Aucun", @@ -16,7 +16,7 @@ "alert.confirm-delete": "Êtes-vous sûr de vouloir supprimer ce widget ?", "alert.updated": "Widgets mis à jour", "alert.update-success": "Widgets mis à jour avec succès", - "alert.clone-success": "Successfully cloned widgets", + "alert.clone-success": "Widget cloné avec succès", - "error.select-clone": "Please select a page to clone from" + "error.select-clone": "Veuillez sélectionner une page à cloner" } \ No newline at end of file diff --git a/public/language/fr/admin/general/dashboard.json b/public/language/fr/admin/general/dashboard.json index ec011f5d59..0393f8b93e 100644 --- a/public/language/fr/admin/general/dashboard.json +++ b/public/language/fr/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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) a été publiée. Merci d’envisager de mettre à jour NodeBB.

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

Ceci est une version pre-release obsolète de NodeBB. Une nouvelle version (v%1) a été publiée. Merci d’envisager de mettre à jour NodeBB.

", + "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.

", "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

", "notices": "Informations", "restart-not-required": "Pas de redémarrage nécessaire", @@ -36,10 +37,10 @@ "search-plugin-tooltip": "Installer un plugin de recherche depuis la page des plugins pour activer la fonctionnalité de recherche", "control-panel": "Contrôle du système", - "reload": "Restart", - "restart": "Rebuild & Restart", - "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", - "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", + "rebuild-and-restart": "Régénérer & Redémarrer", + "restart": "Redémarrer", + "restart-warning": "Régénérer ou redémarrer NodeBB coupera toutes les connexions existantes pendant quelques secondes. ", + "restart-disabled": "Régénérer et le redémarrage de votre forum ont été désactivés car vous ne semblez pas les exécuter à l'aide du serveur approprié.", "maintenance-mode": "Mode maintenance", "maintenance-mode-title": "Cliquez ici pour passer NodeBB en mode maintenance", "realtime-chart-updates": "Mises à jour des graphiques en temps réel", diff --git a/public/language/fr/admin/manage/categories.json b/public/language/fr/admin/manage/categories.json index fbf7585b60..6fcb864f86 100644 --- a/public/language/fr/admin/manage/categories.json +++ b/public/language/fr/admin/manage/categories.json @@ -66,6 +66,6 @@ "alert.user-search": "Chercher un utilisateur ici...", "alert.find-group": "Trouver un groupe", "alert.group-search": "Chercher un groupe ici...", - "collapse-all": "Collapse All", - "expand-all": "Expand All" + "collapse-all": "Tout réduire", + "expand-all": "Tout développer" } \ No newline at end of file diff --git a/public/language/fr/admin/manage/ip-blacklist.json b/public/language/fr/admin/manage/ip-blacklist.json index 1c057100ec..36c55cfefd 100644 --- a/public/language/fr/admin/manage/ip-blacklist.json +++ b/public/language/fr/admin/manage/ip-blacklist.json @@ -15,5 +15,5 @@ "analytics.blacklist-hourly": "Figure 1 – Nombre de visites de la liste noire par heure", "analytics.blacklist-daily": "Figure 2 – Nombre de visites de la liste noire par jour", - "ip-banned": "IP banned" + "ip-banned": "IP bannies" } \ No newline at end of file diff --git a/public/language/fr/admin/menu.json b/public/language/fr/admin/menu.json index 641a7f9f20..ff090d72a0 100644 --- a/public/language/fr/admin/menu.json +++ b/public/language/fr/admin/menu.json @@ -17,7 +17,7 @@ "manage/post-queue": "File d’attente des messages", "manage/groups": "Groupes", "manage/ip-blacklist": "Liste noire d'IPs", - "manage/uploads": "Uploads", + "manage/uploads": "Téléversements", "section-settings": "Réglages", "settings/general": "Général", @@ -60,10 +60,10 @@ "advanced/logs": "Journaux", "advanced/errors": "Erreurs", "advanced/cache": "Cache", - "development/logger": "Logger", + "development/logger": "Réglages journalisation", "development/info": "Info", - "reload-forum": "Recharger le forum", + "rebuild-and-restart-forum": "Régénérer & Redémarrer votre forum", "restart-forum": "Redémarrer le forum", "logout": "Déconnexion ", "view-forum": "Voir le forum", @@ -72,7 +72,10 @@ "search.no-results": "Aucun résultat…", "search.search-forum": "Rechercher dans le forum", "search.keep-typing": "Continuez de taper pour afficher les résultats…", - "search.start-typing": "Commencez à taper pour afficher les résultats…", + "search.start-typing": "Écrivez votre recherche pour afficher les résultats…", - "connection-lost": "La connexion à %1 a été perdue, tentative de reconnexion…" + "connection-lost": "La connexion à %1 a été perdue, tentative de reconnexion…", + + "alerts.version": "Version actuelle NodeBB v%1", + "alerts.upgrade": "Mettre à jour en v% 1" } \ No newline at end of file diff --git a/public/language/fr/admin/settings/advanced.json b/public/language/fr/admin/settings/advanced.json index 28d42fbc5e..cc10c4fafb 100644 --- a/public/language/fr/admin/settings/advanced.json +++ b/public/language/fr/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Personnaliser l'en-tête \"Propulsé par\" envoyé par NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Pour refuser l'accès à tous les sites, laissez vide", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "\nAccess-Control-Allow-Methods", "headers.acah": "\nAccess-Control-Allow-Headers", "traffic-management": "Gestion du trafic", diff --git a/public/language/fr/admin/settings/post.json b/public/language/fr/admin/settings/post.json index 33bf906260..00b241ee9d 100644 --- a/public/language/fr/admin/settings/post.json +++ b/public/language/fr/admin/settings/post.json @@ -44,10 +44,11 @@ "signature.no-images": "Désactiver les images en signature ", "signature.max-length": "Longueur maximum des signatures", "composer": "Paramètres Composer", - "composer-help": "Les réglages suivants permettent de choisir les fonctionnalités et/ou l'apparence du composeur de message affiché\n\\t\\t\\t\\taux utilisateurs quand ils créent de nouveaux sujets ou répondent à des sujets existants.", + "composer-help": "Les réglages suivants permettent de choisir les fonctionnalités et/ou l'apparence du composeur de message affiché\n\t\t\t\ttaux utilisateurs quand ils créent de nouveaux sujets ou répondent à des sujets existants.", "composer.show-help": "Afficher l'onglet \"Aide\"", "composer.enable-plugin-help": "Autoriser les plugins à modifier l'onglet d'aide", "composer.custom-help": "Message d'aide personnalisé", "ip-tracking": "Suivi d'IP", - "ip-tracking.each-post": "Suivre l'adresse IP pour chaque message" + "ip-tracking.each-post": "Suivre l'adresse IP pour chaque message", + "enable-post-history": "Activer l'historique des publications" } \ No newline at end of file diff --git a/public/language/fr/admin/settings/uploads.json b/public/language/fr/admin/settings/uploads.json index 3549aa69ab..fc61b3d418 100644 --- a/public/language/fr/admin/settings/uploads.json +++ b/public/language/fr/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Rendre privés les fichiers téléchargés", "max-image-width": "Redimensionner les images à un largeur spécifique (en pixels)", "max-image-width-help": "(En pixels, par défaut : 760 pixels, définir à 0 si désactivé)", + "resize-image-quality": "Qualité utilisée des images redimensionnées", + "resize-image-quality-help": "Diminuer la qualité des images redimensionnées pour réduire leur taille.", "max-file-size": "Taille maximum d'un fichier (en Ko)", "max-file-size-help": "(en kibioctets, défaut : 2048 Kio)", "allow-topic-thumbnails": "Autoriser les utilisateurs à télécharger des miniatures de sujet", diff --git a/public/language/fr/admin/settings/user.json b/public/language/fr/admin/settings/user.json index 04cd6e7296..c4d2ccb6ce 100644 --- a/public/language/fr/admin/settings/user.json +++ b/public/language/fr/admin/settings/user.json @@ -63,5 +63,5 @@ "email-post-notif": "Envoyer un email lors de réponses envoyées aux sujets auxquels je suis abonné", "follow-created-topics": "S'abonner aux sujets que vous créez", "follow-replied-topics": "S'abonner aux sujets auxquels vous répondez", - "default-notification-settings": "Default notification settings" + "default-notification-settings": "Paramètres des notifications par défaut" } \ No newline at end of file diff --git a/public/language/fr/email.json b/public/language/fr/email.json index b0c7167139..ad081c2fec 100644 --- a/public/language/fr/email.json +++ b/public/language/fr/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Un administrateur a accepté votre demande d'inscription. Vous pouvez maintenant vous connecter avec vos identifiants/mots de passe.", "welcome.cta": "Cliquez ici pour confirmer votre adresse e-mail", "invitation.text1": "%1 vous a invité à rejoindre %2", + "invitation.text2": "Votre invitation va expirée dans %1 jours.", "invitation.ctr": "Cliquer ici pour créer votre compte.", "reset.text1": "Nous avons reçu une demande de réinitialisation de votre mot de passe, probablement parce que vous l'avez oublié. Si ce n'est pas le cas, veuillez ignorer cet email.", "reset.text2": "Pour confirmer la réinitialisation de votre mot de passe, veuillez cliquer sur le lien suivant :", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 99d8b67311..ff73d4f7e3 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Vous n'avez pas l'autorisation de supprimer ce message", "chat-edit-duration-expired": "Vous n'êtes autorisé à modifier des messages que pendant %1 seconde(s) après les avoir postés", "chat-delete-duration-expired": "Vous n'êtes autorisé à supprimer des messages que pendant %1 seconde(s) après les avoir postés", + "chat-deleted-already": "Ce message a déjà été supprimé.", + "chat-restored'already": "Ce message a déjà été restauré.", "already-voting-for-this-post": "Vous avez déjà voté pour ce message.", "reputation-system-disabled": "Le système de réputation est désactivé", "downvoting-disabled": "Les votes négatifs ne sont pas autorisés", @@ -132,7 +134,7 @@ "wrong-login-type-email": "Veuillez utiliser votre adresse email pour vous connecter", "wrong-login-type-username": "Veuillez utiliser votre identifiant pour vous connecter", "sso-registration-disabled": "L'enregistrement a été désactivé pour les comptes %1, merci de vous enregistrer avec une adresse mail avant", - "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", + "sso-multiple-association": "Vous ne pouvez pas associer plusieurs comptes de ce service à votre compte NodeBB. Veuillez dissocier votre compte existant et réessayer.", "invite-maximum-met": "Vous avez invité la quantité maximale de personnes (%1 sur %2).", "no-session-found": "Pas de session de connexion trouvée !", "not-in-room": "L'utilisateur n'est pas dans cette salle", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Chemin vers la page d'accueil invalide", "invalid-session": "Session interrompue", "invalid-session-text": "Il semble que votre session ne soit plus active, ou que le serveur ne la reconnaisse plus. Merci de rafraichir cette page.", - "no-topics-selected": "Aucun sujet sélectionné !" + "no-topics-selected": "Aucun sujet sélectionné !", + "cant-move-to-same-topic": "Impossible de déplacer le message dans le même sujet !" } \ No newline at end of file diff --git a/public/language/fr/global.json b/public/language/fr/global.json index 1f2277f598..a10dac68b0 100644 --- a/public/language/fr/global.json +++ b/public/language/fr/global.json @@ -54,8 +54,8 @@ "posts": "Messages", "best": "Meilleurs", "votes": "Votes", - "upvoters": "Votes pour", - "upvoted": "Votes pour", + "upvoters": "Votes positifs", + "upvoted": "Votes positifs", "downvoters": "Votes contre", "downvoted": "Vote négatif", "views": "Vues", @@ -106,5 +106,6 @@ "cookies.learn_more": "En savoir plus", "edited": "Modifié", "disabled": "Désactivé", - "select": "Sélectionner" + "select": "Sélectionner", + "user-search-prompt": "Écrivez ici pour rechercher des utilisateurs ..." } \ No newline at end of file diff --git a/public/language/fr/language.json b/public/language/fr/language.json index 21ce190574..7f25df4ec3 100644 --- a/public/language/fr/language.json +++ b/public/language/fr/language.json @@ -1,5 +1,5 @@ { - "name": "French", + "name": "French (France)", "code": "fr", "dir": "ltr" } \ No newline at end of file diff --git a/public/language/fr/modules.json b/public/language/fr/modules.json index bb99ae9031..cde5f5bc82 100644 --- a/public/language/fr/modules.json +++ b/public/language/fr/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Discuter avec ", + "chat.chatting_with": "Discuter avec", "chat.placeholder": "Tapez votre message ici, appuyez sur Entrée pour envoyer", "chat.send": "Envoyer", "chat.no_active": "Vous n'avez aucune discussion en cours.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Discussions récentes", "chat.contacts": "Contacts", "chat.message-history": "Historique des messages", + "chat.options": "Options", "chat.pop-out": "Afficher la discussion", "chat.minimize": "Réduire", "chat.maximize": "Agrandir", @@ -20,7 +21,17 @@ "chat.three_months": "3 Mois", "chat.delete_message_confirm": "Êtes-vous sûr de vouloir supprimer ce message ?", "chat.add-users-to-room": "Ajouter des participants", + "chat.retrieving-users": "Ajouter des utilisateurs ...", + "chat.manage-room": "Gérer l'espace de discussion", + "chat.add-user-help": "Rechercher des utilisateurs ici. Lorsque cette option est sélectionnée, l'utilisateur sera ajouté au chat. Le nouvel utilisateur ne pourra pas voir les messages de écrits avant d'avoir été ajouté à la dicussion.", "chat.confirm-chat-with-dnd-user": "Cet utilisateur a son statut en mode \"Ne pas déranger\". Voulez-vous quand même discuter avec lui ?", + "chat.rename-room": "Renommer l'espace de discussion", + "chat.rename-placeholder": "Entrer le nom ici ", + "chat.rename-help": "Le nom de l'espace de discussion défini ici sera visible par tous les participants à la discussion.", + "chat.leave": "Quitter la discussion", + "chat.leave-prompt": "Êtes-vous sûr de vouloir quitter la discussion ?", + "chat.leave-help": "Si vous quittez vous ne pourrez plus suivre la discussion. Si vous êtes de nouveau ajouté, vous ne verrez aucun historique de la discussion avant votre réintégration.", + "chat.in-room": "Dans cet espace de discussion", "composer.compose": "Écrire", "composer.show_preview": "Afficher l'aperçu", "composer.hide_preview": "Masquer l'aperçu", diff --git a/public/language/fr/notifications.json b/public/language/fr/notifications.json index 6b61063749..03cac9bb9d 100644 --- a/public/language/fr/notifications.json +++ b/public/language/fr/notifications.json @@ -16,7 +16,7 @@ "replies": "Réponses", "chat": "Discussions", "follows": "Suivis", - "upvote": "Votes pour", + "upvote": "Votes positifs", "new-flags": "Nouveaux drapeaux", "my-flags": "Drapeaux assignés à moi", "bans": "Bannissements", diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index 5609a93d49..a0558fed99 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -46,8 +46,8 @@ "account/settings": "Paramètres d'utilisateur", "account/watched": "Sujets auxquels %1 est abonné", "account/ignored": "Sujets ignorés par %1", - "account/upvoted": "Messages pour lesquels %1 a voté", - "account/downvoted": "Messages contre lesquels %1 a voté", + "account/upvoted": "Avis positifs de %1", + "account/downvoted": "Avis négatifs de %1", "account/best": "Meilleurs messages postés par %1", "confirm": "Email vérifié", "maintenance.text": "%1 est en maintenance. Veuillez revenir un peu plus tard.", diff --git a/public/language/fr/reset_password.json b/public/language/fr/reset_password.json index 055aec4b60..01934ac921 100644 --- a/public/language/fr/reset_password.json +++ b/public/language/fr/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirmer le mot de passe", "enter_email": "Veuillez entrer votre adresse email pour recevoir un email contenant les instructions permettant de réinitialiser votre compte.", "enter_email_address": "Entrer votre adresse email", - "password_reset_sent": "La demande de réinitialisation du mot de passe a bien été envoyée", + "password_reset_sent": "Un e-mail de réinitialisation de mot de passe a été envoyé à l'adresse spécifiée. Veuillez noter qu'un seul courriel sera envoyé par minute.", "invalid_email": "Email invalide / L'email n'existe pas !", "password_too_short": "Le mot de passe est trop court, veuillez entrer un mot de passe différent.", "passwords_do_not_match": "Les deux mots de passe saisis ne correspondent pas.", diff --git a/public/language/fr/search.json b/public/language/fr/search.json index f429040908..13e088f5f7 100644 --- a/public/language/fr/search.json +++ b/public/language/fr/search.json @@ -5,6 +5,9 @@ "in": "Dans", "titles": "Titres", "titles-posts": "Titres et Messages", + "match-words": "Correspondance", + "all": "Tous", + "any": "Aucun", "posted-by": "Posté par", "in-categories": "Dans les catégories", "search-child-categories": "Rechercher également dans les sous catégories", diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index 42b6a1ddc0..632405660c 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -30,11 +30,12 @@ "locked": "Verrouillé", "pinned": "Épinglé", "moved": "Déplacé", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Copier l'IP", + "ban-ip": "Bannir l'IP", + "view-history": "Éditer l'historique", "bookmark_instructions": "Cliquez ici pour retourner au dernier message lu de ce fil.", "flag_title": "Signaler ce message à la modération", - "merged_message": "This topic has been merged into %2", + "merged_message": "Ce sujet a été fusionné dans %2", "deleted_message": "Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.", "following_topic.message": "Vous recevrez désormais des notifications lorsque quelqu'un postera dans ce sujet.", "not_following_topic.message": "Vous verrez ce sujet dans la liste des sujets non-lus, mais vous ne recevrez pas de notification lorsque quelqu'un postera dans ce sujet.", @@ -61,6 +62,7 @@ "thread_tools.lock": "Verrouiller le sujet", "thread_tools.unlock": "Déverouiller le sujet", "thread_tools.move": "Déplacer le sujet", + "thread_tools.move-posts": "Déplacer les messages", "thread_tools.move_all": "Déplacer tout", "thread_tools.select_category": "Sélectionner une catégorie", "thread_tools.fork": "Scinder le sujet", @@ -95,6 +97,7 @@ "fork_success": "Sujet copié avec succès ! Cliquez ici pour aller au sujet copié.", "delete_posts_instruction": "Sélectionnez les messages que vous souhaitez supprimer/vider", "merge_topics_instruction": "Cliquez sur les sujets que vous voulez fusionner", + "move_posts_instruction": "Cliquez sur les messages que vous souhaitez déplacer", "composer.title_placeholder": "Entrer le titre du sujet ici…", "composer.handle_placeholder": "Nom", "composer.discard": "Abandonner", @@ -121,5 +124,8 @@ "stale.warning": "Le sujet auquel vous répondez est assez ancien. Ne voudriez-vous pas créer un nouveau sujet à la place et placer une référence vers celui-ci dans votre réponse ?", "stale.create": "Créer un nouveau sujet", "stale.reply_anyway": "Répondre à ce sujet quand même", - "link_back": "Re : [%1](%2)" + "link_back": "Re : [%1](%2)", + "diffs.title": "Historique", + "diffs.description": "Cet article a % 1 révisions. Cliquez sur l'une des révisions ci-dessous pour voir le contenu du message.", + "diffs.no-revisions-description": "Cet article a % 1 révisions." } \ No newline at end of file diff --git a/public/language/fr/user.json b/public/language/fr/user.json index d3af911300..b7ba14f450 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -1,6 +1,7 @@ { "banned": "Banni", "offline": "Hors-ligne", + "deleted": "Effacé", "username": "Nom d'utilisateur", "joindate": "Date d'inscription", "postcount": "Nombre de messages", @@ -11,7 +12,7 @@ "ban_account_confirm": "Êtes-vous sûr de bien vouloir bannir cet utilisateur ?", "unban_account": "Restaurer le compte", "delete_account": "Supprimer le compte", - "delete_account_confirm": "Êtes-vous sûr de vouloir supprimer votre compte?
Cette action est irréversible et vous ne serez pas en mesure de récupérer vos données

Entrez votre nom d'utilisateur pour confirmer que vous souhaitez détruire votre compte.", + "delete_account_confirm": "Êtes-vous sûr de vouloir supprimer votre compte?
Cette action est irréversible et vous ne pourrez récupérer aucune de vos données

Entrez votre mot de passe pour confirmer que vous souhaitez détruire ce compte.", "delete_this_account_confirm": "Etes-vous sûr de vouloir supprimer ce compte?
Cette action est irréversible et vous ne pourrez récupérer aucune donnée.", "account-deleted": "Compte supprimé", "fullname": "Nom", @@ -52,7 +53,6 @@ "change_password": "Changer le mot de passe", "change_password_error": "Mot de passe invalide !", "change_password_error_wrong_current": "Votre mot de passe est incorrect !", - "change_password_error_length": "Mot de passe trop court !", "change_password_error_match": "Les mots de passe doivent être identiques !", "change_password_error_privileges": "Vous n'avez pas les droits de changer ce mot de passe.", "change_password_success": "Votre mot de passe a été mis à jour.", @@ -86,8 +86,8 @@ "has_no_topics": "Cet utilisateur n'a encore créé aucun sujet.", "has_no_watched_topics": "Cet utilisateur ne s'est encore abonné à aucun sujet.", "has_no_ignored_topics": "Cet utilisateur n'a encore ignoré aucun sujet.", - "has_no_upvoted_posts": "Cet utilisateur n'a voté pour aucun message", - "has_no_downvoted_posts": "Cet utilisateur n'a voté contre aucun message", + "has_no_upvoted_posts": "Cet utilisateur n'a donné d'avis positifs", + "has_no_downvoted_posts": "Cet utilisateur n'a pas donné d'avis négatifs", "has_no_voted_posts": "Personne n'a voté pour des messages de cet utilisateur", "email_hidden": "Email masqué", "hidden": "masqué", @@ -95,7 +95,7 @@ "topics_per_page": "Sujets par page", "posts_per_page": "Messages par page", "max_items_per_page": "Maximum %1", - "acp_language": "Admin Page Language", + "acp_language": "Page de gestion des langues", "notification_sounds": "Émettre un son lors de la réception de notifications", "notifications_and_sounds": "Notifications & Sons", "incoming-message-sound": "Son pour les messages entrants", diff --git a/public/language/gl/admin/admin.json b/public/language/gl/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/gl/admin/admin.json +++ b/public/language/gl/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/gl/admin/appearance/themes.json b/public/language/gl/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/gl/admin/appearance/themes.json +++ b/public/language/gl/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/gl/admin/extend/plugins.json b/public/language/gl/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/gl/admin/extend/plugins.json +++ b/public/language/gl/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/gl/admin/general/dashboard.json b/public/language/gl/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/gl/admin/general/dashboard.json +++ b/public/language/gl/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/gl/admin/menu.json b/public/language/gl/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/gl/admin/menu.json +++ b/public/language/gl/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/gl/admin/settings/advanced.json b/public/language/gl/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/gl/admin/settings/advanced.json +++ b/public/language/gl/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/gl/admin/settings/post.json b/public/language/gl/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/gl/admin/settings/post.json +++ b/public/language/gl/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/gl/admin/settings/uploads.json b/public/language/gl/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/gl/admin/settings/uploads.json +++ b/public/language/gl/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/gl/email.json b/public/language/gl/email.json index dc00e2c996..6d6e5eda36 100644 --- a/public/language/gl/email.json +++ b/public/language/gl/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Un administrador aceptou a túa solicitude de rexistro. Agora pódeste conectar co teu nome de usuario e contrasinal. ", "welcome.cta": "Fai clic aquí para confirmar o teu enderezo de correo electrónico ", "invitation.text1": "%1 convidoute a unirte %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Pica aquí para crear a túa conta.", "reset.text1": "Recibimos unha petición para reiniciar o teu contrasinal, posibelmente porque o esqueciche. Se non é o caso, ignora este correo.", "reset.text2": "Para continuar co reincio do contrasinal, por favor pica no seguinte ligazón:", diff --git a/public/language/gl/error.json b/public/language/gl/error.json index 3a908e158a..b94be634e6 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Non tes permitido borrar esta mensaxe.", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Xa votache esta mensaxe.", "reputation-system-disabled": "O sistema de reputación está deshabilitado", "downvoting-disabled": "Os votos negativos están deshabilitados", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Ruta de páxina de inicio inválida", "invalid-session": "Non concordan os datos da sesión", "invalid-session-text": "Parece que a súa sesión expirou ou non concorda co servidor. Por favor, recarge a páxina.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/gl/global.json b/public/language/gl/global.json index 58549281f6..d3df0ab550 100644 --- a/public/language/gl/global.json +++ b/public/language/gl/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Saber máis", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/gl/modules.json b/public/language/gl/modules.json index 8172d7dae3..067342bb00 100644 --- a/public/language/gl/modules.json +++ b/public/language/gl/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Charla con ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Escribe aquí a mensaxe, pulsa intro para enviar", "chat.send": "Enviar", "chat.no_active": "Non tes charlas activas.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Charlas Recentes", "chat.contacts": "Contactos", "chat.message-history": "Historial de mensaxes", + "chat.options": "Chat options", "chat.pop-out": "Marchar do chat", "chat.minimize": "Minimize", "chat.maximize": "Agrandar", @@ -20,7 +21,17 @@ "chat.three_months": "3 Meses", "chat.delete_message_confirm": "Estás seguro de que desexas eliminar esta mensaxe?", "chat.add-users-to-room": "Engadir usuarios á sala", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Elaborar", "composer.show_preview": "Amosar vista previa", "composer.hide_preview": "Agochar vista previa", diff --git a/public/language/gl/reset_password.json b/public/language/gl/reset_password.json index 86e67bc5b3..7c272a4ece 100644 --- a/public/language/gl/reset_password.json +++ b/public/language/gl/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirma o teu contrasinal", "enter_email": "Por favor, introduce o teucorreo electrónico e enviarémosche un correo coas instruccóns para restaurar a túa conta", "enter_email_address": "Introduce o teu correo electrónico", - "password_reset_sent": "Contrasinal enviado", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Correo inválido / O correo non existe!", "password_too_short": "O contrasinal é moi curto, por favor, escolle outro.", "passwords_do_not_match": "Os contrasinais non coinciden.", diff --git a/public/language/gl/search.json b/public/language/gl/search.json index 211355725a..3f37d8fcca 100644 --- a/public/language/gl/search.json +++ b/public/language/gl/search.json @@ -5,6 +5,9 @@ "in": "En", "titles": "Títulos", "titles-posts": "Títulos e publicacións", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Publicado por", "in-categories": "En categorías", "search-child-categories": "Buscar categorías fillas", diff --git a/public/language/gl/topic.json b/public/language/gl/topic.json index 59b51fabb2..4610db760f 100644 --- a/public/language/gl/topic.json +++ b/public/language/gl/topic.json @@ -32,6 +32,7 @@ "moved": "Movido", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Pica aquí para volver á última mensaxe lida neste tema ", "flag_title": "Reportar esta mensaxe", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Pechar Tema", "thread_tools.unlock": "Reabrir Tema", "thread_tools.move": "Mover Tema", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Mover todo", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Dividir Tema", @@ -95,6 +97,7 @@ "fork_success": "Creouse un novo tema a partir do orixinal! Fai clic aquí para ir ó novo tema.", "delete_posts_instruction": "Fai clic nas mensaxes que queres eliminar/limpar", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Introduce o título do teu tema", "composer.handle_placeholder": "Nome", "composer.discard": "Descartar", @@ -121,5 +124,8 @@ "stale.warning": "O tema no que queres publicar é bastante vello. Queres crear un novo tema no seu lugar e incluir unha referencia a este na túa mensaxe?", "stale.create": "Crear un novo tema", "stale.reply_anyway": "Publicar neste tema de tódolos xeitos", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/gl/user.json b/public/language/gl/user.json index 6adff82676..f04929712f 100644 --- a/public/language/gl/user.json +++ b/public/language/gl/user.json @@ -1,6 +1,7 @@ { "banned": "Expulsado", "offline": "Desconectado", + "deleted": "Deleted", "username": "Nome de usuario", "joindate": "Data de ingreso", "postcount": "Reconto de mensaxes", @@ -11,7 +12,7 @@ "ban_account_confirm": "Estás seguro de que desexas expulsar a este usuario?", "unban_account": "Readmitir conta", "delete_account": "Borrar conta.", - "delete_account_confirm": "Estás seguro de que queres borra-la túa conta?
Esta acción é irreversible e non poderás recuperar ningunha información

Introduce o teu nome de usuario para confirmar que desexas borrar esta conta.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Estás seguro de que queres borrar esta conta?
Esta acción é irreversible e non poderás recuperar ningunha información

", "account-deleted": "Conta borrada", "fullname": "Nome completo", @@ -52,7 +53,6 @@ "change_password": "Cambia-lo contrasinal", "change_password_error": "Contrasinal inválido", "change_password_error_wrong_current": "O contrasinal actual é incorrecto!", - "change_password_error_length": "Contrasinal demasiado curto", "change_password_error_match": "Os contrasinais teñen que coincidir!", "change_password_error_privileges": "Non tes autorización para cambia-lo contrasinal", "change_password_success": "O teu contrasinal foi actualizado!", diff --git a/public/language/he/admin/admin.json b/public/language/he/admin/admin.json index 073a6b28be..17cc34d15f 100644 --- a/public/language/he/admin/admin.json +++ b/public/language/he/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "האם אתה בטוח שאתה רוצה לטעון מחדש את NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "האם אתה בטוח שאתה רוצה לאתחל מחדש את NodeBB?", "acp-title": "%1 | לוח בקרה לאדמין NodeBB", diff --git a/public/language/he/admin/advanced/database.json b/public/language/he/admin/advanced/database.json index a39b1ab887..142c70e080 100644 --- a/public/language/he/admin/advanced/database.json +++ b/public/language/he/admin/advanced/database.json @@ -15,22 +15,22 @@ "mongo.storage-size": "גודל האחסון", "mongo.index-size": "גודל האינדקס", "mongo.file-size": "גודל הקובץ", - "mongo.resident-memory": "Resident Memory", + "mongo.resident-memory": "זכרון קיים", "mongo.virtual-memory": "זיכרון וירטואלי", "mongo.mapped-memory": "זיכרון ממופה", - "mongo.raw-info": "MongoDB Raw Info", + "mongo.raw-info": "מידע לא מעובד מMongoDB", "redis": "Redis", - "redis.version": "Redis Version", + "redis.version": "גרסת Redis", "redis.connected-clients": "לקוחות מחוברים", "redis.connected-slaves": "Connected Slaves", "redis.blocked-clients": "לקוחות חסומים", "redis.used-memory": "זכרון בשימוש", - "redis.memory-frag-ratio": "Memory Fragmentation Ratio", + "redis.memory-frag-ratio": "יחס פיצול זכרון", "redis.total-connections-recieved": "סך כל החיבורים שהתקבלו", "redis.total-commands-processed": "סך כל הפקודות שעובדו", "redis.iops": "Instantaneous Ops. Per Second", "redis.keyspace-hits": "Keyspace Hits", "redis.keyspace-misses": "Keyspace Misses", - "redis.raw-info": "Redis Raw Info" + "redis.raw-info": "מידע לא מעובד מRedis" } \ No newline at end of file diff --git a/public/language/he/admin/advanced/errors.json b/public/language/he/admin/advanced/errors.json index 546f0f1508..42f7047575 100644 --- a/public/language/he/admin/advanced/errors.json +++ b/public/language/he/admin/advanced/errors.json @@ -1,14 +1,14 @@ { - "figure-x": "Figure %1", - "error-events-per-day": "%1 events per day", - "error.404": "404 Not Found", - "error.503": "503 Service Unavailable", - "manage-error-log": "Manage Error Log", - "export-error-log": "Export Error Log (CSV)", - "clear-error-log": "Clear Error Log", - "route": "Route", - "count": "Count", - "no-routes-not-found": "Hooray! No 404 errors!", - "clear404-confirm": "Are you sure you wish to clear the 404 error logs?", - "clear404-success": "\"404 Not Found\" errors cleared" + "figure-x": "דוגמא %1", + "error-events-per-day": "%1 ארועים ביום", + "error.404": "לא נמצא 404", + "error.503": "השירות אינו זמין 503", + "manage-error-log": "נהל רישום שגיאות", + "export-error-log": "יצא רישום שגיאות (CSV)", + "clear-error-log": "נקה רישום שגיאות", + "route": "נתיב", + "count": "ספירה", + "no-routes-not-found": "מופלטה! אין שגיאות 404!", + "clear404-confirm": "האם אתה בטוח שאתה רוצה לנקות את רישום שגיאות 404?", + "clear404-success": "שגיאות \"404 לא נמצא\" נוקו" } \ No newline at end of file diff --git a/public/language/he/admin/advanced/events.json b/public/language/he/admin/advanced/events.json index 766eb5e951..9aa17282a0 100644 --- a/public/language/he/admin/advanced/events.json +++ b/public/language/he/admin/advanced/events.json @@ -1,6 +1,6 @@ { - "events": "Events", - "no-events": "There are no events", - "control-panel": "Events Control Panel", - "delete-events": "Delete Events" + "events": "ארועים", + "no-events": "אין ארועים", + "control-panel": "בקרת ארועים", + "delete-events": "מחיקת ארועים" } \ No newline at end of file diff --git a/public/language/he/admin/advanced/logs.json b/public/language/he/admin/advanced/logs.json index b9de400e1c..7c503395a1 100644 --- a/public/language/he/admin/advanced/logs.json +++ b/public/language/he/admin/advanced/logs.json @@ -1,7 +1,7 @@ { - "logs": "Logs", - "control-panel": "Logs Control Panel", - "reload": "Reload Logs", - "clear": "Clear Logs", - "clear-success": "Logs Cleared!" + "logs": "רישומים", + "control-panel": "בקרת רישומים", + "reload": "טען רישומים מחדש", + "clear": "נקה רישומים", + "clear-success": "הרישומים נוקו!" } \ No newline at end of file diff --git a/public/language/he/admin/appearance/themes.json b/public/language/he/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/he/admin/appearance/themes.json +++ b/public/language/he/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/he/admin/extend/plugins.json b/public/language/he/admin/extend/plugins.json index 7515f72590..4200e66c10 100644 --- a/public/language/he/admin/extend/plugins.json +++ b/public/language/he/admin/extend/plugins.json @@ -1,43 +1,43 @@ { - "installed": "Installed", - "active": "Active", - "inactive": "Inactive", - "out-of-date": "Out of Date", - "none-found": "No plugins found.", - "none-active": "No Active Plugins", - "find-plugins": "Find Plugins", + "installed": "הותקן", + "active": "פעיל", + "inactive": "לא-פעיל", + "out-of-date": "פג תוקף", + "none-found": "לא נמצאו תוספים", + "none-active": "אין תוספים פעילים", + "find-plugins": "מצא תוספים", - "plugin-search": "Plugin Search", - "plugin-search-placeholder": "Search for plugin...", - "reorder-plugins": "Re-order Plugins", - "order-active": "Order Active Plugins", - "dev-interested": "Interested in writing plugins for NodeBB?", + "plugin-search": "חיפוש תוספים", + "plugin-search-placeholder": "חפש תוספים...", + "reorder-plugins": "סדר מחדש תוספים", + "order-active": "הזמן תוסף פעיל", + "dev-interested": "מתעניין בכתיבת תוספים לNodeBB?", "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", "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.deactivate": "Deactivate", - "plugin-item.activate": "Activate", - "plugin-item.install": "Install", - "plugin-item.uninstall": "Uninstall", - "plugin-item.settings": "Settings", - "plugin-item.installed": "Installed", - "plugin-item.latest": "Latest", - "plugin-item.upgrade": "Upgrade", - "plugin-item.more-info": "For more information:", - "plugin-item.unknown": "Unknown", + "plugin-item.deactivate": "בטל", + "plugin-item.activate": "הפעל", + "plugin-item.install": "התקן", + "plugin-item.uninstall": "הסר התקנה", + "plugin-item.settings": "הגדרות", + "plugin-item.installed": "מותקן", + "plugin-item.latest": "אחרונים", + "plugin-item.upgrade": "שדרוג", + "plugin-item.more-info": "מידע נוסף:", + "plugin-item.unknown": "לא ידוע", "plugin-item.unknown-explanation": "The state of this plugin could not be determined, possibly due to a misconfiguration error.", - "alert.enabled": "Plugin Enabled", + "alert.enabled": "תוסף מופעל", "alert.disabled": "Plugin Disabled", - "alert.upgraded": "Plugin Upgraded", - "alert.installed": "Plugin Installed", - "alert.uninstalled": "Plugin Uninstalled", + "alert.upgraded": "תוסף שודרג", + "alert.installed": "תוסף הותקן", + "alert.uninstalled": "תוסף הוסר", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", @@ -45,7 +45,7 @@ "alert.incompatible": "

Your version of NodeBB (v%1) is only cleared to upgrade to v%2 of this plugin. Please update your NodeBB if you wish to install a newer version of this plugin.

", "alert.possibly-incompatible": "

No Compatibility Information Found

This plugin did not specify a specific version for installation given your NodeBB version. Full compatibility cannot be guaranteed, and may cause your NodeBB to no longer start properly.

In the event that NodeBB cannot boot properly:

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

Continue installation of latest version of this plugin?

", - "license.title": "Plugin License Information", + "license.title": "מידע רישיון התוסף", "license.intro": "The plugin %1 is licensed under the %2. Please read and understand the license terms prior to activating this plugin.", - "license.cta": "Do you wish to continue with activating this plugin?" + "license.cta": "האם להמשיך בהפעלת התוסף הזה?" } diff --git a/public/language/he/admin/extend/rewards.json b/public/language/he/admin/extend/rewards.json index 4c89dc8fde..f78c4b2c56 100644 --- a/public/language/he/admin/extend/rewards.json +++ b/public/language/he/admin/extend/rewards.json @@ -1,17 +1,17 @@ { - "rewards": "Rewards", - "condition-if-users": "If User's", + "rewards": "פרסים", + "condition-if-users": "אם המשתמשים", "condition-is": "Is:", - "condition-then": "Then:", - "max-claims": "Amount of times reward is claimable", - "zero-infinite": "Enter 0 for infinite", + "condition-then": "אז:", + "max-claims": "מספר הפעמים הניתן לדרוש פרס", + "zero-infinite": "הזן 0 לאינסוף", "delete": "מחק", - "enable": "Enable", - "disable": "Disable", - "control-panel": "Rewards Control", - "new-reward": "New Reward", + "enable": "הפעל", + "disable": "בטל", + "control-panel": "בקרת פרסים", + "new-reward": "פרס חדש", - "alert.delete-success": "Successfully deleted reward", - "alert.no-inputs-found": "Illegal reward - no inputs found!", - "alert.save-success": "Successfully saved rewards" + "alert.delete-success": "הפרס נמחק בהצלחה", + "alert.no-inputs-found": "פרס לא חוקי - לא נמצא מידע!", + "alert.save-success": "הפרסים נשמרו בהצלחה" } \ No newline at end of file diff --git a/public/language/he/admin/general/dashboard.json b/public/language/he/admin/general/dashboard.json index 42d81471c0..220e21b275 100644 --- a/public/language/he/admin/general/dashboard.json +++ b/public/language/he/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/he/admin/menu.json b/public/language/he/admin/menu.json index 4cc4a3571a..0751ce2340 100644 --- a/public/language/he/admin/menu.json +++ b/public/language/he/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/he/admin/settings/advanced.json b/public/language/he/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/he/admin/settings/advanced.json +++ b/public/language/he/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/he/admin/settings/post.json b/public/language/he/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/he/admin/settings/post.json +++ b/public/language/he/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/he/admin/settings/uploads.json b/public/language/he/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/he/admin/settings/uploads.json +++ b/public/language/he/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/he/admin/settings/web-crawler.json b/public/language/he/admin/settings/web-crawler.json index 2e0d31d12b..10f4d432ea 100644 --- a/public/language/he/admin/settings/web-crawler.json +++ b/public/language/he/admin/settings/web-crawler.json @@ -1,10 +1,10 @@ { - "crawlability-settings": "Crawlability Settings", - "robots-txt": "Custom Robots.txt Leave blank for default", - "sitemap-feed-settings": "Sitemap & Feed Settings", - "disable-rss-feeds": "Disable RSS Feeds", - "disable-sitemap-xml": "Disable Sitemap.xml", - "sitemap-topics": "Number of Topics to display in the Sitemap", - "clear-sitemap-cache": "Clear Sitemap Cache", - "view-sitemap": "View Sitemap" + "crawlability-settings": "הגדרות סריקה", + "robots-txt": "Robots.txt מותאם אישית", + "sitemap-feed-settings": "הגדרות הזנת מידע ומפת האתר", + "disable-rss-feeds": "בטל הזנת RSS", + "disable-sitemap-xml": "בטל את Sitemap.xml", + "sitemap-topics": "מספר הנושאים להצגה במפת האתר", + "clear-sitemap-cache": "נקה את זכרון מפת האתר", + "view-sitemap": "צפייה במפת האתר" } \ No newline at end of file diff --git a/public/language/he/email.json b/public/language/he/email.json index 79ddc36f99..1e38f92855 100644 --- a/public/language/he/email.json +++ b/public/language/he/email.json @@ -9,6 +9,7 @@ "welcome.text3": "מנהל אישר את ההרשמה שלך.\nאתה יכול להתחבר עם השם משתמש והסיסמא שלך מעכשיו.", "welcome.cta": "לחץ כאן על מנת לאשר את כתובת המייל שלך.", "invitation.text1": "%1 הזמין אותך להצתרף ל%2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "לחץ כאן כדי ליצור את החשבון שלך.", "reset.text1": "קיבלנו בקשה לאפס את הסיסמה לחשבון שלך, כנראה מפני ששכחת אותה. אם לא ביקשת לאפס את הסיסמה, אנא התעלם ממייל זה.", "reset.text2": "על מנת להמשיך עם תהליך איפוס הסיסמה, אנא לחץ על הלינק הבא:", diff --git a/public/language/he/error.json b/public/language/he/error.json index 1b28221034..2fc9f201ce 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -11,13 +11,13 @@ "invalid-uid": "זהוי משתמש שגוי", "invalid-username": "שם משתמש שגוי", "invalid-email": "אימייל שגוי", - "invalid-title": "Invalid title", + "invalid-title": "שגיאה בכותרת", "invalid-user-data": "מידע משתמש שגוי", "invalid-password": "סיסמא שגויה", "invalid-login-credentials": "פרטי ההתחברות שגויים", "invalid-username-or-password": "אנא הגדר שם משתמש וסיסמה", "invalid-search-term": "מילת חיפוש לא תקינה", - "invalid-url": "Invalid URL", + "invalid-url": "שגיאה בכתובת URL", "csrf-invalid": "אין באפשרותנו לחבר אותך למערכת, מכיוון שעבר זמן רב מידי. אנא נסה שנית.", "invalid-pagination-value": "ערך דף לא חוקי, חייב להיות לפחות %1 ולא מעל %2", "username-taken": "שם משתמש תפוס", @@ -82,7 +82,7 @@ "cant-ban-other-admins": "אינך יכול לחסום מנהלים אחרים!", "cant-remove-last-admin": "אתה המנהל היחיד. הוסף משתמש אחר לניהול לפני שאתה מוריד את עצמך מניהול", "cant-delete-admin": "משתמש זה מוגדר כמנהל. על מנת למחוק את המשתמש, עליך להסיר קודם את גישותיו.", - "invalid-image": "Invalid image", + "invalid-image": "תמונה לא תקינה", "invalid-image-type": "פורמט תמונה לא תקין. הפורמטים המורשים הם: %1", "invalid-image-extension": "פורמט תמונה לא תקין", "invalid-file-type": "פורמט הקובץ לא תקין. הפורמטים המורשים הם: %1", @@ -116,6 +116,8 @@ "cant-delete-chat-message": "אתה לא רשאי למחוק הודעה זו", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "הצבעת כבר בנושא זה", "reputation-system-disabled": "מערכת המוניטין לא פעילה.", "downvoting-disabled": "היכולת להצביע נגד לא פעילה", @@ -125,22 +127,23 @@ "not-enough-reputation-min-rep-aboutme": "You do not have enough reputation to add an about me", "not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature", "already-flagged": "כבר סימנת את הפוסט הזה", - "self-vote": "You cannot vote on your own post", + "self-vote": "אי אפשר להצביע בפרסום שיצרת", "reload-failed": "אירעה תקלה ב NodeBB בזמן הטעינה של: \"%1\". המערכת תמשיך להגיש דפים קיימים, אבל כדאי שתשחזר את הפעולות שלך מהפעם האחרונה שהמערכת עבדה כראוי.", "registration-error": "שגיאה בהרשמה", "parse-error": "אירעה שגיאה בעת בעת ניתוח תגובת השרת", "wrong-login-type-email": "בבקשה השתמש בכתובת המייל שלך להתחברות", "wrong-login-type-username": "בבקשה השתמש בשם המשתמש שלך להתחברות", - "sso-registration-disabled": "Registration has been disabled for %1 accounts, please register with an email address first", + "sso-registration-disabled": "ההרשמה בוטלה ל%1 מהחשבונות, תחילה הרשם עם כתובת דוא\"ל בבקשה", "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", "invite-maximum-met": "הזמנת את הכמות המירבית של אנשים (%1 מתוך %2).", - "no-session-found": "לא נמצאו סשני התחברות!", + "no-session-found": "לא נמצאו מושבי התחברות!", "not-in-room": "משתמש זה לא בצ'אט", "no-users-in-room": "אין משתמש בחדר הזה", "cant-kick-self": "אינך יכול להסיר את עצמך מהקבוצה", "no-users-selected": "לא נבחרו משתמשים", "invalid-home-page-route": "כתובת דף הבית הינה שגויה", - "invalid-session": "סשן לא תקין", + "invalid-session": "מושב לא תואם", "invalid-session-text": "נראה שסשן ההתחברות שלך כבר לא פעיל. אנא טען מחדש את העמוד.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "לא נבחרו נושאים!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/he/flags.json b/public/language/he/flags.json index d05a5b25a8..35030e2a19 100644 --- a/public/language/he/flags.json +++ b/public/language/he/flags.json @@ -1,64 +1,64 @@ { - "state": "State", - "reporter": "Reporter", - "reported-at": "Reported At", - "description": "Description", - "no-flags": "Hooray! No flags found.", - "assignee": "Assignee", - "update": "Update", - "updated": "Updated", - "target-purged": "The content this flag referred to has been purged and is no longer available.", + "state": "מצב", + "reporter": "מדווח", + "reported-at": "דווח ב", + "description": "תאור", + "no-flags": "מופלטה! לא נמצאו סימונים.", + "assignee": "מוקצה", + "update": "עדכון", + "updated": "עודכן", + "target-purged": "התוכן שסומן נוקה ולא קיים יותר.", - "quick-filters": "Quick Filters", - "filter-active": "There are one or more filters active in this list of flags", - "filter-reset": "Remove Filters", - "filters": "Filter Options", - "filter-reporterId": "Reporter UID", - "filter-targetUid": "Flagged UID", - "filter-type": "Flag Type", - "filter-type-all": "All Content", - "filter-type-post": "Post", - "filter-state": "State", - "filter-assignee": "Assignee UID", - "filter-cid": "Category", - "filter-quick-mine": "Assigned to me", - "filter-cid-all": "All categories", - "apply-filters": "Apply Filters", + "quick-filters": "סינון מהיר", + "filter-active": "קיים סנן אחד או יותר ברשימת הסימונים הזו", + "filter-reset": "הסר סינון", + "filters": "אפשרויות סינון", + "filter-reporterId": "UID של מדווח", + "filter-targetUid": "UID של סימונים", + "filter-type": "סוג סימון", + "filter-type-all": "כל התוכן", + "filter-type-post": "פרסום", + "filter-state": "מצב", + "filter-assignee": "UID של הממונה", + "filter-cid": "קטגוריה", + "filter-quick-mine": "הוקצה עבורי", + "filter-cid-all": "כל הקטגוריות", + "apply-filters": "הפעל סינון", - "quick-links": "Quick Links", - "flagged-user": "Flagged User", - "view-profile": "View Profile", - "start-new-chat": "Start New Chat", - "go-to-target": "View Flag Target", + "quick-links": "קישורים מהירים", + "flagged-user": "משתמש מסומן", + "view-profile": "צפה בפרופיל", + "start-new-chat": "התחל שיחה חדשה", + "go-to-target": "צפה במטרת הסימון", - "user-view": "View Profile", - "user-edit": "Edit Profile", + "user-view": "צפה בפרופיל", + "user-edit": "ערוך פרופיל", - "notes": "Flag Notes", - "add-note": "Add Note", - "no-notes": "No shared notes.", + "notes": "הערות הסימון", + "add-note": "הוסף הערה", + "no-notes": "אין הערות", - "history": "Flag History", - "back": "Back to Flags List", - "no-history": "No flag history.", + "history": "היסטוריית הסימונים", + "back": "חזרה לרשימת הסימונים", + "no-history": "אין הסיטוריית סימונים", - "state-all": "All states", - "state-open": "New/Open", - "state-wip": "Work in Progress", - "state-resolved": "Resolved", - "state-rejected": "Rejected", - "no-assignee": "Not Assigned", - "note-added": "Note Added", + "state-all": "כל המצבים", + "state-open": "חדש / פתח", + "state-wip": "תחת עבודה", + "state-resolved": "הושלם", + "state-rejected": "נדחה", + "no-assignee": "לא הוקצה", + "note-added": "נוספה הערה", - "modal-title": "Report Inappropriate Content", - "modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.", - "modal-reason-spam": "Spam", - "modal-reason-offensive": "Offensive", - "modal-reason-other": "Other (specify below)", - "modal-reason-custom": "Reason for reporting this content...", - "modal-submit": "Submit Report", - "modal-submit-success": "Content has been flagged for moderation.", - "modal-submit-confirm": "Confirm Submission", - "modal-submit-confirm-text": "You have a custom reason specified already. Are you sure you wish to submit via quick-report?", - "modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined." + "modal-title": "דווח על תוכן לא ראוי", + "modal-body": "אנא ציין את הסיבה לסימון %1 %2 לצורך בקרה. לחלופין, השתמש באחד מכפתורי הדיווח המהיר אם אפשר.", + "modal-reason-spam": "זבל", + "modal-reason-offensive": "פוגעני", + "modal-reason-other": "אחר (ציין מטה)", + "modal-reason-custom": "הסיבה לדיווח על התוכן...", + "modal-submit": "שלח דוח", + "modal-submit-success": "התוכן סומן לצרכי בקרה", + "modal-submit-confirm": "אשר שליחה", + "modal-submit-confirm-text": "כבר ציינת סיבה. האם אתה בטוח שאתה רוצה לשלוח על ידי דיווח-מהיר?", + "modal-submit-confirm-text-help": "שליחת דיווח מהיר תבטל כל סיבה קודמת שהוגדרה." } \ No newline at end of file diff --git a/public/language/he/global.json b/public/language/he/global.json index 7a044f4a19..0868fee8be 100644 --- a/public/language/he/global.json +++ b/public/language/he/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "למד עוד", "edited": "נערך", "disabled": "לא מאופשר", - "select": "בחר" + "select": "בחר", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/he/modules.json b/public/language/he/modules.json index 2e4e6a5554..667fdbe9dd 100644 --- a/public/language/he/modules.json +++ b/public/language/he/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "שוחח עם ", + "chat.chatting_with": "Chat with", "chat.placeholder": "הקלד את הודעת הצ'אט כאן, לחץ אנטר לשליחה", "chat.send": "שלח", "chat.no_active": "אין לך צ'אטים פעילים", @@ -12,6 +12,7 @@ "chat.recent-chats": "צ'אטים אחרונים", "chat.contacts": "אנשי קשר", "chat.message-history": "היסטוריית הודעות", + "chat.options": "Chat options", "chat.pop-out": "הוצא את חלון הצ'אט", "chat.minimize": "צמצם", "chat.maximize": "הרחב", @@ -20,7 +21,17 @@ "chat.three_months": "3 חודשים", "chat.delete_message_confirm": "האם אתה בטוח שברצונך למחוק הודעה זו?", "chat.add-users-to-room": "הוסף משתמשים לצ'אט", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "משתמש זה שינה את הסטטוס שלו ל 'לא להפריע'. אתה עדיין מעוניין לשוחח איתו?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "צור", "composer.show_preview": "הצג תצוגה מקדימה", "composer.hide_preview": "הסתר תצוגה מקדימה", diff --git a/public/language/he/pages.json b/public/language/he/pages.json index 46a6a2e446..180bccd407 100644 --- a/public/language/he/pages.json +++ b/public/language/he/pages.json @@ -6,7 +6,7 @@ "popular-month": "נושאים חמים החודש", "popular-alltime": "הנושאים החמים בכל הזמנים", "recent": "נושאים אחרונים", - "top": "Top Voted Topics", + "top": "הנושאים הנבחרים ביותר", "moderator-tools": "כלי מודרטור", "flagged-content": "תוכן מדווח", "ip-blacklist": "רשימת IP שחורה", @@ -20,7 +20,7 @@ "users/search": "חיפוש משתמשים", "notifications": "התראות", "tags": "תגיות", - "tag": "Topics tagged under "%1"", + "tag": "נושאים שתויגו תחת "%1"", "register": "יצירת חשבון", "registration-complete": "ההרשמה הושלמה", "login": "התחבר לחשבונך", @@ -45,7 +45,7 @@ "account/bookmarks": "הפוסטים השמורים של %1", "account/settings": "הגדרות משתמש", "account/watched": "נושאים שנצפו על ידי %1", - "account/ignored": "Topics ignored by %1", + "account/ignored": "נושאים ש%1 התעלמו מהם", "account/upvoted": "פוסטים שהוצבעו לטובה על ידי %1", "account/downvoted": "פוסטים שהוצבעו לרעה על ידי %1", "account/best": "הפוסטים הטובים ביותר שנוצרו על ידי %1", diff --git a/public/language/he/reset_password.json b/public/language/he/reset_password.json index b3033821b2..0f69a64e15 100644 --- a/public/language/he/reset_password.json +++ b/public/language/he/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "אמת סיסמה", "enter_email": "אנא הקלד את כתובת האימייל שלך ואנו נשלח לך הוראות כיצד לאפס את חשבונך", "enter_email_address": "הכנס כתובת אימייל", - "password_reset_sent": "קוד איפוס סיסמה נשלח", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "מייל שגוי / כתובת מייל לא נמצאה", "password_too_short": "הסיסמה שבחרת קצרה מדי, אנא בחר סיסמה שונה.", "passwords_do_not_match": "הסיסמאות שהזנת אינן תואמות.", diff --git a/public/language/he/search.json b/public/language/he/search.json index 2ce3728e7d..5aef738e34 100644 --- a/public/language/he/search.json +++ b/public/language/he/search.json @@ -5,6 +5,9 @@ "in": "ב", "titles": "כותרות", "titles-posts": "כותרות ופוסטים", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "פורסם על-ידי", "in-categories": "בקטגוריות", "search-child-categories": "חפש בתת קטגוריות", diff --git a/public/language/he/topic.json b/public/language/he/topic.json index 8458a123a9..f602e9b045 100644 --- a/public/language/he/topic.json +++ b/public/language/he/topic.json @@ -32,6 +32,7 @@ "moved": "הועבר", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "לחץ כאן לחזור לפוסט האחרון שקראת בנושא הזה.", "flag_title": "דווח על פוסט זה למנהל", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "נעל נושא", "thread_tools.unlock": "הסר נעילה", "thread_tools.move": "הזז נושא", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "הזז הכל", "thread_tools.select_category": "בחר קטגוריה", "thread_tools.fork": "שכפל נושא", @@ -95,6 +97,7 @@ "fork_success": "הפוסט שוכפל בהצלחה! לחץ כאן על מנת לעבור לפוסט המשוכפל.", "delete_posts_instruction": "לחץ על הפוסטים שברצונך למחוק", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "הכנס את כותרת הנושא כאן...", "composer.handle_placeholder": "שם", "composer.discard": "ביטול", @@ -121,5 +124,8 @@ "stale.warning": "הנושא בו אתה מגיב הוא דיי ישן. האם ברצונך לפתוח נושא חדש, ולהזכיר את הנושא הזה בתגובתך?", "stale.create": "צור נושא חדש", "stale.reply_anyway": "הגב לנושא זה בכל מקרה", - "link_back": "תגובה: [%1](%2)" + "link_back": "תגובה: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/he/unread.json b/public/language/he/unread.json index 9174abcd4a..b89887ee85 100644 --- a/public/language/he/unread.json +++ b/public/language/he/unread.json @@ -10,6 +10,6 @@ "all-topics": "כל הנושאים", "new-topics": "נושאים חדשים", "watched-topics": "נושאים שאתה עוקב אחריהם", - "unreplied-topics": "Unreplied Topics", - "multiple-categories-selected": "Multiple Selected" + "unreplied-topics": "נושאים ללא תגובות", + "multiple-categories-selected": "בחירות מרובות" } \ No newline at end of file diff --git a/public/language/he/user.json b/public/language/he/user.json index 051a59e68c..f27098509a 100644 --- a/public/language/he/user.json +++ b/public/language/he/user.json @@ -1,6 +1,7 @@ { "banned": "מורחק", "offline": "לא מחובר", + "deleted": "נמחק", "username": "שם משתמש", "joindate": "תאריך הצטרפות", "postcount": "כמות פוסטים", @@ -11,7 +12,7 @@ "ban_account_confirm": "אתה בטוח שברצונך להרחיק את המשתמש הזה?", "unban_account": "בטל את הרחקת החשבון", "delete_account": "מחק חשבון", - "delete_account_confirm": "אתה בטוח שאתה רוצה למחוק את חשבונך?
פעולה זו לא ניתנת לשחזור ולא תוכל לגשת למידע שלך

הזן את שם המשתמש שלך על מנת לאשר שברצונך למחוק את חשבונך.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "האם אתה בטוח שברצונך למחוק חשבון זה?
אפשרות זו לא ניתנת לביטול ולא תוכל לשחזר אף מידע

", "account-deleted": "החשבון נמחק", "fullname": "שם מלא", @@ -25,7 +26,7 @@ "reputation": "מוניטין", "bookmarks": "מועדפים", "watched": "נצפה", - "ignored": "Ignored", + "ignored": "התעלם", "followers": "עוקבים", "following": "עוקב אחרי", "aboutme": "עליי", @@ -52,7 +53,6 @@ "change_password": "שנה סיסמה", "change_password_error": "סיסמה אינה תקינה!", "change_password_error_wrong_current": "סיסמתך הנוכחית אינה נכונה!", - "change_password_error_length": "הסיסמה קצרה מדי!", "change_password_error_match": "הסיסמאות אינן תואמות!", "change_password_error_privileges": "אין לך את ההרשאות המתאימות לשנות סיסמה זו.", "change_password_success": "הסיסמה שלך עודכנה!", @@ -85,7 +85,7 @@ "has_no_posts": "המשתמש טרם יצר פוסטים כלשהם.", "has_no_topics": "המשתמש טרם יצר נושאים כלשהם.", "has_no_watched_topics": "המשתמש טרם צפה בנושאים כלשהם.", - "has_no_ignored_topics": "This user hasn't ignored any topics yet.", + "has_no_ignored_topics": "המשתמש הזה טרם התעלם מנושאים.", "has_no_upvoted_posts": "המשתמש טרם הצביע בעד פוסטים כלשהם.", "has_no_downvoted_posts": "המשתמש טרם הצביע נגד פוסטים כלשהם.", "has_no_voted_posts": "למשתמש אין פוסטים שהוצבעו", @@ -94,19 +94,19 @@ "paginate_description": "הצג נושאים ופוסטים כדפים במקום כרשימת גלילה אין-סופית", "topics_per_page": "כמות נושאים בעמוד", "posts_per_page": "כמות פוסטים בעמוד", - "max_items_per_page": "Maximum %1", - "acp_language": "Admin Page Language", + "max_items_per_page": "מקסימום %1", + "acp_language": "שפת עמוד המנהל", "notification_sounds": "נגן סאונד כשמתקבלת התראה", "notifications_and_sounds": "התראות וצלילים", "incoming-message-sound": "צליל הודעה נכנסת", "outgoing-message-sound": "צליל הודעה יוצאת", "notification-sound": "צליל הודעה", "no-sound": "ללא צליל", - "upvote-notif-freq": "Upvote Notification Frequency", - "upvote-notif-freq.all": "All Upvotes", - "upvote-notif-freq.everyTen": "Every Ten Upvotes", - "upvote-notif-freq.logarithmic": "On 10, 100, 1000...", - "upvote-notif-freq.disabled": "Disabled", + "upvote-notif-freq": "תדירות התראת הצבעה חיובית", + "upvote-notif-freq.all": "כל ההצבעות החיוביות", + "upvote-notif-freq.everyTen": "כל 10 הצבעות חיוביות", + "upvote-notif-freq.logarithmic": "ב10, 100, 1000...", + "upvote-notif-freq.disabled": "מבוטל", "browsing": "הגדרות צפייה", "open_links_in_new_tab": "פתח קישורים חיצוניים בכרטיסייה חדשה", "enable_topic_searching": "הפעל חיפוש בתוך נושא", @@ -127,9 +127,9 @@ "sso.title": "שירות יחיד להתחברות", "sso.associated": "משוייך עם", "sso.not-associated": "לחץ כאן כדי לשייך", - "sso.dissociate": "Dissociate", - "sso.dissociate-confirm-title": "Confirm Dissociation", - "sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?", + "sso.dissociate": "ביטול שיוך", + "sso.dissociate-confirm-title": "אשר ביטול שיוך", + "sso.dissociate-confirm": "האם אתה בטוח שאתה רוצה לבטל את שיוך החשבון שלך מ%1?", "info.latest-flags": "דיווחים אחרונים", "info.no-flags": "לא נמצאו פוסטים שמשתמשים דיווחו עליהם", "info.ban-history": "היסטוריית הרחקות", diff --git a/public/language/hr/admin/admin.json b/public/language/hr/admin/admin.json index fef743caf9..0f8d4bb33e 100644 --- a/public/language/hr/admin/admin.json +++ b/public/language/hr/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Sigurni ste da želite ponovno pokrenuti NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Sigurni ste da želite ponovno pokrenuti NodeBB?", "acp-title": "%1 | NodeBB Administratorska kontrolna ploča", diff --git a/public/language/hr/admin/appearance/themes.json b/public/language/hr/admin/appearance/themes.json index 593a589aca..5eff189d93 100644 --- a/public/language/hr/admin/appearance/themes.json +++ b/public/language/hr/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Sigurni ste da želite povratiti zadani NodeBB izgled ?", "theme-changed": "Tema promijenjena", "revert-success": "Uspješno ste vratili vaš NodeBB u početno zadanu temu.", - "restart-to-activate": "Ponovno pokrenite NodeBB da bi aktivirali izgled" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/hr/admin/extend/plugins.json b/public/language/hr/admin/extend/plugins.json index de82f07eea..bdbbb3a11d 100644 --- a/public/language/hr/admin/extend/plugins.json +++ b/public/language/hr/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Dodatak deinstaliran", "alert.activate-success": "Pokrenite NodeBB za aktivaciju dodataka", "alert.deactivate-success": "Dodatak uspjepno deaktiviran", - "alert.upgrade-success": "Ponovno pokrenite NodeBB da bi potpuno nadogradili dodatke", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Dodatak instaliran, aktivirajte ga.", "alert.uninstall-success": "Dodatak je uspješno deaktiviran i deinstaliran.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/hr/admin/general/dashboard.json b/public/language/hr/admin/general/dashboard.json index a99edff6ff..5ba33f2584 100644 --- a/public/language/hr/admin/general/dashboard.json +++ b/public/language/hr/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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

", "notices": "Obavijest", "restart-not-required": "Restart nije potreban", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Instalirajte dodatak za pretragu sa stranice za upravljanje dodatcima da aktivirate mogućnost pretrage foruma.", "control-panel": "Kontrola sistema", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Održavanje", diff --git a/public/language/hr/admin/menu.json b/public/language/hr/admin/menu.json index bd1bd8ecad..5dda5c02cb 100644 --- a/public/language/hr/admin/menu.json +++ b/public/language/hr/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Dnevnik", "development/info": "Info", - "reload-forum": "Ponovno učitaj forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "ponovno pokreni forum", "logout": "Odjava", "view-forum": "Pogledaj forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Upiši više da vidiš rezultate ...", "search.start-typing": "Počni pisati da bi vidio rezultate...", - "connection-lost": "Veza sa %1 je prekinuta, pokušavam se spojiti ..." + "connection-lost": "Veza sa %1 je prekinuta, pokušavam se spojiti ...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/hr/admin/settings/advanced.json b/public/language/hr/admin/settings/advanced.json index 3bd50b1a1e..7ed00a89dc 100644 --- a/public/language/hr/admin/settings/advanced.json +++ b/public/language/hr/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Uredi \"Powered by\" zaglavlje koje šalje NodeBB", "headers.acao": "Pristup-Kontrola-Dozvoli-Izvor", "headers.acao-help": "Za zabranu pristupa svim stranicama ostavi prazno", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Upravljanje prometom", diff --git a/public/language/hr/admin/settings/post.json b/public/language/hr/admin/settings/post.json index 0fdff61367..6962bccf7a 100644 --- a/public/language/hr/admin/settings/post.json +++ b/public/language/hr/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Dozvoli dodatcima da dodaju sadržaj u \"Pomoć\"", "composer.custom-help": "Tekst \"Pomoć\"", "ip-tracking": "IP praćenje", - "ip-tracking.each-post": "Prati IP adresu za svaku objavu" + "ip-tracking.each-post": "Prati IP adresu za svaku objavu", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/hr/admin/settings/uploads.json b/public/language/hr/admin/settings/uploads.json index 60d091847e..a9b28e6eba 100644 --- a/public/language/hr/admin/settings/uploads.json +++ b/public/language/hr/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Učini datoteke privatnim", "max-image-width": "Promjeni veličinu slike na zadanu širinu (u pikselima)", "max-image-width-help": "(u pixelima,zadano:760 pixela,upiši 0 za onemogućiti opciju)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maksimalna veličina datoteka (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Dozvoli korisnicima da učitaju sliku teme", diff --git a/public/language/hr/email.json b/public/language/hr/email.json index 87da70889b..d54d73c12c 100644 --- a/public/language/hr/email.json +++ b/public/language/hr/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Administrator je prihvatio vaš zahtjev za registraciju. Možete se prijaviti koristeći svoje korisničko ime i lozinku.", "welcome.cta": "Kliknite ovdje da bi potvrdili email adresu", "invitation.text1": "%1 vas je pozvao da se pridružite %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Kliknite ovdje kako biste stvorili korisnički račun.", "reset.text1": "Dobili smo zahtjev za ponovnim kreiranjem lozinke, vjerojatno jer ste ju zaboravili. Ako niste, molimo vas da ignorirate ovaj email.", "reset.text2": "Da bi nastavili sa ponovnim kreiranjem lozinke, kliknite na ovaj link:", diff --git a/public/language/hr/error.json b/public/language/hr/error.json index 7d4adb6957..ccadc9a3a6 100644 --- a/public/language/hr/error.json +++ b/public/language/hr/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Nije dozvoljeno brisanje ove poruke", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Već ste glasali za ovu objavu", "reputation-system-disabled": "Sistem reputacije onemogućen.", "downvoting-disabled": "Oduzimanje glasova je onemogućeno", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Netočna putanja naslovnice", "invalid-session": "Pogreška sesije", "invalid-session-text": "Vaša sesija nije više aktivna ili se više ne poklapa sa serverom. Molimo osvježite stranicu.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/hr/global.json b/public/language/hr/global.json index 8b0af297a4..30ef7338a5 100644 --- a/public/language/hr/global.json +++ b/public/language/hr/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Saznaj više", "edited": "Uređeno", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/hr/modules.json b/public/language/hr/modules.json index 90a85d3450..5ddeaef2f7 100644 --- a/public/language/hr/modules.json +++ b/public/language/hr/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Razgovaraj sa ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Upišite poruku ovdje, ENTER za slanje", "chat.send": "Pošalji", "chat.no_active": "Nemate aktivnih razgovora.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Nedavni razgovori", "chat.contacts": "Kontakti", "chat.message-history": "Povijest razgovora", + "chat.options": "Chat options", "chat.pop-out": "Pop out razgovor", "chat.minimize": "Smanji", "chat.maximize": "Povećaj", @@ -20,7 +21,17 @@ "chat.three_months": "3 Mjeseca", "chat.delete_message_confirm": "Sigurni ste da želite izbrisati ovu poruku?", "chat.add-users-to-room": "Dodaj korisnike u sobu", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "Korisnik ne želi biti ometan. Jeste li sigurno da mu želite poslati poruku?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Sastavi", "composer.show_preview": "Prikaz", "composer.hide_preview": "Sakrij prikaz", diff --git a/public/language/hr/reset_password.json b/public/language/hr/reset_password.json index a815beb932..dcd6a16478 100644 --- a/public/language/hr/reset_password.json +++ b/public/language/hr/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Potvrdi lozinku", "enter_email": "Unesite Vašu email adresu i poslati ćemo Vam email sa uputstvima kako resetirati lozinku.", "enter_email_address": "Unesite email adresu", - "password_reset_sent": "Poslan je zahtjev za resetiranje lozinke", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Netočan email / email ne postoji!", "password_too_short": "Lozinka koju ste unijeli je prekratka, izaberite drugu lozinku.", "passwords_do_not_match": "Lozinke se ne podudaraju!", diff --git a/public/language/hr/search.json b/public/language/hr/search.json index a2e5fddedd..386e6272e3 100644 --- a/public/language/hr/search.json +++ b/public/language/hr/search.json @@ -5,6 +5,9 @@ "in": "U", "titles": "Naslovi", "titles-posts": "Naslovi i objave", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Objavio", "in-categories": "U kategoriji", "search-child-categories": "Pretraži podkategorije", diff --git a/public/language/hr/topic.json b/public/language/hr/topic.json index 0d8e5e9951..b6ac933e24 100644 --- a/public/language/hr/topic.json +++ b/public/language/hr/topic.json @@ -32,6 +32,7 @@ "moved": "Premješteno", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Klikni ovdje za povratak na zadnji pročitani post.", "flag_title": "Označi ovaj post za zastavom za moderaciju", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Zaključaj temu", "thread_tools.unlock": "Odključaj temu", "thread_tools.move": "Premjesti temu", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Premjesti sve", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Dupliraj temu", @@ -95,6 +97,7 @@ "fork_success": "Uspješno duplirana tema. Kliknite ovdje za dupliranu temu.", "delete_posts_instruction": "Označite objave koje želite obrisati/odbaciti", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Unesite naslov teme ovdje ...", "composer.handle_placeholder": "Ime", "composer.discard": "Odbaci", @@ -121,5 +124,8 @@ "stale.warning": "Tema na koju odgovarate je stara. Želite li otvoriti novu temu i postaviti referencu u vašem odgovoru?", "stale.create": "Otvori novu temu", "stale.reply_anyway": "Odgovori na ovu temu svejedno", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/hr/user.json b/public/language/hr/user.json index df844e0537..05e81b69fa 100644 --- a/public/language/hr/user.json +++ b/public/language/hr/user.json @@ -1,6 +1,7 @@ { "banned": "Blokiran", "offline": "Nije na mreži", + "deleted": "Deleted", "username": "Korisničko ime", "joindate": "Datum prijave", "postcount": "Broj objava", @@ -11,7 +12,7 @@ "ban_account_confirm": "Da li zaista želite blokirati ovog korisnika", "unban_account": "Odblokiraj račun", "delete_account": "Obriši račun", - "delete_account_confirm": "Jeste li sigurni da želite obrisati vaš račun?
Ova radnja je nepovratna i nećete više moći pristupiti vašim podacima

Upišite svoje korisničko ime za potvrdu brisanja računa.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Jeste li sigurni da želite obrisati vaš račun?
Ova radnja je nepovratna i nećete više moći pristupiti vašim podacima

", "account-deleted": "Račun obrisan", "fullname": "Puno ime", @@ -52,7 +53,6 @@ "change_password": "Promjeni lozinku", "change_password_error": "Netočna lozinka!", "change_password_error_wrong_current": "Vaša trenutačna lozinka nije točna!", - "change_password_error_length": "Lozinka prekratka!", "change_password_error_match": "Lozinke se moraju podudarati!", "change_password_error_privileges": "Nemate pravo mijenjati ovu lozinku.", "change_password_success": "Vaša lozinka je promijenjena!", diff --git a/public/language/hu/admin/admin.json b/public/language/hu/admin/admin.json index 5ae73186d4..45e0c13425 100644 --- a/public/language/hu/admin/admin.json +++ b/public/language/hu/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Biztosan újra szeretnéd tölteni a NodeBB-t?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Biztosan újra szeretnéd indítani a NodeBB-t?", "acp-title": "%1 | NodeBB Adminisztrációs vezérlőpult", diff --git a/public/language/hu/admin/appearance/themes.json b/public/language/hu/admin/appearance/themes.json index a70663458b..1f20a193ca 100644 --- a/public/language/hu/admin/appearance/themes.json +++ b/public/language/hu/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Biztos vissza akarod állítani az alapértelmezett NodeBB témát?", "theme-changed": "Téma módosítva", "revert-success": "Sikeresen visszaállítottad a NodeBB alapértelmezett témáját.", - "restart-to-activate": "Kérlek, indítsd újra a NodeBB-t, a téma teljes aktiválásához" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/hu/admin/extend/plugins.json b/public/language/hu/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/hu/admin/extend/plugins.json +++ b/public/language/hu/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/hu/admin/general/dashboard.json b/public/language/hu/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/hu/admin/general/dashboard.json +++ b/public/language/hu/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/hu/admin/menu.json b/public/language/hu/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/hu/admin/menu.json +++ b/public/language/hu/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/hu/admin/settings/advanced.json b/public/language/hu/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/hu/admin/settings/advanced.json +++ b/public/language/hu/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/hu/admin/settings/post.json b/public/language/hu/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/hu/admin/settings/post.json +++ b/public/language/hu/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/hu/admin/settings/uploads.json b/public/language/hu/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/hu/admin/settings/uploads.json +++ b/public/language/hu/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/hu/email.json b/public/language/hu/email.json index 8b64d359da..96ea9c847c 100644 --- a/public/language/hu/email.json +++ b/public/language/hu/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Egy adminisztrátor elfogadta a regisztrációdat. Mostantól a felhasználónév/jelszó párosoddal be tudsz lépni.", "welcome.cta": "Kattints ide az e-mail címed megerősítéséhez", "invitation.text1": "%1 meghívott ide: %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Kattints ide a fiókod létrehozásához.", "reset.text1": "Kaptunk egy kérést jelszavad visszaállítására, valószínűleg azért, mert elfelejtetted azt. Ha ez nem így van, hagyd figyelmen kívül ezt a levelet.", "reset.text2": "A jelszó visszaállításának folytatásához kattints az alábbi linkre:", diff --git a/public/language/hu/error.json b/public/language/hu/error.json index 51f7633347..a888b30d50 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Hírnév funkció kikapcsolva.", "downvoting-disabled": "Leszavazás funkció kikapcsolva", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/hu/global.json b/public/language/hu/global.json index 2bad4c441e..7c502015e2 100644 --- a/public/language/hu/global.json +++ b/public/language/hu/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Tudnivalók", "edited": "Szerkesztett", "disabled": "Letiltva", - "select": "Kiválaszt" + "select": "Kiválaszt", + "user-search-prompt": "Írj be valamit, hogy felhasználókra keress..." } \ No newline at end of file diff --git a/public/language/hu/modules.json b/public/language/hu/modules.json index 41146dab8c..21ffa3a561 100644 --- a/public/language/hu/modules.json +++ b/public/language/hu/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Csevegés vele: ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Ide írd be az üzenetet, majd küldéshez Enter gomb", "chat.send": "Küldés", "chat.no_active": "Nincs aktív csevegésed.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Legutóbbi csevegések", "chat.contacts": "Névjegyzék", "chat.message-history": "Üzenet előzmények", + "chat.options": "Chat options", "chat.pop-out": "Felugró csevegés", "chat.minimize": "Kis méret", "chat.maximize": "Teljes méret", @@ -20,7 +21,17 @@ "chat.three_months": "3 hónap", "chat.delete_message_confirm": "Biztos törölni akarod az üzenetet?", "chat.add-users-to-room": "Felhasználó adása a szobához", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "A felhasználó \"ne zavarj\"-ra állította az állapotukat. Még így is csevegni akarsz velük?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Üzenetírás", "composer.show_preview": "Előnézet megjelenítése", "composer.hide_preview": "Előnézet elrejtése", diff --git a/public/language/hu/reset_password.json b/public/language/hu/reset_password.json index 71e2868191..86d62587ff 100644 --- a/public/language/hu/reset_password.json +++ b/public/language/hu/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Jelszó megerősítése", "enter_email": "Kérlek add meg az e-mail címedet, ahová elküldjük a további teendőket a jelszavad visszaállításával kapcsolatban.", "enter_email_address": "E-mail cím megadása", - "password_reset_sent": "Jelszó visszaállítás elküldve", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Helytelen e-mail cím / Nem létező e-mail cím!", "password_too_short": "A megadott jelszó túl rövid, válassz másik jelszót.", "passwords_do_not_match": "A két megadott jelszó nem egyezik.", diff --git a/public/language/hu/search.json b/public/language/hu/search.json index 18d56dfd0f..802c202ac7 100644 --- a/public/language/hu/search.json +++ b/public/language/hu/search.json @@ -5,6 +5,9 @@ "in": "Itt:", "titles": "Címek", "titles-posts": "Címek és hozzászólások", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Írta", "in-categories": "Kategóriában", "search-child-categories": "Keresés az alkategóriában is", diff --git a/public/language/hu/topic.json b/public/language/hu/topic.json index 13f6628fd8..ce82e636eb 100644 --- a/public/language/hu/topic.json +++ b/public/language/hu/topic.json @@ -32,6 +32,7 @@ "moved": "Áthelyezett", "copy-ip": "IP-cím másolása", "ban-ip": "IP-cím kitiltása", + "view-history": "Edit History", "bookmark_instructions": "Kattints ide a beszélgetés utolsó hozzászólására ugráshoz.", "flag_title": "A hozzászólás jelentése a moderátoroknál", "merged_message": "A témakör következőbe lett összevonva: %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Témakör zárolása", "thread_tools.unlock": "Témakör feloldása", "thread_tools.move": "Témakör áthelyezése", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Mind áthelyezése", "thread_tools.select_category": "Kategória kiválasztása", "thread_tools.fork": "Témakör szétszedése", @@ -95,6 +97,7 @@ "fork_success": "Témakör sikeresen szétválasztva! Kattints ide a szétválasztott témakörre ugráshoz.", "delete_posts_instruction": "Kattints a törlendő/véglegesen törlendő hozzászólásokra", "merge_topics_instruction": "Kattints a összevonandó témakörökre", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Add meg a témakör címét...", "composer.handle_placeholder": "Név", "composer.discard": "Elvet", @@ -121,5 +124,8 @@ "stale.warning": "A témakör, melyre válaszolsz, elég régi. Szeretnél helyette inkább új témakört létrehozni, és erre hivatkozni a válaszodban?", "stale.create": "Új témakör létrehozása", "stale.reply_anyway": "Mindenképp erre a témakörre válaszolás", - "link_back": "Válasz: [%1](%2)" + "link_back": "Válasz: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/hu/user.json b/public/language/hu/user.json index 2849c79774..34844f85ca 100644 --- a/public/language/hu/user.json +++ b/public/language/hu/user.json @@ -1,6 +1,7 @@ { "banned": "Kitiltva", "offline": "Nem elérhető", + "deleted": "Törölve", "username": "Felhasználónév", "joindate": "Regisztráció dátuma", "postcount": "Hozzászólás megtekintés", @@ -11,7 +12,7 @@ "ban_account_confirm": "Biztos ki akarod tiltani a felhasználót?", "unban_account": "Fiók feloldása", "delete_account": "Fiók törlése", - "delete_account_confirm": "Biztosan törölni szeretnéd a fiókodat?
Ez a művelet nem visszafordítható, így ha folytatod, nem tudod majd visszaállítani az adataidat.

A fiókod törlésének megerősítéséhez add meg a felhasználóneved.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Biztosan törölni szeretnéd a fiókodat?
Ez a művelet nem visszafordítható, így ha folytatod, nem tudod majd visszaállítani az adataidat.

", "account-deleted": "Fiók törölve", "fullname": "Teljes név", @@ -52,7 +53,6 @@ "change_password": "Jelszó módosítása", "change_password_error": "Érvénytelen jelszó!", "change_password_error_wrong_current": "A jelenlegi jelszavad nem megfelelő!", - "change_password_error_length": "A jelszó túl rövid!", "change_password_error_match": "A jelszavak nem egyeznek!", "change_password_error_privileges": "Nincs jogod megváltoztatni ezt a jelszót.", "change_password_success": "A jelszavad frissítve!", diff --git a/public/language/id/admin/admin.json b/public/language/id/admin/admin.json index 9325ffcbec..099ca5144c 100644 --- a/public/language/id/admin/admin.json +++ b/public/language/id/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Anda yakin ingin memuat ulang NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Anda yakin ingin mulai ulang NodeBB?", "acp-title": "%1 | Kontrol Panel Admin NodeBB", diff --git a/public/language/id/admin/appearance/themes.json b/public/language/id/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/id/admin/appearance/themes.json +++ b/public/language/id/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/id/admin/extend/plugins.json b/public/language/id/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/id/admin/extend/plugins.json +++ b/public/language/id/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/id/admin/general/dashboard.json b/public/language/id/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/id/admin/general/dashboard.json +++ b/public/language/id/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/id/admin/menu.json b/public/language/id/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/id/admin/menu.json +++ b/public/language/id/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/id/admin/settings/advanced.json b/public/language/id/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/id/admin/settings/advanced.json +++ b/public/language/id/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/id/admin/settings/post.json b/public/language/id/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/id/admin/settings/post.json +++ b/public/language/id/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/id/admin/settings/uploads.json b/public/language/id/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/id/admin/settings/uploads.json +++ b/public/language/id/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/id/email.json b/public/language/id/email.json index a1336b1201..b379815449 100644 --- a/public/language/id/email.json +++ b/public/language/id/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Administrator telah menerima aplikasi pendaftaran anda. Anda dapat masuk dengan username/password anda sekarang", "welcome.cta": "Klik disini untuk mengkonfirmasi alamat email anda.", "invitation.text1": "%1 telah mengundang anda untuk bergabung %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Klik di sini untuk membuat akun anda", "reset.text1": "Kami menerima permintan untuk mengatur ulang kata sandi anda, Ini dikarenakan anda telah lupa akan kata sandi anda. Tolong abaikan email ini jika sebaliknya.", "reset.text2": "Mohon klik link berikut untuk mengatur ulang kata sandi anda.", diff --git a/public/language/id/error.json b/public/language/id/error.json index b0a5eb951d..b44d7293ac 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Sistem reputasi ditiadakan.", "downvoting-disabled": "Downvoting ditiadakan", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/id/global.json b/public/language/id/global.json index f89852cbe5..018973103f 100644 --- a/public/language/id/global.json +++ b/public/language/id/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/id/modules.json b/public/language/id/modules.json index 194e9c7428..e16391cff7 100644 --- a/public/language/id/modules.json +++ b/public/language/id/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Gunakan untuk melakukan percakapan", + "chat.chatting_with": "Chat with", "chat.placeholder": "Tulis pesan percakapan di sini, tekan enter untuk mengirim", "chat.send": "Kirim", "chat.no_active": "Kamu tidak memiliki percakapan yang aktif.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Percakapan terbaru", "chat.contacts": "Kontak", "chat.message-history": "Riwayat Pesan", + "chat.options": "Chat options", "chat.pop-out": "Munculkan pesan", "chat.minimize": "Minimize", "chat.maximize": "Maksimalkan", @@ -20,7 +21,17 @@ "chat.three_months": "3 Bulan", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/id/reset_password.json b/public/language/id/reset_password.json index e221c25026..d5a15c33cc 100644 --- a/public/language/id/reset_password.json +++ b/public/language/id/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Konfirmasi Kata Sandi", "enter_email": "Mohon masukkan alamat emailmu dan kami akan mengirimkan mu sebuah email dengan instruksi mengenai cara pengaturan ulang akunmu.", "enter_email_address": "Masukkan Alamat Email", - "password_reset_sent": "Pengaturan Kembali Kata Sandi telah DIkirim", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Email Salah / Email tidak ada!", "password_too_short": "Password terlalu pendek, silahkan pilih password lain.", "passwords_do_not_match": "Kedua password yang kamu masukkan tidak sama.", diff --git a/public/language/id/search.json b/public/language/id/search.json index f24679fd8a..b479bebbcd 100644 --- a/public/language/id/search.json +++ b/public/language/id/search.json @@ -5,6 +5,9 @@ "in": "Dalam", "titles": "Judul", "titles-posts": "Judul dan Post", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Diposting oleh", "in-categories": "Dalam Kategori", "search-child-categories": "Search child categories", diff --git a/public/language/id/topic.json b/public/language/id/topic.json index d0ec648f01..1d6bd8d57a 100644 --- a/public/language/id/topic.json +++ b/public/language/id/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Tandai posting ini untuk moderasi", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Kunci Topik", "thread_tools.unlock": "Lepas Topik", "thread_tools.move": "Pindah Topik", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Pindah Semua", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Cabangkan Topik", @@ -95,6 +97,7 @@ "fork_success": "Topik berhasil dicabangkan! Klik disini untuk menuju topik yang telah dicabangkan.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Masukkan judul topik di sini...", "composer.handle_placeholder": "Nama", "composer.discard": "Buang", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/id/user.json b/public/language/id/user.json index 358dcd42df..d0e32b0594 100644 --- a/public/language/id/user.json +++ b/public/language/id/user.json @@ -1,6 +1,7 @@ { "banned": "Banned", "offline": "Offline", + "deleted": "Deleted", "username": "Nama Pengguna", "joindate": "Join Date", "postcount": "Post Count", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Hapus Akun", - "delete_account_confirm": "Kamu yakin ingin menghapus akunmu?
Tindakan ini tidak dapat dibatalkan dan kamu tidak dapat mengembalikan seluruh data mu

Masukkan nama pengguna kamu untuk memastikan jika kamu benar-benar ingin menghapus akun ini.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", "fullname": "Nama Lengkap", @@ -52,7 +53,6 @@ "change_password": "Ganti Kata Sandi", "change_password_error": "Kata Sandi Salah!", "change_password_error_wrong_current": "Kata Sandi kamu saat ini salah!", - "change_password_error_length": "Kata Sandi terlalu pendek!", "change_password_error_match": "Kata Sandi harus sesuai!", "change_password_error_privileges": "Kamu tidak memiliki hak untuk mengganti kata sandi ini.", "change_password_success": "Kata Sandi kamu telah diperbarui!", diff --git a/public/language/it/admin/admin.json b/public/language/it/admin/admin.json index edb6aa1389..5ea4312bb1 100644 --- a/public/language/it/admin/admin.json +++ b/public/language/it/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Sei sicuro di voler ricaricare NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Sei sicuro di voler riavviare NodeBB?", "acp-title": "%1 | Pannello di controllo amministratore NodeBB", diff --git a/public/language/it/admin/appearance/themes.json b/public/language/it/admin/appearance/themes.json index 1406bb9276..14ed4639e9 100644 --- a/public/language/it/admin/appearance/themes.json +++ b/public/language/it/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Sei sicuro di voler ripristinare al tema originale di NodeBB?", "theme-changed": "Tema Cambiato", "revert-success": "Hai correttamente ripristinato il tuo NodeBB al tema originale.", - "restart-to-activate": "Perfavore riavvia il tuo NodeBB per attivare correttamente questo tema" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/it/admin/extend/plugins.json b/public/language/it/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/it/admin/extend/plugins.json +++ b/public/language/it/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/it/admin/general/dashboard.json b/public/language/it/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/it/admin/general/dashboard.json +++ b/public/language/it/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/it/admin/menu.json b/public/language/it/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/it/admin/menu.json +++ b/public/language/it/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/it/admin/settings/advanced.json b/public/language/it/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/it/admin/settings/advanced.json +++ b/public/language/it/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/it/admin/settings/post.json b/public/language/it/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/it/admin/settings/post.json +++ b/public/language/it/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/it/admin/settings/uploads.json b/public/language/it/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/it/admin/settings/uploads.json +++ b/public/language/it/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/it/email.json b/public/language/it/email.json index f6fdaef532..04fdf6209b 100644 --- a/public/language/it/email.json +++ b/public/language/it/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Un amministratore ha accettato la tua registrazione. Adesso puoi collegarti con il tuo nome utente/password.", "welcome.cta": "Clicca qui per confermare il tuo indirizzo email", "invitation.text1": "%1 ti ha invitato a entrare in %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Clicca qui per creare il tuo account.", "reset.text1": "Abbiamo ricevuto una richiesta di reset della tua password, probabilmente perché l'hai dimenticata. Se non è così si prega di ignorare questa email.", "reset.text2": "Per confermare il reset della password per favore clicca il seguente link:", diff --git a/public/language/it/error.json b/public/language/it/error.json index 60762dfbf5..be96894a6a 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Non ti è permesso di eliminare questo messaggio", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Hai già votato per questo post", "reputation-system-disabled": "Il sistema di reputazione è disabilitato.", "downvoting-disabled": "Il Downvoting è disabilitato", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Percorso della pagina iniziale non valido", "invalid-session": "Discrepanza della sessione", "invalid-session-text": "Sembra che la tua sessione non sia più attiva, oppure non corrisponde con il server. Per favore ricarica la pagina.", - "no-topics-selected": "Nessuna discussione selezionata!" + "no-topics-selected": "Nessuna discussione selezionata!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/it/global.json b/public/language/it/global.json index fddd53579b..3b023001ac 100644 --- a/public/language/it/global.json +++ b/public/language/it/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Scopri di più", "edited": "Modificato", "disabled": "Disabilitato", - "select": "Seleziona" + "select": "Seleziona", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/it/modules.json b/public/language/it/modules.json index d379688576..84edee1910 100644 --- a/public/language/it/modules.json +++ b/public/language/it/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chatta con ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Inserisci qui il messaggio, premi invio per mandarlo", "chat.send": "Invia", "chat.no_active": "Non hai chat attive.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Chat Recenti", "chat.contacts": "Contatti", "chat.message-history": "Cronologia Messaggi", + "chat.options": "Chat options", "chat.pop-out": "Chat in finestra", "chat.minimize": "Minimizza", "chat.maximize": "Ingrandisci", @@ -20,7 +21,17 @@ "chat.three_months": "3 Mesi", "chat.delete_message_confirm": "Sei sicuro di voler eliminare questo messaggio?", "chat.add-users-to-room": "Aggiungi utenti alla stanza", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "Questo utente ha impostato il suo stato su Non Disturbare. Sei sicuro di voler iniziare una conversazione?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Componi", "composer.show_preview": "Visualizza Anteprima", "composer.hide_preview": "Nascondi Anteprima", diff --git a/public/language/it/reset_password.json b/public/language/it/reset_password.json index f324a0854d..5871494256 100644 --- a/public/language/it/reset_password.json +++ b/public/language/it/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Conferma Password", "enter_email": "Inserisci il tuo indirizzo email e ti invieremo un'email con le istruzioni per resettare il tuo account.", "enter_email_address": "Inserisci l'Indirizzo Email", - "password_reset_sent": "Password Reset Inviata", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Email invalida / L'email non esiste!", "password_too_short": "La password inserita è troppo corta, inserisci una password differente.", "passwords_do_not_match": "Le due password che hai inserito non corrispondono.", diff --git a/public/language/it/search.json b/public/language/it/search.json index dc33a58737..f90c6aeae7 100644 --- a/public/language/it/search.json +++ b/public/language/it/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titoli", "titles-posts": "Titoli e Messaggi", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Pubblicato da", "in-categories": "In Categorie", "search-child-categories": "Cerca nelle sottocategorie", diff --git a/public/language/it/topic.json b/public/language/it/topic.json index fdfbe37c8a..0a020fd26d 100644 --- a/public/language/it/topic.json +++ b/public/language/it/topic.json @@ -32,6 +32,7 @@ "moved": "Spostato", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Clicca qui per tornare all'ultimo post letto in questa discussione.", "flag_title": "Segnala questo post per la moderazione", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Blocca Discussione", "thread_tools.unlock": "Sblocca Discussione", "thread_tools.move": "Sposta Discussione", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Sposta Tutto", "thread_tools.select_category": "Seleziona Categoria", "thread_tools.fork": "Dividi Discussione", @@ -95,6 +97,7 @@ "fork_success": "Topic Diviso con successo ! Clicca qui per andare al Topic Diviso.", "delete_posts_instruction": "Clicca sui post che vuoi cancellare/eliminare", "merge_topics_instruction": "Clicca sulle discussioni che vuoi unire", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Inserisci qui il titolo della discussione...", "composer.handle_placeholder": "Nome", "composer.discard": "Annulla", @@ -121,5 +124,8 @@ "stale.warning": "Il topic al quale stai rispondendo è abbastanza vecchio. Vorresti piuttosto creare un nuovo topic in riferimento a questo nella tua risposta?", "stale.create": "Crea una nuova discussione", "stale.reply_anyway": "Rispondi comunque a questa discussione", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/it/user.json b/public/language/it/user.json index f9de1f2377..bf1f499f9c 100644 --- a/public/language/it/user.json +++ b/public/language/it/user.json @@ -1,6 +1,7 @@ { "banned": "Bannato", "offline": "Non in linea", + "deleted": "Deleted", "username": "Nome Utente", "joindate": "Data di adesione", "postcount": "Numero post", @@ -11,7 +12,7 @@ "ban_account_confirm": "Sei sicuro di voler bannare questo utente?", "unban_account": "Togli il BAN", "delete_account": "Elimina Account", - "delete_account_confirm": "Sei sicuro di voler cancellare il tuo account?
Questa azione è irreversibile e non potrai recuperare nessun dato

Inserisci il tuo username per confermare che vuoi eliminare questo account.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Sei sicuro di voler cancellare questo account?
Questa azione è irreversibile e non potrai recuperare nessun dato

", "account-deleted": "Account eliminato", "fullname": "Nome e Cognome", @@ -52,7 +53,6 @@ "change_password": "Cambia la Password", "change_password_error": "Password non valida!", "change_password_error_wrong_current": "La tua password corrente non è corretta!", - "change_password_error_length": "Password troppo breve!", "change_password_error_match": "Le password devono coincidere!", "change_password_error_privileges": "Non hai il permesso di cambiare questa password.", "change_password_success": "La tua password è stata aggiornata!", diff --git a/public/language/ja/admin/admin.json b/public/language/ja/admin/admin.json index 14297fb32d..76499032d2 100644 --- a/public/language/ja/admin/admin.json +++ b/public/language/ja/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "NodeBBを本当に更新しますか?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "NodeBBを本当に再起動しますか?", "acp-title": "%1| NodeBB管理画面", diff --git a/public/language/ja/admin/appearance/themes.json b/public/language/ja/admin/appearance/themes.json index fdba3b0762..198684fe29 100644 --- a/public/language/ja/admin/appearance/themes.json +++ b/public/language/ja/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "本当にNodeBBのテーマをデフォルトに復元してもよろしいですか?", "theme-changed": "テーマが変更されました", "revert-success": "NodeBBは正常にデフォルトテーマに戻りました。", - "restart-to-activate": "テーマを完全に有効化するためにNodeBBを再起動してください" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/ja/admin/extend/plugins.json b/public/language/ja/admin/extend/plugins.json index 37c6cf37ab..623471ad1e 100644 --- a/public/language/ja/admin/extend/plugins.json +++ b/public/language/ja/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "プラグインはアンインストールされました", "alert.activate-success": "このプラグインを完全にアクティブするためにNodeBBを再起動してください", "alert.deactivate-success": "プラグインは正常に非アクティブ化されました", - "alert.upgrade-success": "このプラグインを完全にアップグレードするためにNodeBBをリロードしてください", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "プラグインは正常にインストールされました。プラグインをアクティブにしてください", "alert.uninstall-success": "プラグインは正常に非アクティブ化とアンインストールされました。", "alert.suggest-error": "

NodeBBはパッケージマネージャに到達できませんでした。最新バージョンのインストールを続行しましたか?

Server returned (%1): %2
", diff --git a/public/language/ja/admin/general/dashboard.json b/public/language/ja/admin/general/dashboard.json index ad906bb52b..6d25cda79e 100644 --- a/public/language/ja/admin/general/dashboard.json +++ b/public/language/ja/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "NodeBB v%1 を実行しています。", "keep-updated": "常に最新のセキュリティパッチとバグ修正のためにNodeBBが最新であることを確認してください。", "up-to-date": "

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

", - "upgrade-available": "

新しいバージョン(v%1) のNodeBBが検出されました。アップグレードを検討してください。

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

これはNodeBBの旧リリースのバージョンです。新しいバージョン(v%1)がリリースされています。アップグレードをご検討ください。

", + "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のプレリリース版です。意図しないバグが発生することがあります。

", "running-in-development": "フォーラムが開発モードで動作しています。フォーラムの動作が脆弱かもしれませんので、管理者に問い合わせてください。", + "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", "notices": "通知", "restart-not-required": "再起動は必要ありません", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "検索機能を有効にするには、プラグインページから検索プラグインをインストールしてください", "control-panel": "システムコントロール", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "メンテナンスモード", diff --git a/public/language/ja/admin/menu.json b/public/language/ja/admin/menu.json index 261aff699b..36b69446a7 100644 --- a/public/language/ja/admin/menu.json +++ b/public/language/ja/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "ロガー", "development/info": "情報", - "reload-forum": "フォーラムを再読み込み", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "フォーラムを再開", "logout": "ログアウト", "view-forum": "フォーラムを表示", @@ -74,5 +74,8 @@ "search.keep-typing": "結果を見るにはもっと入力してください...", "search.start-typing": "結果を見るために入力を開始...", - "connection-lost": "%1への接続が切れたので、再接続しています..." + "connection-lost": "%1への接続が切れたので、再接続しています...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/ja/admin/settings/advanced.json b/public/language/ja/admin/settings/advanced.json index 5bb5d07758..74bf872de6 100644 --- a/public/language/ja/admin/settings/advanced.json +++ b/public/language/ja/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "NodeBBから送信された「Powered By」ヘッダーをカスタマイズする", "headers.acao": "アクセス-制御-有効-原点", "headers.acao-help": "すべてのサイトへのアクセスを拒否する場合、空のままにしておいてください。", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "アクセス-制御-有効-メソッド", "headers.acah": "アクセス-制御-有効-ヘッダー", "traffic-management": "トラフィック管理", diff --git a/public/language/ja/admin/settings/post.json b/public/language/ja/admin/settings/post.json index 82025acaa8..21d504c242 100644 --- a/public/language/ja/admin/settings/post.json +++ b/public/language/ja/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "プラグインがヘルプタブにコンテンツを追加できるようにする", "composer.custom-help": "カスタムヘルプテキスト", "ip-tracking": "IPトラッキング", - "ip-tracking.each-post": "各投稿のトラックIPアドレス" + "ip-tracking.each-post": "各投稿のトラックIPアドレス", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/ja/admin/settings/uploads.json b/public/language/ja/admin/settings/uploads.json index 785016821e..7ae1585d43 100644 --- a/public/language/ja/admin/settings/uploads.json +++ b/public/language/ja/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "アップロードしたファイルを非公開にする", "max-image-width": "画像を指定した幅(ピクセル単位)にリサイズ", "max-image-width-help": "(ピクセル単位、デフォルト:760px、無効にするには0に設定)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "最大ファイルサイズ(KB)", "max-file-size-help": "(キロバイト,デフォルト:2048 KB)", "allow-topic-thumbnails": "ユーザーがスレッドのサムネイルをアップロードできるようにする", diff --git a/public/language/ja/email.json b/public/language/ja/email.json index 73cacee888..b5feab9826 100644 --- a/public/language/ja/email.json +++ b/public/language/ja/email.json @@ -9,6 +9,7 @@ "welcome.text3": "管理者があなたの登録申請を承認しました。これから、自分のユーザ名とパスワードでログインできます。", "welcome.cta": "ここをクリックしてメールアドレスの確認を行ってください", "invitation.text1": "%1さんがあなたを%2に招待しました", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "アカウントを作成するにはここをクリックしてください。", "reset.text1": "パスワードリセットのリクエストを受け付けました。リクエストしていない場合はこのメールは無視してください。", "reset.text2": "パスワードをリセットするには、次のリンクにクリックしてください:", diff --git a/public/language/ja/error.json b/public/language/ja/error.json index 04ad421401..0ebbf58a10 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "あなたはこのメッセージを削除する権限を持っていません。", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "あなたはすでにこの投稿を評価しました。", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", @@ -142,5 +144,6 @@ "invalid-home-page-route": "ホームページのルートが無効", "invalid-session": "セッションの不一致", "invalid-session-text": "ログインセッションの期限切れ、またはサーバーとの未接続が長すぎると思われます。このページを更新してみてください。", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/ja/global.json b/public/language/ja/global.json index d6168654d4..9a8be0a062 100644 --- a/public/language/ja/global.json +++ b/public/language/ja/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "もっと詳しく", "edited": "編集されました", "disabled": "無効", - "select": "選択" + "select": "選択", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/ja/modules.json b/public/language/ja/modules.json index 80da09030e..d65fa22273 100644 --- a/public/language/ja/modules.json +++ b/public/language/ja/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "さんとチャットする", + "chat.chatting_with": "Chat with", "chat.placeholder": "メッセージを入力し、Enterで送信", "chat.send": "送信", "chat.no_active": "チャットはありません。", @@ -12,6 +12,7 @@ "chat.recent-chats": "最近のチャット", "chat.contacts": "お問い合わせ", "chat.message-history": "メッセージ履歴", + "chat.options": "Chat options", "chat.pop-out": "チャットを別ウィンドウで表示する", "chat.minimize": "最小化", "chat.maximize": "最大化", @@ -20,7 +21,17 @@ "chat.three_months": "3ヶ月", "chat.delete_message_confirm": "本当にこのメッセージを削除しますか?", "chat.add-users-to-room": "部屋にユーザーを追加", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "このユーザーのステータスはDnD(Do not disturb:取り込み中)に設定されています。あなたはまだチャットしたいですか?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "構成", "composer.show_preview": "プレビュー表示", "composer.hide_preview": "プレビュー非表示", diff --git a/public/language/ja/reset_password.json b/public/language/ja/reset_password.json index 143dc61ff5..ad01892b5c 100644 --- a/public/language/ja/reset_password.json +++ b/public/language/ja/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "パスワードを再入力", "enter_email": "メールアドレスを入力してください。パスワードをリセットする方法をメールで送信します。", "enter_email_address": "メールアドレスを入力してください", - "password_reset_sent": "パスワードリセットのメールを送信しました", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "このメールアドレスは存在しません", "password_too_short": "パスワードが短すぎますので、違うパスワードを選んでください。", "passwords_do_not_match": "パスワードが一致しません。", diff --git a/public/language/ja/search.json b/public/language/ja/search.json index cd72314897..228a58ea05 100644 --- a/public/language/ja/search.json +++ b/public/language/ja/search.json @@ -5,6 +5,9 @@ "in": "検索範囲", "titles": "タイトル", "titles-posts": "タイトルと投稿", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "投稿者:", "in-categories": "カテゴリ", "search-child-categories": "チャイルドカテゴリを検索する", diff --git a/public/language/ja/topic.json b/public/language/ja/topic.json index 6d5a3f7ac0..ed9dc843a5 100644 --- a/public/language/ja/topic.json +++ b/public/language/ja/topic.json @@ -32,6 +32,7 @@ "moved": "移動しました", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "ここをクリックすると、このスレッドの最後に読んでいた投稿へ移動します。", "flag_title": "問題を報告する", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "スレッドをロック", "thread_tools.unlock": "スレッドをアンロック", "thread_tools.move": "スレッドを移動", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "すべてを移動", "thread_tools.select_category": "カテゴリを選択", "thread_tools.fork": "スレッドをフォーク", @@ -95,6 +97,7 @@ "fork_success": "スレッドをフォークするのに成功しました。ここを押して、このフォークしたスレッドに行きます。", "delete_posts_instruction": "削除または切り離するには、当てはまる投稿を押してください", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "スレッドのタイトルを入力...", "composer.handle_placeholder": "名前", "composer.discard": "破棄する", @@ -121,5 +124,8 @@ "stale.warning": "あなたが返信しようとしてるスレッドが古いスレッドです。新しいスレッドを作って、そしてこのスレッドが参考として入れた方を勧めます。そうしますか?", "stale.create": "新しいスレッドを作ります。", "stale.reply_anyway": "とにかく、このスレッドに返信します", - "link_back": "返信: [%1](%2)" + "link_back": "返信: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/ja/user.json b/public/language/ja/user.json index 8b85ec188d..5b79785ce8 100644 --- a/public/language/ja/user.json +++ b/public/language/ja/user.json @@ -1,6 +1,7 @@ { "banned": "BANされた", "offline": "オフライン", + "deleted": "Deleted", "username": "ユーザー名", "joindate": "参加日", "postcount": "投稿数", @@ -11,7 +12,7 @@ "ban_account_confirm": "本当にこのユーザーをBANしますか?", "unban_account": "禁止アカウント解除します", "delete_account": "アカウント削除します", - "delete_account_confirm": "本当に自分のアカウントを削除しますか?
これは、あなたのデータをすべて削除することになります。

続けるには自分のユーザー名を入力してください。", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "本当にこのアカウントを削除しますか?
実行するとアカウントのデータは全て削除されます。

", "account-deleted": "アカウントが解除されました", "fullname": "フルネーム", @@ -52,7 +53,6 @@ "change_password": "パスワードを変更", "change_password_error": "無効のパスワード!", "change_password_error_wrong_current": "現在のパスワードは正しくありません!", - "change_password_error_length": "パスワードが短過ぎです!", "change_password_error_match": "パスワードは一致しません!", "change_password_error_privileges": "パスワードを更新する権限はありません。", "change_password_success": "パスワードを更新しました!", diff --git a/public/language/ko/admin/admin.json b/public/language/ko/admin/admin.json index 866b8eee28..cb8c6555df 100644 --- a/public/language/ko/admin/admin.json +++ b/public/language/ko/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "NodeBB를 새로 고침 하시겠습니까?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "NodeBB를 다시 시작하시겠습니까?", "acp-title": "%1 | NodeBB 관리자 제어판", diff --git a/public/language/ko/admin/appearance/customise.json b/public/language/ko/admin/appearance/customise.json index 7fc83ddd50..72daf9fc13 100644 --- a/public/language/ko/admin/appearance/customise.json +++ b/public/language/ko/admin/appearance/customise.json @@ -1,9 +1,9 @@ { - "custom-css": "Custom CSS/LESS", - "custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.", - "custom-css.enable": "Enable Custom CSS/LESS", + "custom-css": "사용자 정의 CSS/LESS ", + "custom-css.description": "사용자 정의 CSS/LESS 코드를 입력하세요. 모든 스타일 다음에 적용됩니다.", + "custom-css.enable": "사용자 정의 CSS/LESS 활성화", - "custom-js": "Custom Javascript", + "custom-js": "사용자 정의 javascript", "custom-js.description": "Enter your own javascript here. It will be executed after the page is loaded completely.", "custom-js.enable": "Enable Custom Javascript", diff --git a/public/language/ko/admin/appearance/themes.json b/public/language/ko/admin/appearance/themes.json index 0cfebc6430..893835ce29 100644 --- a/public/language/ko/admin/appearance/themes.json +++ b/public/language/ko/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "정말 기본 NodeBB 테마로 복원하시겠습니까?", "theme-changed": "테마 변경 완료", "revert-success": "성공적으로 기본 NodeBB 테마로 복원됐습니다.", - "restart-to-activate": "변경된 테마를 완전히 활성화시키기 위해 NodeBB를 다시 시작해주십시오" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/ko/admin/extend/plugins.json b/public/language/ko/admin/extend/plugins.json index e0d0a38c2c..e656687cc9 100644 --- a/public/language/ko/admin/extend/plugins.json +++ b/public/language/ko/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "플러그인이 제거됐습니다.", "alert.activate-success": "이 플러그인을 완전히 활성화하려면 NodeBB를 다시 시작해주십시오.", "alert.deactivate-success": "플러그인이 성공적으로 비활성화됐습니다.", - "alert.upgrade-success": "이 플러그인을 완전히 업그레이드 시키려면 NodeBB를 다시 로드해주십시오.", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "플러그인이 성공적으로 설치됐습니다. 플러그인을 활성화 해주십시오.", "alert.uninstall-success": "플러그인이 성공적으로 비활성화되고 삭제됐습니다.", "alert.suggest-error": "

NodeBB가 페키지 매니저 접근에 실패하였습니다. 최신 버젼을 설치하시겠습니까?

서버의 응답 (%1):%2
", diff --git a/public/language/ko/admin/general/dashboard.json b/public/language/ko/admin/general/dashboard.json index 4202595668..826e8f808b 100644 --- a/public/language/ko/admin/general/dashboard.json +++ b/public/language/ko/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "NodeBB v%1 를 사용 중입니다.", "keep-updated": "사용하시는 NodeBB의 보안 및 오류 업데이트를 항상 최신 버젼으로 유지하십시오.", "up-to-date": "

최신 버전입니다

", - "upgrade-available": "

새로운 버전 (v%1)이 나왔습니다. NodeBB 업데이트가 가능합니다.

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

NodeBB의 시험판을 사용중입니다. 새 버전 (v%1)이 출시되었습니다. NodeBB 업데이트를 하세요.

", + "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 입니다. 예상치 못한 버그가 발생할 수 있습니다.

", "running-in-development": "포럼이 개발자 모드로 실행되고 있습니다. 잠재적 취약점에 노출되어 있을 수 있으니 시스템 관리자에게 문의하십시오.", + "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", "notices": "알림", "restart-not-required": "재시작 필요 없음", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "검색 기능을 활성화하시려면 플러그인 페이지에서 검색 플러그인을 설치하세요.", "control-panel": "시스템 제어", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "점검 모드", diff --git a/public/language/ko/admin/manage/users.json b/public/language/ko/admin/manage/users.json index bac6329a8a..f958abc2a6 100644 --- a/public/language/ko/admin/manage/users.json +++ b/public/language/ko/admin/manage/users.json @@ -1,5 +1,5 @@ { - "users": "유저", + "users": "사용자", "edit": "편집", "make-admin": "관리자로 만들기", "remove-admin": "관리자 제거", diff --git a/public/language/ko/admin/menu.json b/public/language/ko/admin/menu.json index b3a30e673b..d25d8e398a 100644 --- a/public/language/ko/admin/menu.json +++ b/public/language/ko/admin/menu.json @@ -11,7 +11,7 @@ "manage/categories": "게시판", "manage/privileges": "Privileges", "manage/tags": "태그", - "manage/users": "용자", + "manage/users": "사용자", "manage/admins-mods": "Admins & Mods", "manage/registration": "회원 가입 승인 대기자", "manage/post-queue": "게시 대기열", @@ -63,7 +63,7 @@ "development/logger": "로거", "development/info": "정보", - "reload-forum": "포럼 리로드", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "포럼 재시작", "logout": "로그아웃", "view-forum": "포럼 보기", @@ -74,5 +74,8 @@ "search.keep-typing": "검색 결과를 보기 위해 더 입력하세요...", "search.start-typing": "검색 결과를 보기 위해 여기 입력하세요...", - "connection-lost": "%1과의 연결이 끊어졌습니다. 다시 연결을 시도하는 중입니다..." + "connection-lost": "%1과의 연결이 끊어졌습니다. 다시 연결을 시도하는 중입니다...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/ko/admin/settings/advanced.json b/public/language/ko/admin/settings/advanced.json index b9617e8882..05cf0089ec 100644 --- a/public/language/ko/admin/settings/advanced.json +++ b/public/language/ko/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "NodeBB 의 \"Powered By\" 를 커스터마이징하기", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "모든 사이트에 접근을 거부하시려면, 빈칸으로 남기세요", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "트래픽 관리", diff --git a/public/language/ko/admin/settings/guest.json b/public/language/ko/admin/settings/guest.json index bc0d920595..48bae6788e 100644 --- a/public/language/ko/admin/settings/guest.json +++ b/public/language/ko/admin/settings/guest.json @@ -4,5 +4,5 @@ "handles.enabled-help": "이 옵션은 게스트들이 포스트를 작성할 때 이름을 적는 공간을 제공합니다. 이 옵션이 비활성화 돼있다면 \"Guest\" 라고 표시될 것입니다.", "privileges": "게스트 권한", "privileges.can-search": "로그인 없이 검색 허용", - "privileges.can-search-users": "로그인 없이 유저 검색 허용" + "privileges.can-search-users": "로그인 없이 사용자 검색 허용" } \ No newline at end of file diff --git a/public/language/ko/admin/settings/post.json b/public/language/ko/admin/settings/post.json index e2552f4ec7..7d3cea3e49 100644 --- a/public/language/ko/admin/settings/post.json +++ b/public/language/ko/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "플러그인이 도움말 탭에 내용 추가하는 것을 허용", "composer.custom-help": "사용자 설정 \"도움말\" 내용", "ip-tracking": "IP 추적", - "ip-tracking.each-post": "모든 글의 IP 주소 추적" + "ip-tracking.each-post": "모든 글의 IP 주소 추적", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/ko/admin/settings/uploads.json b/public/language/ko/admin/settings/uploads.json index 047eae9345..c693791094 100644 --- a/public/language/ko/admin/settings/uploads.json +++ b/public/language/ko/admin/settings/uploads.json @@ -1,9 +1,11 @@ { "posts": "게시물", - "allow-files": "유저들이 보통 파일들을 업로드하는것을 허용", + "allow-files": "사용자가 (이미지가 아닌) 일반 파일을 업로드하는것을 허용", "private": "업로드된 파일들을 개인만 볼 수 있게 바꿉니다.", "max-image-width": "이미지를 특정 가로 길이까지 축소 (단위: 픽셀)", "max-image-width-help": "(단위: 픽셀, 기본값: 760 픽셀, 비활성화를 원하시면 0으로 지정하세요)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "최대 파일 사이즈(KB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "사용자들이 게시물 썸네일을 업로드 하는것을 허용", diff --git a/public/language/ko/admin/settings/user.json b/public/language/ko/admin/settings/user.json index de9ca6f34f..b219d71a22 100644 --- a/public/language/ko/admin/settings/user.json +++ b/public/language/ko/admin/settings/user.json @@ -2,7 +2,7 @@ "authentication": "로그인", "allow-local-login": "로컬 로그인 허용", "require-email-confirmation": "이메일 인증 필수화", - "email-confirm-interval": "유저는 인증 이메일을 전송할 수 없습니다:", + "email-confirm-interval": "다음의 경우 사용자는 인증 이메일을 재전송할 수 없습니다:", "email-confirm-email2": "분 후", "allow-login-with": "로그인 허용 수단", "allow-login-with.username-email": "사용자명 또는 이메일", diff --git a/public/language/ko/email.json b/public/language/ko/email.json index e0d56d6fc9..c13dfe3747 100644 --- a/public/language/ko/email.json +++ b/public/language/ko/email.json @@ -9,6 +9,7 @@ "welcome.text3": "관리자에 의해 승인되었습니다. 사용자명/비밀번호를 통해 지금 로그인 하실 수 있습니다.", "welcome.cta": "메일 주소를 확인하려면 여기를 클릭하세요.", "invitation.text1": "%1님이 %2에 귀하를 초대하였습니다.", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "이곳을 클릭하여 계정을 생성하세요.", "reset.text1": "비밀번호 재설정 요청을 받았습니다. 비밀번호를 분실해서 요청한 것이 아니라면 이 메일을 무시하셔도 좋습니다.", "reset.text2": "비밀번호를 재설정하려면 다음 링크를 클릭하세요.", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 55a120e2d1..2a6640bba8 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "이 메세지를 삭제할 권한이 없습니다.", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "이미 이 포스트에 투표하셨습니다.", "reputation-system-disabled": "인지도 시스템이 비활성 상태입니다.", "downvoting-disabled": "비추천 기능이 비활성 상태입니다.", @@ -142,5 +144,6 @@ "invalid-home-page-route": "올바르지 않은 홈페이지 경로입니다. ", "invalid-session": "일치하지 않는 세션입니다.", "invalid-session-text": "로그인 세션이 비활성화 되었거나 서버와 일치하지 않습니다. 페이지를 새로 고쳐주세요.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/ko/global.json b/public/language/ko/global.json index 6937733f1d..90ef0e1d90 100644 --- a/public/language/ko/global.json +++ b/public/language/ko/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "더 보기", "edited": "수정 되었습니다.", "disabled": "비활성화", - "select": "선택" + "select": "선택", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/ko/modules.json b/public/language/ko/modules.json index 521e73bed6..66440e5400 100644 --- a/public/language/ko/modules.json +++ b/public/language/ko/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": " 님과의 채팅", + "chat.chatting_with": "Chat with", "chat.placeholder": "메시지를 여기에 입력한 후 엔터를 눌러 전송하세요.", "chat.send": "전송", "chat.no_active": "활성화된 채팅이 없습니다.", @@ -12,6 +12,7 @@ "chat.recent-chats": "최근 채팅", "chat.contacts": "연락처", "chat.message-history": "대화 기록", + "chat.options": "Chat options", "chat.pop-out": "분리된 창에서 채팅", "chat.minimize": "최소화", "chat.maximize": "최대화", @@ -20,7 +21,17 @@ "chat.three_months": "3개월", "chat.delete_message_confirm": "이 메세지를 삭제 하시겠습니까?", "chat.add-users-to-room": "사용자 추가하기", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "이 사용자의 상태는 \"방해금지\" 입니다. 그래도 대화를 요청 하시겠습니까?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "작성", "composer.show_preview": "미리보기", "composer.hide_preview": "미리보기 숨김", diff --git a/public/language/ko/reset_password.json b/public/language/ko/reset_password.json index 98e774c668..7b32496822 100644 --- a/public/language/ko/reset_password.json +++ b/public/language/ko/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "패스워드 확인", "enter_email": "이메일 주소를 입력하면 패스워드를 재설정하는 방법을 메일로 알려드립니다.", "enter_email_address": "이메일 주소를 입력하세요.", - "password_reset_sent": "패스워드 재설정 이메일이 발송되었습니다.", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "올바르지 않거나 가입되지 않은 이메일입니다.", "password_too_short": "입력한 패스워드가 너무 짧습니다, 다시 입력하세요.", "passwords_do_not_match": "패스워드와 패스워드 확인이 일치하지 않습니다.", diff --git a/public/language/ko/search.json b/public/language/ko/search.json index 41d207e08c..a5108ffd55 100644 --- a/public/language/ko/search.json +++ b/public/language/ko/search.json @@ -5,6 +5,9 @@ "in": "검색 기준", "titles": "제목", "titles-posts": "제목과 내용", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "작성자", "in-categories": "게시판 지정", "search-child-categories": "하위 게시판도 검색", diff --git a/public/language/ko/topic.json b/public/language/ko/topic.json index 404f164e45..8da7b61d19 100644 --- a/public/language/ko/topic.json +++ b/public/language/ko/topic.json @@ -32,6 +32,7 @@ "moved": "이동된 게시물", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "이 스레드에서 읽은 마지막 포스트로 이동하시려면 여기를 클릭 하세요.", "flag_title": "이 포스트를 신고", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "잠금", "thread_tools.unlock": "잠금 해제", "thread_tools.move": "이동", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "모두 이동", "thread_tools.select_category": "게시판 선택", "thread_tools.fork": "주제 분리", @@ -95,6 +97,7 @@ "fork_success": "게시물이 분리되었습니다! 분리된 게시물을 보려면 여기를 클릭 하세요.", "delete_posts_instruction": "삭제할 포스트를 선택하세요.", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "게시물 제목을 입력하세요.", "composer.handle_placeholder": "이름", "composer.discard": "취소", @@ -121,5 +124,8 @@ "stale.warning": "현재 답글을 작성중인 게시물은 오래전에 작성 되었습니다. 새로 게시물을 생성하시고 이 게시물을 인용 하시겠습니까?", "stale.create": "새로운 게시물 작성", "stale.reply_anyway": "이 게시물에 답글 작성", - "link_back": "답글: [%1](%2)" + "link_back": "답글: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/ko/user.json b/public/language/ko/user.json index f2a59dd2bc..e2de0544e5 100644 --- a/public/language/ko/user.json +++ b/public/language/ko/user.json @@ -1,6 +1,7 @@ { "banned": "차단된 계정", "offline": "오프라인", + "deleted": "삭제된 계정", "username": "사용자 이름", "joindate": "가입일", "postcount": "포스트 수", @@ -11,7 +12,7 @@ "ban_account_confirm": "이 사용자를 차단하시겠습니까?", "unban_account": "차단 해제", "delete_account": "계정 삭제", - "delete_account_confirm": "정말 계정을 삭제 하시겠습니까?
이 동작은 되돌릴 수 없으며 삭제된 데이터도 복구할 수 없습니다.

계정 삭제를 원하면 사용자 이름을 입력하세요.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "정말 계정을 삭제 하시겠습니까?
이 행동은 되돌릴 수 없으며 삭제된 사용자 정보도 복구할 수 없습니다.

", "account-deleted": "계정이 삭제 되었습니다", "fullname": "이름", @@ -25,7 +26,7 @@ "reputation": "등급", "bookmarks": "즐겨찾기", "watched": "관심있는 게시물", - "ignored": "Ignored", + "ignored": "무시됨", "followers": "팔로워", "following": "팔로잉", "aboutme": "자기소개", @@ -52,7 +53,6 @@ "change_password": "비밀번호 변경", "change_password_error": "올바르지 않은 비밀번호입니다!", "change_password_error_wrong_current": "현재 비밀번호가 일치하지 않습니다!", - "change_password_error_length": "비밀번호가 너무 짧습니다!", "change_password_error_match": "재입력한 비밀번호가 새 비밀번호와 일치하지 않습니다!", "change_password_error_privileges": "비밀번호를 바꿀 권한이 없습니다.", "change_password_success": "비밀번호를 변경했습니다.", @@ -85,7 +85,7 @@ "has_no_posts": "이 사용자가 작성한 포스트가 없습니다.", "has_no_topics": "이 사용자가 작성한 게시물이 없습니다.", "has_no_watched_topics": "이 사용자가 관심 목록에 추가한 게시물이 없습니다.", - "has_no_ignored_topics": "This user hasn't ignored any topics yet.", + "has_no_ignored_topics": "이 사용자는 아직 무시 중인 게시물이 없습니다.", "has_no_upvoted_posts": "이 사용자가 추천한 포스트가 없습니다.", "has_no_downvoted_posts": "이 사용자가 비추천한 포스트가 없습니다.", "has_no_voted_posts": "평가받은 게시물이 없습니다.", @@ -95,18 +95,18 @@ "topics_per_page": "페이지 당 게시물 수", "posts_per_page": "페이지 당 포스트 수", "max_items_per_page": "최대 %1 ", - "acp_language": "Admin Page Language", + "acp_language": "관리 페이지 언어", "notification_sounds": "알림 수신시 소리로 알려주기", "notifications_and_sounds": "알림 / 알림음 설정", "incoming-message-sound": "수신 메시지 알림음", "outgoing-message-sound": "발신 메시지 알림음", "notification-sound": "알림음", "no-sound": "음소거", - "upvote-notif-freq": "Upvote Notification Frequency", - "upvote-notif-freq.all": "All Upvotes", - "upvote-notif-freq.everyTen": "Every Ten Upvotes", - "upvote-notif-freq.logarithmic": "On 10, 100, 1000...", - "upvote-notif-freq.disabled": "Disabled", + "upvote-notif-freq": "추천 알림 빈도", + "upvote-notif-freq.all": "모든 추천에 알림 사용", + "upvote-notif-freq.everyTen": "열 개의 추천마다 알림", + "upvote-notif-freq.logarithmic": "10, 100, 1000개 마다...", + "upvote-notif-freq.disabled": "비활성화", "browsing": "브라우징 설정", "open_links_in_new_tab": "외부 링크를 새로운 탭에서 열람", "enable_topic_searching": "게시물 내 검색 허용", @@ -127,9 +127,9 @@ "sso.title": "통합 인증 서비스", "sso.associated": "와/과 연동된", "sso.not-associated": "이 곳을 클릭하여 연동시키세요.", - "sso.dissociate": "Dissociate", - "sso.dissociate-confirm-title": "Confirm Dissociation", - "sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?", + "sso.dissociate": "계정 분리", + "sso.dissociate-confirm-title": "계정 분리를 확정하기", + "sso.dissociate-confirm": "%1 로부터 계정을 분리하시겠습니까?", "info.latest-flags": "최근에 들어온 신고", "info.no-flags": "신고된 포스트가 없습니다.", "info.ban-history": "최근 차단 히스토리", diff --git a/public/language/lt/admin/admin.json b/public/language/lt/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/lt/admin/admin.json +++ b/public/language/lt/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/lt/admin/appearance/themes.json b/public/language/lt/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/lt/admin/appearance/themes.json +++ b/public/language/lt/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/lt/admin/extend/plugins.json b/public/language/lt/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/lt/admin/extend/plugins.json +++ b/public/language/lt/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/lt/admin/general/dashboard.json b/public/language/lt/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/lt/admin/general/dashboard.json +++ b/public/language/lt/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/lt/admin/menu.json b/public/language/lt/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/lt/admin/menu.json +++ b/public/language/lt/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/lt/admin/settings/advanced.json b/public/language/lt/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/lt/admin/settings/advanced.json +++ b/public/language/lt/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/lt/admin/settings/post.json b/public/language/lt/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/lt/admin/settings/post.json +++ b/public/language/lt/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/lt/admin/settings/uploads.json b/public/language/lt/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/lt/admin/settings/uploads.json +++ b/public/language/lt/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/lt/email.json b/public/language/lt/email.json index 36e50d1fcc..ff2774525d 100644 --- a/public/language/lt/email.json +++ b/public/language/lt/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Administratorius priemė jūsų prašymą prisijungti prie mūsų. Dabar galite prisijungti su savo slapyvardžiu/slaptažodžiu", "welcome.cta": "El. adreso patvirtinimui spauskite čia", "invitation.text1": "%1 pakvietė tave prisijungti į %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Spauskite čia kad susikurtumėte paskyrą", "reset.text1": "Mes, gavome prašymą atstatyti jūsų slaptažodį, tikriausiai jūs jį pamiršote. Jeigu problema ne tame, prašome ignoruoti šį laišką", "reset.text2": "Kad tęsti slaptažodžio atstatymą, prašome paspausti šią nuorodą", diff --git a/public/language/lt/error.json b/public/language/lt/error.json index b3688f2b43..2ecded1078 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputacijos sistema išjungta.", "downvoting-disabled": "Downvoting yra išjungtas", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/lt/global.json b/public/language/lt/global.json index 568836bbed..629b49a561 100644 --- a/public/language/lt/global.json +++ b/public/language/lt/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/lt/modules.json b/public/language/lt/modules.json index 0e102bc984..d48189e09a 100644 --- a/public/language/lt/modules.json +++ b/public/language/lt/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Susirašinėti su ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Įrašykite žinutę čia ir spauskite \"enter\" norėdami išsiųsti", "chat.send": "Siųsti", "chat.no_active": "Jūs neturite aktyvių susirašinėjimų.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Paskutiniai susirašinėjimai", "chat.contacts": "Kontaktai", "chat.message-history": "Žinučių istorija", + "chat.options": "Chat options", "chat.pop-out": "Iššokančio lango pokalbiai", "chat.minimize": "Minimize", "chat.maximize": "Padininti", @@ -20,7 +21,17 @@ "chat.three_months": "3 mėnesiai", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Sukomponuoti", "composer.show_preview": "Rodyti pavyzdį", "composer.hide_preview": "Slėpti pavyzdį", diff --git a/public/language/lt/reset_password.json b/public/language/lt/reset_password.json index 6c2b1a11cf..839da14155 100644 --- a/public/language/lt/reset_password.json +++ b/public/language/lt/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Patvirtinkite slaptažodį", "enter_email": "Prašome įrašyti el. pašto adresą ir mes atsiųsime jums instrukciją, kaip atstatyti jūsų paskyrą.", "enter_email_address": "Įrašykite el. pašto adresą", - "password_reset_sent": "Slaptažodžio atstatymas išsiųstas", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Klaidingas arba neegzistuojantis el. pašto adresas!", "password_too_short": "Įvestas slaptažodis yra per trumpas, prašome pasirinkti kitą slaptažodį.", "passwords_do_not_match": "Du slaptažodžiai, kuriuos įvedėte, nesutampa.", diff --git a/public/language/lt/search.json b/public/language/lt/search.json index a415b1e30b..30e3f8772f 100644 --- a/public/language/lt/search.json +++ b/public/language/lt/search.json @@ -5,6 +5,9 @@ "in": "Į", "titles": "Antraštės", "titles-posts": "Antraštės ir įrašai", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Parašė", "in-categories": "Kategorijose", "search-child-categories": "Ieškoti vaikų kategorijas", diff --git a/public/language/lt/topic.json b/public/language/lt/topic.json index 515c975e44..c54eac2791 100644 --- a/public/language/lt/topic.json +++ b/public/language/lt/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Pažymėti ši pranešimą moderatoriams", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Užrakinti temą", "thread_tools.unlock": "Atrakinti temą", "thread_tools.move": "Perkelti temą", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Perkelti visus", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Išskaidyti temą", @@ -95,6 +97,7 @@ "fork_success": "Sėkmingai išsišakota iš temos! Spausk čia kad nueitu į išsišakota temą", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Įrašykite temos pavadinimą...", "composer.handle_placeholder": "Vardas ir pavardė", "composer.discard": "Atšaukti", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/lt/user.json b/public/language/lt/user.json index 617f4ed59e..bd65908005 100644 --- a/public/language/lt/user.json +++ b/public/language/lt/user.json @@ -1,6 +1,7 @@ { "banned": "Užblokuotas", "offline": "Atsijungęs", + "deleted": "Deleted", "username": "Vartotojo vardas", "joindate": "Prisijungimo data", "postcount": "Įrašų kiekis", @@ -11,7 +12,7 @@ "ban_account_confirm": "Jūs tikrai norite užblokuoti šį vartotoją?", "unban_account": "Atblokuoti Paskyrą", "delete_account": "Ištrinti paskyrą", - "delete_account_confirm": "Ar tikrai norite ištrinti savo paskyrą?
Šis veiksmas yra negrįžtamas, ir jūs negalėsite susigrąžinti jokių duomenų

Įveskite savo vardą, kad patvirtintumėte, jog norite panaikinti šią paskyrą.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Ar jūs tikrai norite ištrint šią paskyrą?
Šis veiksmas nebesugražinamas ir jūs nebegalėsite atgauti jokių duomenų

", "account-deleted": "Paskyra ištrinta", "fullname": "Vardas ir pavardė", @@ -52,7 +53,6 @@ "change_password": "Pakeisti slaptažodį", "change_password_error": "Negalimas slaptažodis!", "change_password_error_wrong_current": "Jūsų dabartinis slaptažodis neteisingas!", - "change_password_error_length": "Slaptažodis per trumpas!", "change_password_error_match": "Slaptažodžiai privalo sutapti!", "change_password_error_privileges": "Jūs neturite teisių pakeisti šį slaptažodį.", "change_password_success": "Jūsų slaptažodis atnaujintas!", diff --git a/public/language/ms/admin/admin.json b/public/language/ms/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/ms/admin/admin.json +++ b/public/language/ms/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/ms/admin/appearance/themes.json b/public/language/ms/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/ms/admin/appearance/themes.json +++ b/public/language/ms/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/ms/admin/extend/plugins.json b/public/language/ms/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/ms/admin/extend/plugins.json +++ b/public/language/ms/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/ms/admin/general/dashboard.json b/public/language/ms/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/ms/admin/general/dashboard.json +++ b/public/language/ms/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/ms/admin/menu.json b/public/language/ms/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/ms/admin/menu.json +++ b/public/language/ms/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/ms/admin/settings/advanced.json b/public/language/ms/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/ms/admin/settings/advanced.json +++ b/public/language/ms/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/ms/admin/settings/post.json b/public/language/ms/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/ms/admin/settings/post.json +++ b/public/language/ms/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/ms/admin/settings/uploads.json b/public/language/ms/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/ms/admin/settings/uploads.json +++ b/public/language/ms/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/ms/email.json b/public/language/ms/email.json index 36803dcd76..e5dffd1dc0 100644 --- a/public/language/ms/email.json +++ b/public/language/ms/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "Klik sini untuk sahkan emel anda", "invitation.text1": "%1 telah menjemput untuk menyertai %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Klik sini untuk buka akaun anda.", "reset.text1": "Kami menerima permintaan set semula kata laluan anda, kemungkinan kerana anda terlupa. Sekiranya tidak, sila abaikan emel ini.", "reset.text2": "Untuk meneruskan dengan set semula kata laluan, sila klik pautan berikut:", diff --git a/public/language/ms/error.json b/public/language/ms/error.json index 8c0153efbc..284ec75b33 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Anda tidak dibenarkan memadamkan mesej ini", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Sistem reputasi dilumpuhkan.", "downvoting-disabled": "Undi turun dilumpuhkan", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/ms/global.json b/public/language/ms/global.json index 0bd9bde27d..b855d2e939 100644 --- a/public/language/ms/global.json +++ b/public/language/ms/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/ms/modules.json b/public/language/ms/modules.json index 67c96b75a2..83300904c2 100644 --- a/public/language/ms/modules.json +++ b/public/language/ms/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Bercakap dengan ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Taip pesanan di sini, tekan ENTER untuk hantar", "chat.send": "hantar", "chat.no_active": "Anda tiada pesanan yang aktif", @@ -12,6 +12,7 @@ "chat.recent-chats": "Sembang Terbaru", "chat.contacts": "Hubungi", "chat.message-history": "Sejarah Pesanan", + "chat.options": "Chat options", "chat.pop-out": "Pop keluar sembang", "chat.minimize": "Minimize", "chat.maximize": "Memaksimum", @@ -20,7 +21,17 @@ "chat.three_months": "3 Bulan", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Tulis", "composer.show_preview": "Pra-lihat", "composer.hide_preview": "Sorok pra-lihat", diff --git a/public/language/ms/reset_password.json b/public/language/ms/reset_password.json index cb2fd6f183..c2701e9866 100644 --- a/public/language/ms/reset_password.json +++ b/public/language/ms/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Sahkan kata laluan", "enter_email": "Sila masukkan alamat emel dan kami akan menghantar arahan untuk penetapan semula akaun anda", "enter_email_address": "Masukkan alamat emel", - "password_reset_sent": "Penetapan semula kata laluan telah dihantar", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Emel yang tidak sah / Emel tidak wujud", "password_too_short": "Kata lauan terlalu pendek, sila pilih kata laluan yang lain", "passwords_do_not_match": "Kedua-dua laluan yang dimasukkan tidak sepadan / tidak sama", diff --git a/public/language/ms/search.json b/public/language/ms/search.json index a8124e414b..feae32b7b5 100644 --- a/public/language/ms/search.json +++ b/public/language/ms/search.json @@ -5,6 +5,9 @@ "in": "Dalam", "titles": "Tajuk", "titles-posts": "Tajuk dan kiriman", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Dikirim oleh", "in-categories": "Dalam kategori", "search-child-categories": "Cari anak kategori", diff --git a/public/language/ms/topic.json b/public/language/ms/topic.json index 3ff6d04c2c..20dd15bb0d 100644 --- a/public/language/ms/topic.json +++ b/public/language/ms/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Tanda kiriman ini untuk diselia", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Kunci topik", "thread_tools.unlock": "Buka kekunci topik", "thread_tools.move": "Pindahkan topik", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Pindahkan Semua", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Fork topik", @@ -95,6 +97,7 @@ "fork_success": "Berjaya menyalin topik. Klik sini untuk ke topik yang disalin.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Masukkan tajuk topik disini", "composer.handle_placeholder": "Nama", "composer.discard": "Abaikan", @@ -121,5 +124,8 @@ "stale.warning": "Topik yang anda nak balas agak lapuk. Adakah anda ingin buka topik baru dan rujukkan topik ini dalam balasan anda?", "stale.create": "Buka topik baru", "stale.reply_anyway": "Tetap balas topik ini", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/ms/user.json b/public/language/ms/user.json index 26732c865a..9dd8aad851 100644 --- a/public/language/ms/user.json +++ b/public/language/ms/user.json @@ -1,6 +1,7 @@ { "banned": "Diharamkan", "offline": "Luar talian", + "deleted": "Deleted", "username": "Nama pengguna", "joindate": "Tarikh Daftar", "postcount": "Jumlah Kiriman", @@ -11,7 +12,7 @@ "ban_account_confirm": "Adakah anda pasti ingin menyekat pengguna ini?", "unban_account": "Buang Sekatan Akaun", "delete_account": "Padam Akaun", - "delete_account_confirm": "Anda yakin untuk padam akaun anda?
Pebuatan ini tidak boleh diundur dan anda tidak boleh memulihkan sebarang data anda.

Masukkan nama pengguna anda untuk memastikan anda benar-benar ingin memadam akaun ini.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Anda yakin untuk padam akaun ini?
Pebuatan ini tidak boleh diundur dan anda tidak boleh memulihkan sebarang data

", "account-deleted": "Akaun Dipadam", "fullname": "Nama Penuh", @@ -52,7 +53,6 @@ "change_password": "Tukar kata laluan", "change_password_error": "Kata laluan salah!", "change_password_error_wrong_current": "Kata laluan anda sekarang tidak sah", - "change_password_error_length": "Kata laluan terlalu pendek", "change_password_error_match": "Kata laluan mesti padan", "change_password_error_privileges": "Anda tidak mempunyai kebenaran untuk mengubah kata laluan ini", "change_password_success": "Kata laluan dikemaskini", diff --git a/public/language/nb/admin/admin.json b/public/language/nb/admin/admin.json index 2b7692c47b..1c96a5c8cc 100644 --- a/public/language/nb/admin/admin.json +++ b/public/language/nb/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Er du sikker på at du ønsker å laste inn NoddeBB på nytt?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Er du sikker på at du ønsker å restarte NoddeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/nb/admin/appearance/themes.json b/public/language/nb/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/nb/admin/appearance/themes.json +++ b/public/language/nb/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/nb/admin/extend/plugins.json b/public/language/nb/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/nb/admin/extend/plugins.json +++ b/public/language/nb/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/nb/admin/general/dashboard.json b/public/language/nb/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/nb/admin/general/dashboard.json +++ b/public/language/nb/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/nb/admin/menu.json b/public/language/nb/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/nb/admin/menu.json +++ b/public/language/nb/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/nb/admin/settings/advanced.json b/public/language/nb/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/nb/admin/settings/advanced.json +++ b/public/language/nb/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/nb/admin/settings/post.json b/public/language/nb/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/nb/admin/settings/post.json +++ b/public/language/nb/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/nb/admin/settings/uploads.json b/public/language/nb/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/nb/admin/settings/uploads.json +++ b/public/language/nb/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/nb/email.json b/public/language/nb/email.json index faee4c1592..49a9eedfed 100644 --- a/public/language/nb/email.json +++ b/public/language/nb/email.json @@ -9,6 +9,7 @@ "welcome.text3": "En administrator har akseptert din søknad om registering. Du kan nå logge inn med ditt brukernavn og passord.", "welcome.cta": "Klikk her for å verifisere e-postadressen din", "invitation.text1": "%1 har invitert deg til å bli med i %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Klikk her for å opprette din konto", "reset.text1": "Vi har blitt bedt om å tilbakestille passordet ditt, muligens fordi du har glemt det. Hvis dette ikke stemmer kan du ignorere denne e-posten.", "reset.text2": "Vennligst klikk på følgende lenke for å fortsette med tilbakestillingen:", diff --git a/public/language/nb/error.json b/public/language/nb/error.json index 83beb3f379..19ae30481e 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Ryktesystemet er deaktivert.", "downvoting-disabled": "Nedstemming er deaktivert", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/nb/global.json b/public/language/nb/global.json index 4809f55a3f..a67b1c8ac3 100644 --- a/public/language/nb/global.json +++ b/public/language/nb/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/nb/modules.json b/public/language/nb/modules.json index 72c205d3b1..e9d74f51bf 100644 --- a/public/language/nb/modules.json +++ b/public/language/nb/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chat med ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Skriv chat-melding her, trykk enter for å sende", "chat.send": "Send", "chat.no_active": "Du har ingen aktive chatter.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Nylige chatter", "chat.contacts": "Kontakter", "chat.message-history": "Meldingshistorikk", + "chat.options": "Chat options", "chat.pop-out": "Pop-out chat", "chat.minimize": "Minimize", "chat.maximize": "Maksimer", @@ -20,7 +21,17 @@ "chat.three_months": "3 måneder", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Komponer", "composer.show_preview": "Vis forhåndsvisning", "composer.hide_preview": "Skjul forhåndsvisning", diff --git a/public/language/nb/reset_password.json b/public/language/nb/reset_password.json index 954755912c..86622f97fd 100644 --- a/public/language/nb/reset_password.json +++ b/public/language/nb/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Bekreft passord", "enter_email": "Vennligst skriv inn e-post-adressen din, så sender vi en e-post med instruksjoner om hvordan du tilbakestiller kontoen din.", "enter_email_address": "Skriv e-postadresse", - "password_reset_sent": "Passord-tilbakestilling sendt", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Ugyldig e-post / e-post eksisterer ikke", "password_too_short": "Passordet du skrev inn er for kort, vennligst velg et lengre passord.", "passwords_do_not_match": "Passordene du har skrevet inn samsvarer ikke.", diff --git a/public/language/nb/search.json b/public/language/nb/search.json index 81bba3d430..a3e13371a8 100644 --- a/public/language/nb/search.json +++ b/public/language/nb/search.json @@ -5,6 +5,9 @@ "in": "I", "titles": "Titler", "titles-posts": "Titler og innlegg", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Skapt av", "in-categories": "I kategorier", "search-child-categories": "Søk underkategorier", diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index 54a7e86e56..679312c3c4 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Rapporter dette innlegget for granskning", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lås tråd", "thread_tools.unlock": "Lås opp tråd", "thread_tools.move": "Flytt tråd", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Flytt alle", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Forgren tråd", @@ -95,6 +97,7 @@ "fork_success": "Dette emnet ble forgrenet! Klikk for å gå til forgrenet emne.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Skriv din tråd-tittel her", "composer.handle_placeholder": "Navn", "composer.discard": "Forkast", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/nb/user.json b/public/language/nb/user.json index 8bb82f8a53..a2ba42248a 100644 --- a/public/language/nb/user.json +++ b/public/language/nb/user.json @@ -1,6 +1,7 @@ { "banned": "Utestengt", "offline": "Offline", + "deleted": "Deleted", "username": "Brukernavn", "joindate": "Registereringsdato", "postcount": "Antall innlegg", @@ -11,7 +12,7 @@ "ban_account_confirm": "Vil du virkelig utestenge denne brukeren?", "unban_account": "Opphev utestenging", "delete_account": "Slett konto", - "delete_account_confirm": "Er du sikker på at du vil slette kontoen din?
Dette kan ikke reverseres, og du vil ikke kunne hente tilbake dine data.

Skriv inn ditt brukernavn for å bekrefte at du vil tilintetgjøre denne kontoen.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Er du sikker på at du vil slette denne kontoen?
Denne handlingen kan ikke reverseres og du vil ikke kunne gjenopprette noe data

", "account-deleted": "Konto slettet", "fullname": "Fullt navn", @@ -52,7 +53,6 @@ "change_password": "Endre passord", "change_password_error": "Ugyldig passord!", "change_password_error_wrong_current": "Ditt gjeldende passord er ikke korrekt!", - "change_password_error_length": "Passord for kort!", "change_password_error_match": "Passordene må samsvare!", "change_password_error_privileges": "Du har ikke rettigheter tli å endre dette passordet.", "change_password_success": "Passordet ditt ble oppdatert!", diff --git a/public/language/nl/admin/admin.json b/public/language/nl/admin/admin.json index 7f6e9cebd7..2f59978661 100644 --- a/public/language/nl/admin/admin.json +++ b/public/language/nl/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Weet u zeker dat u NodeBB wilt herladen?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Weet u zeker dat u NodeBB opnieuw wilt opstarten?", "acp-title": "%1 | NodeBB Administratiepaneel", diff --git a/public/language/nl/admin/appearance/themes.json b/public/language/nl/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/nl/admin/appearance/themes.json +++ b/public/language/nl/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/nl/admin/extend/plugins.json b/public/language/nl/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/nl/admin/extend/plugins.json +++ b/public/language/nl/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/nl/admin/general/dashboard.json b/public/language/nl/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/nl/admin/general/dashboard.json +++ b/public/language/nl/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/nl/admin/menu.json b/public/language/nl/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/nl/admin/menu.json +++ b/public/language/nl/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/nl/admin/settings/advanced.json b/public/language/nl/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/nl/admin/settings/advanced.json +++ b/public/language/nl/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/nl/admin/settings/post.json b/public/language/nl/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/nl/admin/settings/post.json +++ b/public/language/nl/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/nl/admin/settings/uploads.json b/public/language/nl/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/nl/admin/settings/uploads.json +++ b/public/language/nl/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/nl/email.json b/public/language/nl/email.json index bd474f945e..8f9c2faaf0 100644 --- a/public/language/nl/email.json +++ b/public/language/nl/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Een administrator heeft uw registratie geaccepteerd. U kan nu inloggen met uw gebruikersnaam en wachtwoord.", "welcome.cta": "Klik hier om je e-mailadres te bevestigen", "invitation.text1": "%1 heeft u uitgenodigd voor %2 ", + "invitation.text2": "Uw uitnodiging vervalt over %1 dagen.", "invitation.ctr": "Klik hier om je account aan te maken.", "reset.text1": "We hebben een verzoek ontvangen om je wachtwoord te herstellen, wellicht omdat je hem bent vergeten. Indien dit niet het geval is kan je deze e-mail gewoon negeren.", "reset.text2": "Om je wachtwoord opnieuw in te stellen klik je op deze link:", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index 291902bbc5..762d3e3de7 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Het is niet toegestaan om dit bericht te verwijderen", "chat-edit-duration-expired": "Het is slechts toegestaan om binnen %1 seconde(n) na plaatsen van het chat bericht, deze te bewerken.", "chat-delete-duration-expired": "Het is slechts toegestaan om binnen %1 seconde(n) na plaatsen van het chat bericht, deze te verwijderen.", + "chat-deleted-already": "Dit chat bericht is al verwijderd.", + "chat-restored'already": "Dit chat bericht is al hersteld.", "already-voting-for-this-post": "Je hebt al gestemd voor deze post.", "reputation-system-disabled": "Reputatie systeem is uitgeschakeld.", "downvoting-disabled": "Negatief stemmen is uitgeschakeld", @@ -132,7 +134,7 @@ "wrong-login-type-email": "Gebruik je e-mailadres om in te loggen", "wrong-login-type-username": "Gebruik je gebruikersnaam om in te loggen", "sso-registration-disabled": "Registratie is uitgeschakeld voor %1 accounts, registreer eerst met een e-mailadres", - "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", + "sso-multiple-association": "U kunt niet meerdere accounts van deze service associeren met uw NodeBB account. Verwijder eerst de associatie met uw huidige account en probeer het opnieuw.", "invite-maximum-met": "Je heb het maximum aantal mensen uitgenodigd (%1 van de %2).", "no-session-found": "Geen login sessie gevonden!", "not-in-room": "Gebruiker niet in de chat", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Onbekende homepage route", "invalid-session": "Verkeerde sessie combinatie", "invalid-session-text": "Het lijkt erop dat je login sessie niet meer actief is of niet langer synchroon is met de server. Ververs de pagina.", - "no-topics-selected": "Geen onderwerpen geselecteerd!" + "no-topics-selected": "Geen onderwerpen geselecteerd!", + "cant-move-to-same-topic": "Een bericht kan niet naar hetzelfde onderwerp worden verplaatst!" } \ No newline at end of file diff --git a/public/language/nl/global.json b/public/language/nl/global.json index c1723a527d..81742a4e0a 100644 --- a/public/language/nl/global.json +++ b/public/language/nl/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Meer", "edited": "Bewerkt", "disabled": "Uitgeschakeld", - "select": "Selecteer" + "select": "Selecteer", + "user-search-prompt": "Typ hier om gebruikers te vinden..." } \ No newline at end of file diff --git a/public/language/nl/modules.json b/public/language/nl/modules.json index 7b15303b70..cd13416ea1 100644 --- a/public/language/nl/modules.json +++ b/public/language/nl/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chat met ", + "chat.chatting_with": "Chat met", "chat.placeholder": "Typ een chatbericht hier, toets enter om te verzenden", "chat.send": "Verzenden", "chat.no_active": "Er zijn geen actieve chats.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Recent gevoerde gesprekken", "chat.contacts": "Contacten", "chat.message-history": "Berichtengeschiedenis", + "chat.options": "Chat opties", "chat.pop-out": "Chatvenster opbrengen bij chat", "chat.minimize": "Verkleinen", "chat.maximize": "Maximaliseren", @@ -20,7 +21,17 @@ "chat.three_months": "3 maanden", "chat.delete_message_confirm": "Weet je zeker dat je dit bericht wilt verwijderen?", "chat.add-users-to-room": "Voeg gebruikers toe aan deze chat room", + "chat.retrieving-users": "Gebruikers ophalen...", + "chat.manage-room": "Chat Room beheren", + "chat.add-user-help": "Zoek hier naar gebruikers. Indien geselecteerd word de gebruiker toegevoegd aan de chat. De nieuwe gebruiker kan geen chat berichten zien die geschreven zijn voordat de gebruiker was toegevoegd aan de conversatie.", "chat.confirm-chat-with-dnd-user": "Deze gebruiker heeft de status op Niet Storen (DnD, Do not disturb) gezet. Wil je nog steeds een chat starten met deze persoon?", + "chat.rename-room": "Verander chat room van naam", + "chat.rename-placeholder": "Voer hier de naam van je chat room in", + "chat.rename-help": "De naam van de chat room die je hier zet is zichtbaar voor alle deelnemers aan de chat.", + "chat.leave": "Verlaat Chat", + "chat.leave-prompt": "Weet je zeker dat je deze chat wilt verlaten?", + "chat.leave-help": "Als je de chat verlaat zul je toekomstige correspondentie in de chat niet meer zien. Als je later weer wordt toegevoegd, dan kun je de chat geschiedenis tot de hertoevoeging niet zien.", + "chat.in-room": "In deze chat room", "composer.compose": "Samenstellen", "composer.show_preview": "Voorbeeldweergave", "composer.hide_preview": "Verberg voorbeeld", diff --git a/public/language/nl/reset_password.json b/public/language/nl/reset_password.json index c5b9ef1a9f..7f529fdf84 100644 --- a/public/language/nl/reset_password.json +++ b/public/language/nl/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Bevestiging wachtwoord", "enter_email": "Geef het e-mailadres op dat tijdens registratie gebruikt is, en we versturen je een bericht met vervolginstructies voor het ontgrendelen van de account.", "enter_email_address": "Geef het e-mailadres op", - "password_reset_sent": "Het bericht met daarin een link en de vervolgstappen voor het wachtwoordherstel, is verzonden", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Onbekend e-mailadres!", "password_too_short": "Het opgegeven wachtwoord bevat te weinig tekens. Kies een veiliger wachtwoord met meer tekens.", "passwords_do_not_match": "De twee opgegeven wachtwoorden komen niet overeen", diff --git a/public/language/nl/search.json b/public/language/nl/search.json index 55a1964be5..b2ba7ef272 100644 --- a/public/language/nl/search.json +++ b/public/language/nl/search.json @@ -5,6 +5,9 @@ "in": "in", "titles": "Titels", "titles-posts": "Titels en berichten", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Geplaatst door", "in-categories": "In categorieën", "search-child-categories": "Doorzoek subcategorieën ", diff --git a/public/language/nl/topic.json b/public/language/nl/topic.json index cf29812f5e..2dbe7745b3 100644 --- a/public/language/nl/topic.json +++ b/public/language/nl/topic.json @@ -30,11 +30,12 @@ "locked": "Gesloten", "pinned": "Pinned", "moved": "Verplaatst", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Kopieer IP", + "ban-ip": "Verban IP", + "view-history": "Revisie geschiedenis", "bookmark_instructions": "Klik hier om terug te keren naar de laatst gelezen post in deze thread.", "flag_title": "Bericht aan beheerders melden", - "merged_message": "This topic has been merged into %2", + "merged_message": "Dit onderwerp is gevoegd in %2", "deleted_message": "Dit onderwerp is verwijderd. Alleen gebruikers met beheerrechten op onderwerpniveau kunnen dit inzien.", "following_topic.message": "Vanaf nu worden meldingen ontvangen zodra iemand een reactie op dit onderwerp geeft.", "not_following_topic.message": "Dit onderwerp zal verschijnen in de lijst van ongelezen onderwerpen, maar er zullen geen meldingen ontvangen zodra iemand een reactie op dit onderwerp geeft.", @@ -61,6 +62,7 @@ "thread_tools.lock": "Onderwerp sluiten", "thread_tools.unlock": "Onderwerp openen", "thread_tools.move": "Onderwerp verplaatsen", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Verplaats alles", "thread_tools.select_category": "Selecteer categorie", "thread_tools.fork": "Onderwerp afsplitsen", @@ -95,6 +97,7 @@ "fork_success": "Onderwerp is succesvol afgesplitst. Klik hier om het nieuwe onderwerp te zien.", "delete_posts_instruction": "Klik op de berichten die verwijderd moeten worden", "merge_topics_instruction": "Klik op de onderwerpen die samengevoegd moeten worden", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Voer hier de titel van het onderwerp in...", "composer.handle_placeholder": "Naam", "composer.discard": "Annuleren", @@ -121,5 +124,8 @@ "stale.warning": "Het onderwerp waar je op antwoord is vrij oud. Zou je graag een nieuw onderwerp maken met een referentie naar dit onderwerp in je antwoord?", "stale.create": "Maak een nieuw onderwerp", "stale.reply_anyway": "Reageer toch op dit onderwerp", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Bericht revisie geschiedenis", + "diffs.description": "Dit bericht heeft %1 revisies. Klik op een revisie hieronder om het bericht te zien op dat punt in de tijd.", + "diffs.no-revisions-description": "Dit bericht heeft %1 revisies." } \ No newline at end of file diff --git a/public/language/nl/user.json b/public/language/nl/user.json index 954f3c374f..b20787831b 100644 --- a/public/language/nl/user.json +++ b/public/language/nl/user.json @@ -1,6 +1,7 @@ { "banned": "Verbannen", "offline": "Offline", + "deleted": "Verwijderd", "username": "Gebruikersnaam", "joindate": "Datum van registratie", "postcount": "Aantal geplaatste berichten", @@ -11,7 +12,7 @@ "ban_account_confirm": "Weet u zeker dat u deze gebruiker wilt verbannen?", "unban_account": "Verbanning intrekken", "delete_account": "Account verwijderen", - "delete_account_confirm": "Controleer of dat het zeker is dat deze account verwijderd moet worden.
Deze actie kan niet ongedaan gemaakt worden en herstellen van gebruiker- of profielgegevens is niet mogelijk

Typ hier de gebruikersnaam als extra controle om te bevestigen dat deze account verwijderd moet worden.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Weet u zeker dat u deze account wilt verwijderen?
Deze actie kan niet ongedaan worden en u kunt niet de informatie herstellen

", "account-deleted": "Account verwijderd", "fullname": "Volledige naam", @@ -52,7 +53,6 @@ "change_password": "Wijzig wachtwoord", "change_password_error": "Ongeldig wachtwoord!", "change_password_error_wrong_current": "Het opgegeven huidige wachtwoord is onjuist!", - "change_password_error_length": "Wachtwoord bevat te weinig tekens!", "change_password_error_match": "Het eerder opgegeven wachtwoord komt niet overeen!", "change_password_error_privileges": "Niet geautoriseerd om dit wachtwoord te mogen wijzigen.", "change_password_success": "Het wachtwoord is gewijzigd!", @@ -95,7 +95,7 @@ "topics_per_page": "Onderwerpen per pagina", "posts_per_page": "Berichten per pagina", "max_items_per_page": "Maximaal %1", - "acp_language": "Admin Page Language", + "acp_language": "Taal van Admin Pagina", "notification_sounds": "Speel een geluid af wanneer ik een notificatie ontvang", "notifications_and_sounds": "Notificaties & Geluiden", "incoming-message-sound": "Inkomend bericht geluid", diff --git a/public/language/pl/admin/admin.json b/public/language/pl/admin/admin.json index 49d7b29db8..d8f48c192e 100644 --- a/public/language/pl/admin/admin.json +++ b/public/language/pl/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Jesteś pewny, że chciałbyś przeładować NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Jesteś pewny, że chciałbyś zrestartować NodeBB?", "acp-title": "%1 | Panel administracyjny NodeBB", diff --git a/public/language/pl/admin/appearance/customise.json b/public/language/pl/admin/appearance/customise.json index 8cc162c784..1fc191cc05 100644 --- a/public/language/pl/admin/appearance/customise.json +++ b/public/language/pl/admin/appearance/customise.json @@ -1,14 +1,14 @@ { - "custom-css": "Custom CSS/LESS", - "custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.", - "custom-css.enable": "Enable Custom CSS/LESS", + "custom-css": "Własny CSS/LESS", + "custom-css.description": "Wprowadź tutaj własne deklaracje CSS/LESS, które będą użyte po wszystkich pozostałych stylach.", + "custom-css.enable": "Aktywuj własne CSS/LESS", - "custom-js": "Custom Javascript", - "custom-js.description": "Enter your own javascript here. It will be executed after the page is loaded completely.", - "custom-js.enable": "Enable Custom Javascript", + "custom-js": "Własny Javascript", + "custom-js.description": "Wprowadź własny kod javascript tutaj. Będzie użyty po pełnym załadowaniu strony.", + "custom-js.enable": "Aktywuj własny Javascript.", "custom-header": "Własny nagłówek", - "custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <head> section of your forum's markup. Script tags are allowed, but are discouraged, as the Custom Javascript tab is available.", + "custom-header.description": "Wprowadź tutaj własny kod HTML (np. meta tagi, itp.), które będą dołączone do sekcji <head> twojego forumowego znacznika. Tagi skryptów są dozwolone, ale niezaleccane jako że zakładka Własny Javascript jest dostępna. ", "custom-header.enable": "Włącz własny nagłówek", "custom-css.livereload": "Włącz dynamiczne przeładowanie", diff --git a/public/language/pl/admin/appearance/themes.json b/public/language/pl/admin/appearance/themes.json index 70f0f304f0..110cd26bf3 100644 --- a/public/language/pl/admin/appearance/themes.json +++ b/public/language/pl/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Czy na pewno chcesz przywrócić domyślny styl NodeBB?", "theme-changed": "Styl Zmieniony", "revert-success": "Pomyślnie przywrócono domyślny styl NodeBB.", - "restart-to-activate": "Proszę zrestartować NodeBB, aby styl poprawnie działał." + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/pl/admin/extend/plugins.json b/public/language/pl/admin/extend/plugins.json index 99801f0b18..d02d1ad56d 100644 --- a/public/language/pl/admin/extend/plugins.json +++ b/public/language/pl/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Wtyczka odinstalowana", "alert.activate-success": "Proszę zrestartować NodeBB, aby w pełni aktywować tą wtyczkę", "alert.deactivate-success": "Wtyczka pomyślnie dezaktywowana", - "alert.upgrade-success": "Proszę przeładować NodeBB, aby w pełni aktualizować tą wtyczkę", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Wtyczka została pomyślnie zainstalowana, proszę ją aktywować.", "alert.uninstall-success": "Wtyczka została pomyślnie zdezaktywowana oraz odinstalowana.", "alert.suggest-error": "

NodeBB nie może dostać się do menedżera pakietów, kontynuować instalacji ostatniej wersji?

Serwer zwrócił (%1): %2
", diff --git a/public/language/pl/admin/general/dashboard.json b/public/language/pl/admin/general/dashboard.json index 1bd9dafd21..122db4992f 100644 --- a/public/language/pl/admin/general/dashboard.json +++ b/public/language/pl/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "Forum działa dzięki NodeBB v%1", "keep-updated": "Regularnie sprawdzaj najnowsze aktualizacji i poprawki NodeBB, w celu poprawy bezpieczeństwa i optymalizacji.", "up-to-date": "

NodeBB jest aktualny

", - "upgrade-available": "

Nowa wersja (v%1) jest już dostępna. Zaktualizuj do nowej wersji NodeBB .

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

To jest nieaktualna wersja pre-release NodeBB. Nowa wersja (v%1) została opublikowana. Rozważ aktualizację NodeBB.

", + "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": "

To jest wersja pre-release NodeBB. Mogą występować błędy.

", "running-in-development": "Forum pracuje w trybie programistyczny, może być ono podatne na potencjalne zagrożenia; proszę skontaktuj się z administratorem.", + "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", "notices": "Powiadomienia", "restart-not-required": "Restart nie jest wymagany", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Zainstaluj wtyczkę wyszukiwania ze strony wtyczek, aby aktywować funkcję szukania", "control-panel": "Zarządzanie systemem", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Tryb konserwacji", diff --git a/public/language/pl/admin/general/homepage.json b/public/language/pl/admin/general/homepage.json index 4713f175ce..45689ae01d 100644 --- a/public/language/pl/admin/general/homepage.json +++ b/public/language/pl/admin/general/homepage.json @@ -4,5 +4,5 @@ "home-page-route": "Ścieżka strony głównej", "custom-route": "Niestandardowa Ścieżka", "allow-user-home-pages": "Zezwalaj na strony startowe użytkowników", - "home-page-title": "Title of the home page (default \"Home\")" + "home-page-title": "Tytuł strony głównej (domyślnie: \"Strona Główna\")" } \ No newline at end of file diff --git a/public/language/pl/admin/menu.json b/public/language/pl/admin/menu.json index b3c3a33ab8..aa8094d48f 100644 --- a/public/language/pl/admin/menu.json +++ b/public/language/pl/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Loger", "development/info": "Informacja", - "reload-forum": "Przeładuj forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restartuj forum", "logout": "Wyloguj się", "view-forum": "Zobacz forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Wpisz więcej, aby zobaczyć wyniki ...", "search.start-typing": "Zacznij pisać, aby zobaczyć wyniki ...", - "connection-lost": "Połączenie z %1 zostało utracone, próba ponownego połączenia..." + "connection-lost": "Połączenie z %1 zostało utracone, próba ponownego połączenia...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/pl/admin/settings/advanced.json b/public/language/pl/admin/settings/advanced.json index 011eff7b1a..2aad44606f 100644 --- a/public/language/pl/admin/settings/advanced.json +++ b/public/language/pl/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Dopasuj nagłówek \"Powered By\" wysyłany przez NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Aby zablokować dostęp do wszystkich stron, pozostaw puste.", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Zarządzanie ruchem", diff --git a/public/language/pl/admin/settings/post.json b/public/language/pl/admin/settings/post.json index 1cbb47e88c..70509cc83e 100644 --- a/public/language/pl/admin/settings/post.json +++ b/public/language/pl/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Zezwalaj wtyczkom na dodawanie zawartości do zakładki pomocy", "composer.custom-help": "Własny tekst pomocy", "ip-tracking": "Śledzenie IP", - "ip-tracking.each-post": "Śledź adres IP każdego z postów" + "ip-tracking.each-post": "Śledź adres IP każdego z postów", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/pl/admin/settings/uploads.json b/public/language/pl/admin/settings/uploads.json index 709c230c0a..5dbcffbc77 100644 --- a/public/language/pl/admin/settings/uploads.json +++ b/public/language/pl/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Oznaczaj wysyłane pliki jako prywatne", "max-image-width": "Zmniejszaj obrazy do zadanej szerokości (w pikselach)", "max-image-width-help": "(w pikselach, domyślnie: 760px; ustaw 0, aby wyłączyć)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maksymalny rozmiar plików (w KiB)", "max-file-size-help": "(w kilobajtach, domyślnie: 2048 KiB)", "allow-topic-thumbnails": "Zezwalaj użytkownikom na ustawianie miniaturek tematów", diff --git a/public/language/pl/email.json b/public/language/pl/email.json index fd0b9b8125..26f0646dfa 100644 --- a/public/language/pl/email.json +++ b/public/language/pl/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Administrator zaakceptował twój wniosek o rejestrację. Możesz się zalogować, używając swojej nazwy użytkownika i hasła.", "welcome.cta": "Kliknij tutaj, aby potwierdzić swój adres", "invitation.text1": "%1 zaprasza do dołączenia do %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Kliknij tutaj, aby utworzyć konto.", "reset.text1": "Otrzymaliśmy żądanie przywrócenia twojego hasła. Jeśli nie żądałeś przywrócenia hasła, zignoruj ten e-mail.", "reset.text2": "Aby przywrócić swoje hasło, skorzystaj z poniższego odnośnika:", diff --git a/public/language/pl/error.json b/public/language/pl/error.json index 643a0c4bfc..86b8658ce2 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Nie jesteś upoważniony do usunięcia tej wiadomości", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Już zagłosowałeś na ten post", "reputation-system-disabled": "System reputacji jest wyłączony.", "downvoting-disabled": "Negatywna ocena postów jest wyłączona", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Niepoprawny odnośnik strony domowej", "invalid-session": "Niewłaściwa sesja", "invalid-session-text": "Wygląda na to, że twoja sesja jest nieaktywna lub nie zgadza się z serwerem. Proszę odświeżyć tę stronę.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/pl/global.json b/public/language/pl/global.json index 5c218462b1..21fcd554f4 100644 --- a/public/language/pl/global.json +++ b/public/language/pl/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Dowiedz się więcej", "edited": "Edytowany", "disabled": "Wyłączony", - "select": "Wybierz" + "select": "Wybierz", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/pl/modules.json b/public/language/pl/modules.json index 1e027f8db6..80c64cf25c 100644 --- a/public/language/pl/modules.json +++ b/public/language/pl/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Rozmawiaj z ", + "chat.chatting_with": "Czatuj z", "chat.placeholder": "Wpisz wiadomość tutaj i naciśnij Enter, aby wysłać.", "chat.send": "Wyślij", "chat.no_active": "Nie prowadzisz obecnie żadnych rozmów.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Ostatnie czaty", "chat.contacts": "Kontakty", "chat.message-history": "Historia wiadomości", + "chat.options": "Chat options", "chat.pop-out": "Otwórz czat w nowym oknie", "chat.minimize": "Ukryj", "chat.maximize": "Maksymalizuj", @@ -20,7 +21,17 @@ "chat.three_months": "3 miesiące", "chat.delete_message_confirm": "Jesteś pewny, że chcesz usunąć tą wiadomość?", "chat.add-users-to-room": "Dodaj użytkownika do pokoju czatu", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Zarządzaj pokojami czatu", + "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.", "chat.confirm-chat-with-dnd-user": "Ten użytkownik ustawił swój status na \"nie przeszkadzać\". Czy wciąż chcesz z nim rozmawiać?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Opuść czat", + "chat.leave-prompt": "Czy jesteś pewnien, że chcesz opuścić ten czat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "W tym pokoju", "composer.compose": "Skomponuj", "composer.show_preview": "Pokazuj podgląd", "composer.hide_preview": "Ukryj Podgląd", diff --git a/public/language/pl/notifications.json b/public/language/pl/notifications.json index c29984664d..3aeb2b3c76 100644 --- a/public/language/pl/notifications.json +++ b/public/language/pl/notifications.json @@ -9,7 +9,7 @@ "continue_to": "Kontynuuj do %1", "return_to": "Wróć do %1", "new_notification": "Nowe powiadomienie", - "new_notification_from": "You have a new Notification from %1", + "new_notification_from": "Masz nowe powiadomienie od %1", "you_have_unread_notifications": "Masz nieprzeczytane powiadomienia.", "all": "Wszystko", "topics": "Tematy", @@ -47,18 +47,18 @@ "email-confirmed-message": "Dziękujemy za potwierdzenie maila. Twoje konto zostało aktywowane.", "email-confirm-error-message": "Wystąpił problem przy aktywacji - kod jest błędny lub przestarzały", "email-confirm-sent": "E-mail potwierdzający wysłany.", - "none": "None", - "notification_only": "Notification Only", - "email_only": "Email Only", - "notification_and_email": "Notification & Email", - "notificationType_upvote": "When someone upvotes your post", + "none": "Żadna", + "notification_only": "Tylko powiadomienie", + "email_only": "Tylko email", + "notification_and_email": "Powiadomienie oraz email", + "notificationType_upvote": "Kiedy ktoś zagłosuje na Twój post", "notificationType_new-topic": "When someone you follow posts a topic", "notificationType_new-reply": "When a new reply is posted in a topic you are watching", - "notificationType_follow": "When someone starts following you", + "notificationType_follow": "Kiedy ktoś zacznie Cię śledzić", "notificationType_new-chat": "When you receive a chat message", "notificationType_group-invite": "When you receive a group invite", "notificationType_new-register": "When someone gets added to registration queue", "notificationType_post-queue": "When a new post is queued", - "notificationType_new-post-flag": "When a post is flagged", - "notificationType_new-user-flag": "When a user is flagged" + "notificationType_new-post-flag": "Kiedy post zostanie oflagowany", + "notificationType_new-user-flag": "Kiedy użytkownik zostanie oflagowany" } \ No newline at end of file diff --git a/public/language/pl/reset_password.json b/public/language/pl/reset_password.json index 6855f273c9..37b32b1a9b 100644 --- a/public/language/pl/reset_password.json +++ b/public/language/pl/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Powtórz hasło", "enter_email": "Podaj swój adres e-mail, a następnie wyślemy Ci wiadomość z instrukcjami, jak zresetować hasło.", "enter_email_address": "Wpisz swój adres e-mail", - "password_reset_sent": "Instrukcje zostały wysłane", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Niepoprawny adres e-mail.", "password_too_short": "Wprowadzone hasło jest zbyt krótkie, proszę wybrać inne hasło.", "passwords_do_not_match": "Wprowadzone hasła nie pasują do siebie", diff --git a/public/language/pl/search.json b/public/language/pl/search.json index f8f512f067..78eed9db24 100644 --- a/public/language/pl/search.json +++ b/public/language/pl/search.json @@ -5,6 +5,9 @@ "in": "w", "titles": "Tytuły", "titles-posts": "Tytuły i posty", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Napisane przez", "in-categories": "W kategoriach", "search-child-categories": "Przeszukaj podkategorie", diff --git a/public/language/pl/topic.json b/public/language/pl/topic.json index 321cc4dfc2..f1a39e5cb4 100644 --- a/public/language/pl/topic.json +++ b/public/language/pl/topic.json @@ -30,11 +30,12 @@ "locked": "Zablokowany", "pinned": "Przypięte", "moved": "Przeniesione", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Kopiuj IP", + "ban-ip": "Blokuj IP", + "view-history": "Edytuj historię", "bookmark_instructions": "Kliknij tutaj, by powrócić do ostatniego przeczytanego postu w tym temacie.", "flag_title": "Zgłoś post do moderacji", - "merged_message": "This topic has been merged into %2", + "merged_message": "Ten temat był połączony w %2", "deleted_message": "Ten temat został skasowany. Tylko użytkownicy z uprawnieniami do zarządzania mogą go zobaczyć.", "following_topic.message": "Będziesz od teraz otrzymywał powiadomienia, gdy ktoś odpowie w tym temacie.", "not_following_topic.message": "Zobaczysz ten temat na liście nieprzeczytanych, ale nie otrzymasz żadnego powiadomienia dotyczącego tego tematu.", @@ -55,12 +56,13 @@ "not-watching.description": "Nie informuj mnie o nowych odpowiedziach
Pokazuj temat w nieprzeczytanych, jeśli kategoria nie jest ignorowana.", "ignoring.description": "Nie informuj mnie o nowych odpowiedziach.
Nie pokazuj tematu w nieprzeczytanych.", "thread_tools.title": "Narzędzia tematu", - "thread_tools.markAsUnreadForAll": "Mark Unread For All", + "thread_tools.markAsUnreadForAll": "Zaznacz nieprzeczytane dla wszystkich", "thread_tools.pin": "Przypnij temat", "thread_tools.unpin": "Odepnij temat", "thread_tools.lock": "Zablokuj temat", "thread_tools.unlock": "Odblokuj temat", "thread_tools.move": "Przenieś temat", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Przenieś wszystko", "thread_tools.select_category": "Wybierz kategorię", "thread_tools.fork": "Skopiuj temat", @@ -71,8 +73,8 @@ "thread_tools.restore_confirm": "Na pewno chcesz przywrócić ten temat?", "thread_tools.purge": "Wymaż temat", "thread_tools.purge_confirm": "Na pewno chcesz wymazać ten temat?", - "thread_tools.merge_topics": "Merge Topics", - "thread_tools.merge": "Merge", + "thread_tools.merge_topics": "Połącz tematy", + "thread_tools.merge": "Połącz", "topic_move_success": "Temat przeniesiono do %1", "post_delete_confirm": "Na pewno chcesz usunąć ten post?", "post_restore_confirm": "Na pewno chcesz przywrócić ten post?", @@ -94,7 +96,8 @@ "fork_pid_count": "wybrano %1 post(-ów)", "fork_success": "Udało się skopiować temat. Kliknij tutaj, aby do niego przejść.", "delete_posts_instruction": "Kliknij na posty, które chcesz usunąć", - "merge_topics_instruction": "Click the topics you want to merge", + "merge_topics_instruction": "Zaznacz tematy, które chcesz połączyć", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Wpisz tutaj tytuł tematu...", "composer.handle_placeholder": "Nazwa", "composer.discard": "Odrzuć", @@ -121,5 +124,8 @@ "stale.warning": "Temat, na który chcesz udzielić odpowiedzi, jest przestarzały. Czy nie chciałbyś utworzyć nowego tematu, zamiast udzielać się w tym?", "stale.create": "Stwórz nowy temat", "stale.reply_anyway": "Odpowiedź na ten temat mimo tego", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/pl/user.json b/public/language/pl/user.json index 3a9ff274af..6c954a1e99 100644 --- a/public/language/pl/user.json +++ b/public/language/pl/user.json @@ -1,6 +1,7 @@ { "banned": "Zbanowany", "offline": "Offline", + "deleted": "Deleted", "username": "Nazwa użytkownika", "joindate": "Data rejestracji", "postcount": "Liczba postów", @@ -11,7 +12,7 @@ "ban_account_confirm": "Na pewno chcesz zbanować tego użytkownika?", "unban_account": "Odbanuj konto", "delete_account": "Usuń konto", - "delete_account_confirm": "Jesteś pewny, że chcesz skasować swoje konto?
Tej operacji nie można cofnąć i utracisz wszystkie swoje dane

Podaj swoją nazwę użytkownika, by potwierdzić skasowanie konta.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Na pewno chcesz usunąć to konto?
Tej operacji nie można cofnąć i nie będzie możliwości odzyskania swoich danych

", "account-deleted": "Konto usunięte", "fullname": "Pełna nazwa", @@ -52,7 +53,6 @@ "change_password": "Zmień hasło", "change_password_error": "Błędne hasło!", "change_password_error_wrong_current": "Twoje aktualne hasło nie jest poprawne!", - "change_password_error_length": "Hasło jest za krótkie!", "change_password_error_match": "Hasła muszą pasować!", "change_password_error_privileges": "Nie masz uprawnień do zmiany tego hasła.", "change_password_success": "Twoje hasło zostało zaktualizowane!", diff --git a/public/language/pt-BR/admin/admin.json b/public/language/pt-BR/admin/admin.json index 227edd59a9..d0bc026637 100644 --- a/public/language/pt-BR/admin/admin.json +++ b/public/language/pt-BR/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Tem certeza que deseja recarregar o NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Tem certeza de que você deseja reiniciar o NodeBB?", "acp-title": "%1 | Painel de Controle Administrativo do NodeBB", diff --git a/public/language/pt-BR/admin/appearance/themes.json b/public/language/pt-BR/admin/appearance/themes.json index e2793ce865..56247e46e8 100644 --- a/public/language/pt-BR/admin/appearance/themes.json +++ b/public/language/pt-BR/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Tem certeza que você deseja restaurar o tema padrão do NodeBB?", "theme-changed": "Tema Alterado", "revert-success": "Você reverteu com sucesso o seu NodeBB para seu tema padrão.", - "restart-to-activate": "Por favor reinicei o seu NodeBB para ativar completamente este tema" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/pt-BR/admin/extend/plugins.json b/public/language/pt-BR/admin/extend/plugins.json index 0a29ecef33..5551818369 100644 --- a/public/language/pt-BR/admin/extend/plugins.json +++ b/public/language/pt-BR/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Desinstalado", "alert.activate-success": "Por favor reinicie o seu NodeBB para ativar completamente este plugin", "alert.deactivate-success": "Plugin desativado com sucesso", - "alert.upgrade-success": "Por favor recarregue o seu NodeBB para atualizar completamente este plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin instalado com sucesso, por favor ative o plugin.", "alert.uninstall-success": "O plugin foi desativado com sucesso e desinstalado.", "alert.suggest-error": "

O NodeBB não pôde encontrar o administrador de pacotes, proceder com a instalação da última versão?

O servidor retornou (%1): %2
", diff --git a/public/language/pt-BR/admin/general/dashboard.json b/public/language/pt-BR/admin/general/dashboard.json index d693668844..193bee8c82 100644 --- a/public/language/pt-BR/admin/general/dashboard.json +++ b/public/language/pt-BR/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "Você está rodando o NodeBB v%1.", "keep-updated": "Sempre se certifique de que o seu NodeBB está atualizado para os últimos patches de segurança e bug fixes.", "up-to-date": "

Você está atualizado

", - "upgrade-available": "

Uma nova versão (v%1) foi lançada. Leve em consideração fazer um upgrade do seu NodeBB.

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

Esta é uma versão pre-release do NodeBB. Uma nova versão (v%1) foi lançada. Leve em consideração fazer um upgrade do seu NodeBB.

", + "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": "

Esta é uma versão pre-release do NodeBB. Bugs inesperados podem ocorrer.

", "running-in-development": "O fórum está sendo executado em modo de desenvolvedor. O fórum pode estar abrto à potenciais vulnerabilidades; por favor, entre em contato com o seu administrador de sistemas.", + "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", "notices": "Avisos", "restart-not-required": "Reiniciar não é necessário", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Instale um plugin de pesquisa da página de plugins de modo à ativar a funcionalidade de pesquisa", "control-panel": "Controle do Sistema", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Modo de Manutenção", diff --git a/public/language/pt-BR/admin/menu.json b/public/language/pt-BR/admin/menu.json index d80117c046..305ef80e0e 100644 --- a/public/language/pt-BR/admin/menu.json +++ b/public/language/pt-BR/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Informação", - "reload-forum": "Recarregar Fórum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Reiniciar o Fórum", "logout": "Sair da Conta", "view-forum": "Ver Fórum", @@ -74,5 +74,8 @@ "search.keep-typing": "Digite para ver mais resultados...", "search.start-typing": "Comece a digitar para ver resultados...", - "connection-lost": "A conexão com %1 foi perdida, tentando reconectar..." + "connection-lost": "A conexão com %1 foi perdida, tentando reconectar...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/settings/advanced.json b/public/language/pt-BR/admin/settings/advanced.json index 8d4cbdf5de..2f7063e9cd 100644 --- a/public/language/pt-BR/admin/settings/advanced.json +++ b/public/language/pt-BR/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Personalizar o cabeçalho de \"Powered By\" enviado pelo NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Para impedir o acesso à todos os sites, deixe vazio", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Administração de Tráfego", diff --git a/public/language/pt-BR/admin/settings/post.json b/public/language/pt-BR/admin/settings/post.json index fa653ce7cd..3941fcc260 100644 --- a/public/language/pt-BR/admin/settings/post.json +++ b/public/language/pt-BR/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Permitir plugins de adicionar conteúdo à aba ajuda", "composer.custom-help": "Texto de Ajuda Personalizado", "ip-tracking": "Rastreamento de IP", - "ip-tracking.each-post": "Rastrear Endereço IP para cada post" + "ip-tracking.each-post": "Rastrear Endereço IP para cada post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/settings/uploads.json b/public/language/pt-BR/admin/settings/uploads.json index 19c813b390..82cc8f7b01 100644 --- a/public/language/pt-BR/admin/settings/uploads.json +++ b/public/language/pt-BR/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Tornar arquivos enviados particulares", "max-image-width": "Redimensionar imagens até a largura especificada (em pixels)", "max-image-width-help": "(em pixels, padrão: 760 pixels, defina como 0 para desligar)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Tamanho Máximo de Arquivo (em KiB)", "max-file-size-help": "(em kibibytes, padrão: 2048 KiB)", "allow-topic-thumbnails": "Permitir usuários de enviar miniaturas de tópico", diff --git a/public/language/pt-BR/email.json b/public/language/pt-BR/email.json index a2e2128d03..761f4fa6b1 100644 --- a/public/language/pt-BR/email.json +++ b/public/language/pt-BR/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Um administrador aceitou o seu pedido de registro. Você pode fazer login agora com seu nome de usuário/senha.", "welcome.cta": "Clique aqui para confirmar seu endereço de email", "invitation.text1": "%1 convidou você para participar de %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Clique aqui para criar a sua conta.", "reset.text1": "Nós recebemos um pedido para reconfigurar sua senha, possivelmente porque você a esqueceu. Se este não é o caso, por favor ignore este email.", "reset.text2": "Para continuar com a reconfiguração de senha, por favor clique no seguinte link:", diff --git a/public/language/pt-BR/error.json b/public/language/pt-BR/error.json index 98f15d7338..28dff1caf0 100644 --- a/public/language/pt-BR/error.json +++ b/public/language/pt-BR/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Você não possui permissão para deletar esta mensagem", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Você já votou neste post.", "reputation-system-disabled": "O sistema de reputação está desabilitado.", "downvoting-disabled": "Negativação está desabilitada", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Rota de página inicial inválida", "invalid-session": "Erro de Sessão", "invalid-session-text": "Parece que sua sessão de login não está mais ativa, ou não combina mais com a do servidor. Por gentileza, recarregue esta página.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/pt-BR/global.json b/public/language/pt-BR/global.json index c46021f798..68f79274ad 100644 --- a/public/language/pt-BR/global.json +++ b/public/language/pt-BR/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Saber Mais", "edited": "Editado", "disabled": "Desligado", - "select": "Escolha" + "select": "Escolha", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/pt-BR/modules.json b/public/language/pt-BR/modules.json index 9a61633ba3..7226e7640e 100644 --- a/public/language/pt-BR/modules.json +++ b/public/language/pt-BR/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Conversar com ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Digite a mensagem de chat aqui, pressione enter para enviar", "chat.send": "Enviar", "chat.no_active": "Você não tem chats ativos.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Conversas Recentes", "chat.contacts": "Contatos", "chat.message-history": "Histórico de Mensagens", + "chat.options": "Chat options", "chat.pop-out": "Pop-out o chat", "chat.minimize": "Minimizar", "chat.maximize": "Maximizar", @@ -20,7 +21,17 @@ "chat.three_months": "3 Meses", "chat.delete_message_confirm": "Tem certeza que deseja excluir esta mensagem?", "chat.add-users-to-room": "Adicionar usuários à sala", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "Este usuário definiu seu estado como DnD(Do not disturb─Não perturbe). Você ainda assim quer conversar com ele?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compor", "composer.show_preview": "Exibir Pré-visualização", "composer.hide_preview": "Esconder Pré-visualização", diff --git a/public/language/pt-BR/reset_password.json b/public/language/pt-BR/reset_password.json index 79785f648c..60178906a0 100644 --- a/public/language/pt-BR/reset_password.json +++ b/public/language/pt-BR/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirmar Senha", "enter_email": "Por favor digite seu endereço de email e nós iremos lhe enviar em email com instruções de como reconfigurar a sua conta.", "enter_email_address": "Digite seu Email", - "password_reset_sent": "Reconfiguração de Senha Enviada", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Email Inválido / Email não existe!", "password_too_short": "A senha entrada é muito curta, por favor escolha uma senha diferente.", "passwords_do_not_match": "As duas senhas que você digitou não combinam.", diff --git a/public/language/pt-BR/search.json b/public/language/pt-BR/search.json index 43d847db48..30ba6f3b1a 100644 --- a/public/language/pt-BR/search.json +++ b/public/language/pt-BR/search.json @@ -5,6 +5,9 @@ "in": "Em", "titles": "Títulos", "titles-posts": "Títulos e Posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Postado por", "in-categories": "Nas Categorias", "search-child-categories": "Pesquisar subcategorias", diff --git a/public/language/pt-BR/topic.json b/public/language/pt-BR/topic.json index 8d03867c0c..d219642af7 100644 --- a/public/language/pt-BR/topic.json +++ b/public/language/pt-BR/topic.json @@ -32,6 +32,7 @@ "moved": "Movido", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Clique aqui para retornar ao último post lido neste tópico.", "flag_title": "Sinalizar este post para moderação", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Trancar Tópico", "thread_tools.unlock": "Destrancar Tópico", "thread_tools.move": "Mover Tópico", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Mover Tudo", "thread_tools.select_category": "Escolha a Categoria", "thread_tools.fork": "Ramificar Tópico", @@ -95,6 +97,7 @@ "fork_success": "Tópico ramificado com sucesso! Clique aqui para ir ao tópico ramificado.", "delete_posts_instruction": "Clique nos posts que você deseja deletar/limpar", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Digite aqui o título para o seu tópico...", "composer.handle_placeholder": "Nome", "composer.discard": "Descartar", @@ -121,5 +124,8 @@ "stale.warning": "O tópico que você está respondendo é bem antigo. Você gostaria de criar um novo tópico ao invés disso, e referenciá-lo em sua resposta?", "stale.create": "Criar um novo tópico", "stale.reply_anyway": "Responder à este tópico assim mesmo", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/pt-BR/user.json b/public/language/pt-BR/user.json index 5ebf4696b3..824abb079c 100644 --- a/public/language/pt-BR/user.json +++ b/public/language/pt-BR/user.json @@ -1,6 +1,7 @@ { "banned": "Banido", "offline": "Offline", + "deleted": "Deleted", "username": "Nome de Usuário", "joindate": "Data de Entrada", "postcount": "Número de Posts", @@ -11,7 +12,7 @@ "ban_account_confirm": "Você realmente quer banir esse usuario?", "unban_account": "Desbanir Conta", "delete_account": "Deletar Conta", - "delete_account_confirm": "Você tem certeza que deseja excluir a sua conta?
Esta ação é irreversível e você não poderá recuperar quaisquer dos seus dados

Entre com o seu nome de usuário para confirmar que deseja destruir esta conta.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Você tem certeza que deseja excluir essa conta?
Essa ação é irreversível e você não poderá recuperar quaisquer dados

", "account-deleted": "Conta excluída", "fullname": "Nome Completo", @@ -52,7 +53,6 @@ "change_password": "Alterar Senha", "change_password_error": "Senha Inválida!", "change_password_error_wrong_current": "Sua senha atual está incorreta!", - "change_password_error_length": "Senha muito curta!", "change_password_error_match": "As senhas devem conferir!", "change_password_error_privileges": "Você não possui permissões para alterar esta senha.", "change_password_success": "Sua senha foi alterada!", diff --git a/public/language/pt-PT/admin/admin.json b/public/language/pt-PT/admin/admin.json index 349b832a5c..f89475e468 100644 --- a/public/language/pt-PT/admin/admin.json +++ b/public/language/pt-PT/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/pt-PT/admin/appearance/themes.json b/public/language/pt-PT/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/pt-PT/admin/appearance/themes.json +++ b/public/language/pt-PT/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/pt-PT/admin/extend/plugins.json b/public/language/pt-PT/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/pt-PT/admin/extend/plugins.json +++ b/public/language/pt-PT/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/pt-PT/admin/general/dashboard.json b/public/language/pt-PT/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/pt-PT/admin/general/dashboard.json +++ b/public/language/pt-PT/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/pt-PT/admin/menu.json b/public/language/pt-PT/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/pt-PT/admin/menu.json +++ b/public/language/pt-PT/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/pt-PT/admin/settings/advanced.json b/public/language/pt-PT/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/pt-PT/admin/settings/advanced.json +++ b/public/language/pt-PT/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/pt-PT/admin/settings/post.json b/public/language/pt-PT/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/pt-PT/admin/settings/post.json +++ b/public/language/pt-PT/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/pt-PT/admin/settings/uploads.json b/public/language/pt-PT/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/pt-PT/admin/settings/uploads.json +++ b/public/language/pt-PT/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/pt-PT/email.json b/public/language/pt-PT/email.json index c4fe9fe43e..11d6fe3f57 100644 --- a/public/language/pt-PT/email.json +++ b/public/language/pt-PT/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Um administrador aceitou o teu registo de aplicação. Podes agora fazer login com o teu nome de utilizador/palavra-passe.", "welcome.cta": "Clica aqui para confirmares o teu endereço de e-mail", "invitation.text1": "%1 convidou-te para te juntares a %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Clica aqui para criares a tua conta.", "reset.text1": "Recebemos um pedido para reiniciar a tua palavra-passe, possivelmente porque te esqueceste dela. Se este não é o caso, por favor ignora este e-mail.", "reset.text2": "Para continuares com o reinício da tua palavra-passe, clica no seguinte link:", diff --git a/public/language/pt-PT/error.json b/public/language/pt-PT/error.json index 331d897d8d..ef4d41ecf6 100644 --- a/public/language/pt-PT/error.json +++ b/public/language/pt-PT/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Não tens permissão para eliminar esta mensagem", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Já votaste nesta publicação.", "reputation-system-disabled": "Sistema de reputação desativado.", "downvoting-disabled": "Voto negativo desativado", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Rota para a página principal inválida", "invalid-session": "Sessão incompatível", "invalid-session-text": "Parece que a sua sessão de login não se encontra mais ativa ou não tem correspondência com o servidor. por favor recarregue esta página.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/pt-PT/global.json b/public/language/pt-PT/global.json index c9080f4215..a1f6b5707f 100644 --- a/public/language/pt-PT/global.json +++ b/public/language/pt-PT/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Aprende mais", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/pt-PT/modules.json b/public/language/pt-PT/modules.json index 5c7ffcaca4..4b85f976a9 100644 --- a/public/language/pt-PT/modules.json +++ b/public/language/pt-PT/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Conversa com ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Escreve a mensagem aqui, pressiona enter para enviar", "chat.send": "Enviar", "chat.no_active": "Não tens conversas ativas.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Conversas recentes", "chat.contacts": "Contactos", "chat.message-history": "Histórico de mensagens", + "chat.options": "Chat options", "chat.pop-out": "Destacar a janela de conversação", "chat.minimize": "Minimize", "chat.maximize": "Maximizar", @@ -20,7 +21,17 @@ "chat.three_months": "3 meses", "chat.delete_message_confirm": "Tens a certeza que desejas apagar esta mensagem?", "chat.add-users-to-room": "Adicionar utilizadores à sala", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compor", "composer.show_preview": "Mostrar pré-visualização", "composer.hide_preview": "Ocultar pré-visualização", diff --git a/public/language/pt-PT/reset_password.json b/public/language/pt-PT/reset_password.json index a317ced7bc..27c50ec3ee 100644 --- a/public/language/pt-PT/reset_password.json +++ b/public/language/pt-PT/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirmar palavra-passe", "enter_email": "Por favor, insere o teu undergo de e-mail e nós iremos enviar-te um e-mail com instruções para reiniciares a tua conta.", "enter_email_address": "Insere o endereço de e-mail", - "password_reset_sent": "Reinício de palavra-passe enviado", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "E-mail inválido / E-mail não existe!", "password_too_short": "A palavra-passe inserida é demasiado pequena. Por favor, escolhe uma nova.", "passwords_do_not_match": "As duas palavras-passe que inseriste não coincidem.", diff --git a/public/language/pt-PT/search.json b/public/language/pt-PT/search.json index 710b060b6e..d9c8ca3df8 100644 --- a/public/language/pt-PT/search.json +++ b/public/language/pt-PT/search.json @@ -5,6 +5,9 @@ "in": "Em", "titles": "Títulos", "titles-posts": "Títulos e Publicações", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Publicado por", "in-categories": "Em Categorias", "search-child-categories": "Procurar categorias infantis", diff --git a/public/language/pt-PT/topic.json b/public/language/pt-PT/topic.json index c0773c59bc..f2828520b3 100644 --- a/public/language/pt-PT/topic.json +++ b/public/language/pt-PT/topic.json @@ -32,6 +32,7 @@ "moved": "Movido", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Carrega aqui para voltares à última publicação lide assunto.", "flag_title": "Sinaliza esta publicação para moderação", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Bloquear tópico", "thread_tools.unlock": "Desbloquear tópico", "thread_tools.move": "Mover tópico", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Mover todos", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Clonar tópico", @@ -95,6 +97,7 @@ "fork_success": "Clonaste um tópico com sucesso! Carrega aqui para ires para o tópico clonado.", "delete_posts_instruction": "Carrega em publicações que queres apagar/purgar", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Insere aqui o título do tópico...", "composer.handle_placeholder": "Nome", "composer.discard": "Descartar", @@ -121,5 +124,8 @@ "stale.warning": "O tópico ao qual estás a responder é bastante antigo. Gostarias antes de criar um novo tópico e referir este na tua resposta?", "stale.create": "Criar um novo tópico", "stale.reply_anyway": "Responder a este tópico à mesma", - "link_back": "Referindo: [%1](%2)" + "link_back": "Referindo: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/pt-PT/user.json b/public/language/pt-PT/user.json index f034a45064..f5e96926ee 100644 --- a/public/language/pt-PT/user.json +++ b/public/language/pt-PT/user.json @@ -1,6 +1,7 @@ { "banned": "Banido", "offline": "Offline", + "deleted": "Deleted", "username": "Nome de utilizador", "joindate": "Juntar data", "postcount": "Contagem de publicações", @@ -11,7 +12,7 @@ "ban_account_confirm": "Queres realmente banir este utilizador?", "unban_account": "Deixar de banir esta conta", "delete_account": "Eliminar conta", - "delete_account_confirm": "Tens a certeza que queres eliminar a tua conta?
Esta ação é irreversível e não terás oportunidade de recuperar nenhuma das tuas informações

Insere o teu nome de utilizador para confirmar que desejas destruir esta conta.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Tens a certeza que queres apagar esta conta?
Esta acção é irreversível e não terás oportunidade de recuperar nenhuma informação

", "account-deleted": "Conta eliminada", "fullname": "Nome completo", @@ -52,7 +53,6 @@ "change_password": "Palavra-passe alterada", "change_password_error": "Palavra-passe inválida!", "change_password_error_wrong_current": "A tua palavra-passe atual não está correta!", - "change_password_error_length": "Palavra-passe demasiado curta!", "change_password_error_match": "As palavras-passe devem coincidir!", "change_password_error_privileges": "Não tens os direitos necessários para alterar esta palavra-passe.", "change_password_success": "A tua palavra-passe foi atualizada!", diff --git a/public/language/ro/admin/admin.json b/public/language/ro/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/ro/admin/admin.json +++ b/public/language/ro/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/ro/admin/appearance/themes.json b/public/language/ro/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/ro/admin/appearance/themes.json +++ b/public/language/ro/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/ro/admin/extend/plugins.json b/public/language/ro/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/ro/admin/extend/plugins.json +++ b/public/language/ro/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/ro/admin/general/dashboard.json b/public/language/ro/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/ro/admin/general/dashboard.json +++ b/public/language/ro/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/ro/admin/menu.json b/public/language/ro/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/ro/admin/menu.json +++ b/public/language/ro/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/ro/admin/settings/advanced.json b/public/language/ro/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/ro/admin/settings/advanced.json +++ b/public/language/ro/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/ro/admin/settings/post.json b/public/language/ro/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/ro/admin/settings/post.json +++ b/public/language/ro/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/ro/admin/settings/uploads.json b/public/language/ro/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/ro/admin/settings/uploads.json +++ b/public/language/ro/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/ro/email.json b/public/language/ro/email.json index 4be51619f6..a63923fe06 100644 --- a/public/language/ro/email.json +++ b/public/language/ro/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "Apasă aici pentru a confirma adresa ta de email", "invitation.text1": "%1 te-a invitat să te alături %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Click here to create your account.", "reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.", "reset.text2": "Pentru a continua cu resetarea parolei, te rugăm sa apeși pe următorul link:", diff --git a/public/language/ro/error.json b/public/language/ro/error.json index b912cdbf70..40be6a680d 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Sistemul de reputație este dezactivat.", "downvoting-disabled": "Votarea negativă este dezactivată", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/ro/global.json b/public/language/ro/global.json index 7f76b74481..d74a7eebac 100644 --- a/public/language/ro/global.json +++ b/public/language/ro/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/ro/modules.json b/public/language/ro/modules.json index c1a2cb2b4f..6c7dbaaf60 100644 --- a/public/language/ro/modules.json +++ b/public/language/ro/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Conversează cu ", + "chat.chatting_with": "Chat with", "chat.placeholder": "introdu mesajul conversației aici, apasă enter pentru a trimite", "chat.send": "Trimite", "chat.no_active": "Nu ai nici o conversație activă", @@ -12,6 +12,7 @@ "chat.recent-chats": "Conversații Recente", "chat.contacts": "Contacte", "chat.message-history": "Istorie Mesaje", + "chat.options": "Chat options", "chat.pop-out": "Chat pop-up", "chat.minimize": "Minimize", "chat.maximize": "Maximizează", @@ -20,7 +21,17 @@ "chat.three_months": "3 Luni", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Scrie", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/ro/reset_password.json b/public/language/ro/reset_password.json index 02afb16f0c..0071a04c1f 100644 --- a/public/language/ro/reset_password.json +++ b/public/language/ro/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Confirmă Parola", "enter_email": "Te rugăm sa introduci adresa ta de email și îți vom trimite un email cu instrucțiuni pentru a îți reseta contul tău de utilizator.", "enter_email_address": "Introdu adresă de email", - "password_reset_sent": "Emailul pentru resetarea parolei a fost trimis", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Adresă de email invalidă / Adresa de email nu există!", "password_too_short": "The password entered is too short, please pick a different password.", "passwords_do_not_match": "The two passwords you've entered do not match.", diff --git a/public/language/ro/search.json b/public/language/ro/search.json index 91a591e180..28721a7d01 100644 --- a/public/language/ro/search.json +++ b/public/language/ro/search.json @@ -5,6 +5,9 @@ "in": "În", "titles": "Titluri", "titles-posts": "Titluri şi Mesaje", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Postat de", "in-categories": "În Categorii", "search-child-categories": "Search child categories", diff --git a/public/language/ro/topic.json b/public/language/ro/topic.json index 946e19840b..8318e03c51 100644 --- a/public/language/ro/topic.json +++ b/public/language/ro/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Semnalizează acest mesaj pentru moderare", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Închide Subiect", "thread_tools.unlock": "Deschide Subiect", "thread_tools.move": "Mută Subiect", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Mută-le pe toate", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Bifurcă Subiect", @@ -95,6 +97,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Introdu numele subiectului aici ...", "composer.handle_placeholder": "Name", "composer.discard": "Renunță", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/ro/user.json b/public/language/ro/user.json index a988b79d03..da13335e90 100644 --- a/public/language/ro/user.json +++ b/public/language/ro/user.json @@ -1,6 +1,7 @@ { "banned": "Banat", "offline": "Deconectat", + "deleted": "Deleted", "username": "Nume utilizator", "joindate": "Join Date", "postcount": "Post Count", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Șterge Cont", - "delete_account_confirm": "Ești sigur ca vrei să îți ștergi contul?
Această acțiune este ireversibilă și nu o să mai fie posibil să îți recuperezi datele

Introdu numele tău de utilizator pentru a confirma că dorești să ștergi acest cont.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Cont șters", "fullname": "Nume Întreg", @@ -52,7 +53,6 @@ "change_password": "Schimbă Parola", "change_password_error": "Parola invalidă!", "change_password_error_wrong_current": "Parola ta curentă nu este corectă!", - "change_password_error_length": "Parolă prea scurtă!", "change_password_error_match": "Parolele trebuie să se potrivească!", "change_password_error_privileges": "Nu ai nici un drept să schimbi această parolă.", "change_password_success": "Parola ta a fost actualizată!", diff --git a/public/language/ru/admin/admin.json b/public/language/ru/admin/admin.json index 7fc0dfede7..26dc23bef2 100644 --- a/public/language/ru/admin/admin.json +++ b/public/language/ru/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Вы уверены, что хотите перезагрузить NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Вы уверены, что хотите перезапустить NodeBB?", "acp-title": "%1 | Панель администратора NodeBB", diff --git a/public/language/ru/admin/appearance/customise.json b/public/language/ru/admin/appearance/customise.json index 275ad2b36c..76d9dd9739 100644 --- a/public/language/ru/admin/appearance/customise.json +++ b/public/language/ru/admin/appearance/customise.json @@ -1,14 +1,14 @@ { - "custom-css": "Custom CSS/LESS", - "custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.", - "custom-css.enable": "Enable Custom CSS/LESS", + "custom-css": "Пользовательский CSS/LESS", + "custom-css.description": "Введите собственные CSS/LESS здесь, применяемые после всех других стилей.", + "custom-css.enable": "Включить пользовательский CSS/LESS", "custom-js": "Каcтомный Javascript", - "custom-js.description": "Enter your own javascript here. It will be executed after the page is loaded completely.", - "custom-js.enable": "Enable Custom Javascript", + "custom-js.description": "Укажите свой javascript здесь. Он будет выполнен после полной загрузки страницы.", + "custom-js.enable": "Включить пользовательский Javascript", "custom-header": "Пользовательский Заголовок", - "custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <head> section of your forum's markup. Script tags are allowed, but are discouraged, as the Custom Javascript tab is available.", + "custom-header.description": "Введите HTML здесь (напр.. Мететеги и т.д.), для добавления в <head> секцию разметки форума. Теги скриптов разрешены, но не рекомендуются т.к. доступна вкладкаCustom Javascript.", "custom-header.enable": "Включить Пользовательский заголовок", "custom-css.livereload": "Включить автоматическую перезагрузку страниц", diff --git a/public/language/ru/admin/appearance/skins.json b/public/language/ru/admin/appearance/skins.json index ccf0259de4..abffb8d58c 100644 --- a/public/language/ru/admin/appearance/skins.json +++ b/public/language/ru/admin/appearance/skins.json @@ -5,5 +5,5 @@ "current-skin": "Текущий стиль", "skin-updated": "Стиль обновлен", "applied-success": "%1 тема была успешно применена", - "revert-success": "Skin reverted to base colours" + "revert-success": "Тема возвращена к цветам по умолчанию" } \ No newline at end of file diff --git a/public/language/ru/admin/appearance/themes.json b/public/language/ru/admin/appearance/themes.json index b4d1b87426..e492719141 100644 --- a/public/language/ru/admin/appearance/themes.json +++ b/public/language/ru/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Вы уверены, что хотите восстановить стандартную NodeBB тему?", "theme-changed": "Тема сменена", "revert-success": "Вы успешно вернули ваш NodeBB обратно к его стандартной теме.", - "restart-to-activate": "Пожалуйста, перезапустите ваш NodeBB, чтобы полностью активировать эту тему" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/ru/admin/development/info.json b/public/language/ru/admin/development/info.json index 0a4ae6fe2c..c533f4f489 100644 --- a/public/language/ru/admin/development/info.json +++ b/public/language/ru/admin/development/info.json @@ -1,18 +1,18 @@ { - "you-are-on": "Info - You are on %1:%2", + "you-are-on": "Инфо - Вы находитесь на %1:%2", "nodes-responded": "%1 nodes responded within %2ms!", - "host": "host", + "host": "хост", "pid": "pid", "nodejs": "nodejs", - "online": "online", + "online": "онлайн", "git": "git", - "memory": "memory", - "load": "load", - "uptime": "uptime", + "memory": "память", + "load": "загрузка", + "uptime": "время работы", - "registered": "Registered", + "registered": "Зарегистрированных", "sockets": "Sockets", - "guests": "Guests", + "guests": "Гостей", - "info": "Info" + "info": "Инфо" } \ No newline at end of file diff --git a/public/language/ru/admin/development/logger.json b/public/language/ru/admin/development/logger.json index efbb214bf9..3e363c5807 100644 --- a/public/language/ru/admin/development/logger.json +++ b/public/language/ru/admin/development/logger.json @@ -1,6 +1,6 @@ { "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.", + "description": "Включив чек-боксы, вы получите логи на свой терминал. Если вы укажете путь, логи будут сохранены в файле. Протокол HTTP полезен для сбора статистики о том, кто, когда и где посетители получают на вашем форуме. Помимо регистрации HTTP-запросов, мы также можем регистрировать события socket.io. Регистрация Socket.io в сочетании с монитором redis-cli может быть очень полезна для исследования внутреннего состояния NodeBB.", "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", "enable-http": "Включить HTTP логирование", "enable-socket": "Enable socket.io event logging", diff --git a/public/language/ru/admin/extend/plugins.json b/public/language/ru/admin/extend/plugins.json index 89b319c346..4b2e04b805 100644 --- a/public/language/ru/admin/extend/plugins.json +++ b/public/language/ru/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Плагин удален", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Плагин успешно отключен", - "alert.upgrade-success": "Пожалуйста перезапустите ваш NodeBB, чтобы полностью обновить этот плагин", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Плагин успешно установлен, пожалуйста активируйте этот плагин.", "alert.uninstall-success": "Плагин успешно отключен и удален.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/ru/admin/general/dashboard.json b/public/language/ru/admin/general/dashboard.json index 8adf24e073..b8dbff3a40 100644 --- a/public/language/ru/admin/general/dashboard.json +++ b/public/language/ru/admin/general/dashboard.json @@ -2,10 +2,10 @@ "forum-traffic": "Трафик ", "page-views": "Просмотров", "unique-visitors": "Посетителей", - "users": "Users", + "users": "Пользователи", "posts": "Posts", "topics": "Topics", - "page-views-seven": "Last 7 Days", + "page-views-seven": "Последние 7 дней", "page-views-thirty": "Last 30 Days", "page-views-last-day": "Last 24 hours", "page-views-custom": "Custom Date Range", @@ -23,10 +23,11 @@ "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.

", + "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.

", "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": "Restart not required", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "Управление", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Режим тех обслуживания", diff --git a/public/language/ru/admin/menu.json b/public/language/ru/admin/menu.json index 07f9fcd865..d60fc012f4 100644 --- a/public/language/ru/admin/menu.json +++ b/public/language/ru/admin/menu.json @@ -9,15 +9,15 @@ "section-manage": "Управление", "manage/categories": "Категории", - "manage/privileges": "Privileges", + "manage/privileges": "Привилегии", "manage/tags": "Теги", "manage/users": "Пользователи", "manage/admins-mods": "Admins & Mods", "manage/registration": "Очередь на регистрацию", - "manage/post-queue": "Post Queue", + "manage/post-queue": "Очередь публикации", "manage/groups": "Группы", "manage/ip-blacklist": "Блокировка IP", - "manage/uploads": "Uploads", + "manage/uploads": "Загрузки", "section-settings": "Настройки", "settings/general": "Главные", @@ -63,16 +63,19 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", - "restart-forum": "Restart Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", + "restart-forum": "Перезапустить Форум", "logout": "Выйти", - "view-forum": "View Forum", + "view-forum": "Просмотреть Форум", - "search.placeholder": "Search for settings", + "search.placeholder": "Поиск настроек", "search.no-results": "Нет результата...", "search.search-forum": "Search the forum for ", "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/advanced.json b/public/language/ru/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/ru/admin/settings/advanced.json +++ b/public/language/ru/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/ru/admin/settings/chat.json b/public/language/ru/admin/settings/chat.json index a5d73430ce..f61ea922d0 100644 --- a/public/language/ru/admin/settings/chat.json +++ b/public/language/ru/admin/settings/chat.json @@ -1,11 +1,11 @@ { - "chat-settings": "Chat Settings", + "chat-settings": "Настройки Чата", "disable": "Отключить чат", "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-room-size": "Максимальное число пользователей в чат комнатах", + "delay": "Время между сообщениями чата в милисекундах", "restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit chat messages after posting. (0 disabled)", "restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete chat messages after posting. (0 disabled)" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/guest.json b/public/language/ru/admin/settings/guest.json index 6b2ac2c8b2..6f0b598787 100644 --- a/public/language/ru/admin/settings/guest.json +++ b/public/language/ru/admin/settings/guest.json @@ -2,7 +2,7 @@ "handles": "Guest Handles", "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\"", - "privileges": "Guest Privileges", - "privileges.can-search": "Allow guests to search without logging in", - "privileges.can-search-users": "Allow guests to search users without logging in" + "privileges": "Гостевые Привилегии", + "privileges.can-search": "Разрешить гостям выполнять поиск без входа в систему", + "privileges.can-search-users": "Разрешить гостям искать пользователей без входа в систему" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/post.json b/public/language/ru/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/ru/admin/settings/post.json +++ b/public/language/ru/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/reputation.json b/public/language/ru/admin/settings/reputation.json index c698592cff..59ec80ddf1 100644 --- a/public/language/ru/admin/settings/reputation.json +++ b/public/language/ru/admin/settings/reputation.json @@ -1,12 +1,12 @@ { - "reputation": "Reputation Settings", - "disable": "Disable Reputation System", - "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "reputation": "Настройки репутации", + "disable": "Отключить Репутационную Систему", + "disable-down-voting": "Отключить Понижение Репутации", + "votes-are-public": "Все Голоса Общедоступны", "thresholds": "Activity Thresholds", - "min-rep-downvote": "Minimum reputation to downvote posts", + "min-rep-downvote": "Минимальная репутация для понижения рейтинга сообщения", "min-rep-flag": "Minimum reputation to flag posts", - "min-rep-website": "Minimum reputation to add \"Website\" to user profile", - "min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile", - "min-rep-signature": "Minimum reputation to add \"Signature\" to user profile" + "min-rep-website": "Минимальная репутация для добавления «Веб-сайта» в профиль пользователя", + "min-rep-aboutme": "Минимальная репутация, чтобы добавить «Обо мне» в профиль пользователя", + "min-rep-signature": "Минимальная репутация для добавления «Подписи» в профиль пользователя" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/uploads.json b/public/language/ru/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/ru/admin/settings/uploads.json +++ b/public/language/ru/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/ru/email.json b/public/language/ru/email.json index dc9b87f26a..120c922e25 100644 --- a/public/language/ru/email.json +++ b/public/language/ru/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Администратор подтвердил вашу регистрацию. Теперь вы можете авторизоваться на сайте.", "welcome.cta": "Перейдите по ссылке для подтверждения вашей электронной почты", "invitation.text1": "%1 пригласил вас на сайт %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Нажмите здесь, чтобы создать учётную запись.", "reset.text1": "Кто-то отправил запрос на сброс пароля на нашем сайте. Если вы не подавали запрос, пожалуйста, проигнорируйте это сообщение.", "reset.text2": "Для продолжения процедуры изменения пароля перейдите по ссылке:", @@ -30,12 +31,12 @@ "notif.chat.unsub.info": "Вы получили это уведомление в соответствии с настройками своей подписки на новости сайта.", "notif.post.cta": "Нажмите для просмотра всей темы.", "notif.post.unsub.info": "Вы получили это уведомление согласно вашим настройкам подписки.", - "notif.cta": "Click here to go to forum", + "notif.cta": "Нажмите здесь для перехода к форуму", "test.text1": "Это тестовое сообщение для проверки почтового сервиса.", "unsub.cta": "Изменить настройки", - "banned.subject": "You have been banned from %1", - "banned.text1": "The user %1 has been banned from %2.", - "banned.text2": "This ban will last until %1.", - "banned.text3": "This is the reason why you have been banned:", + "banned.subject": "Вы были заблокированы в %1.", + "banned.text1": "Участник %1 заблокирован в %2.", + "banned.text2": "Эта блокировка продлится до %1.", + "banned.text3": "Это причина, почему вы были заблокированны.", "closing": "Спасибо!" } \ No newline at end of file diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 10b4d4b5a9..a757a5f630 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "К сожалению, у вас нет доступа для удаления этого сообщения", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Спасибо, вы уже проголосовали за это сообщение.", "reputation-system-disabled": "Система репутации отключена.", "downvoting-disabled": "Понижение оценки отключено", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Неверная ссылка на домашнюю страницу", "invalid-session": "Сессия не существует", "invalid-session-text": "Похоже, что ваша сессия больше не активна или она не совпадает с сессией на сервере. Пожалуйста, обновите эту страницу.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/ru/global.json b/public/language/ru/global.json index 777f9aa376..c63d04cb87 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Подробнее", "edited": "Отредактированный", "disabled": "Отключено", - "select": "Выбрать" + "select": "Выбрать", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/ru/modules.json b/public/language/ru/modules.json index f000b93b6b..0bd452bdc3 100644 --- a/public/language/ru/modules.json +++ b/public/language/ru/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Чат с ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Введите сообщение, нажмите Enter для отправки", "chat.send": "Отправить", "chat.no_active": "У вас нет активных чатов.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Последние переписки", "chat.contacts": "Контакты", "chat.message-history": "История сообщений", + "chat.options": "Chat options", "chat.pop-out": "Покинуть диалог", "chat.minimize": "Свернуть", "chat.maximize": "Развернуть", @@ -20,7 +21,17 @@ "chat.three_months": "3 месяца", "chat.delete_message_confirm": "Вы уверены, что хотите удалить это сообщение?", "chat.add-users-to-room": "Добавить участников в комнату", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "Этот пользователь установил статус \"Не беспокоить\". Вы все еще хотите написать ему?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Редактор сообщений", "composer.show_preview": "Показать предпросмотр сообщения", "composer.hide_preview": "Скрыть предпросмотр", diff --git a/public/language/ru/reset_password.json b/public/language/ru/reset_password.json index 8241e1ac34..241b50fa8f 100644 --- a/public/language/ru/reset_password.json +++ b/public/language/ru/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Подтвердите пароль", "enter_email": "Пожалуйста введите ваш адрес электронной почты, чтобы получить письмо с инструкцией по восстановлению пароля.", "enter_email_address": "Введите адрес электронной почты", - "password_reset_sent": "Пароль отправлен", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Адрес электронной почты указан неверно. Пожалуйста, исправьте", "password_too_short": "Введённый пароль слишком короткий, это небезопасно. Пожалуйста, придумайте более длинный пароль.", "passwords_do_not_match": "Введённые пароли не совпадают. Пожалуйста, укажите одинаковые пароли.", diff --git a/public/language/ru/search.json b/public/language/ru/search.json index 9ff5643500..f685b6f9c0 100644 --- a/public/language/ru/search.json +++ b/public/language/ru/search.json @@ -5,6 +5,9 @@ "in": "В", "titles": "Названия", "titles-posts": "Названия и записи", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "В именах авторов записей", "in-categories": "В сообществах", "search-child-categories": "Искать в рубриках", diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json index bd9a01a825..6fef30267d 100644 --- a/public/language/ru/topic.json +++ b/public/language/ru/topic.json @@ -30,8 +30,9 @@ "locked": "Закрыт", "pinned": "Прикреплена", "moved": "Перемещена", - "copy-ip": "Copy IP", + "copy-ip": "Копировать IP", "ban-ip": "Ban IP", + "view-history": "Редактировать историю", "bookmark_instructions": "Нажмите здесь, чтобы вернуться к последнему прочитанному сообщению в этой теме.", "flag_title": "Отметить сообщение для модерирования", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Закрыть тему", "thread_tools.unlock": "Открыть тему", "thread_tools.move": "Переместить тему", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Переместить всё", "thread_tools.select_category": "Выберите категорию", "thread_tools.fork": "Создать дополнительную ветвь дискуссии", @@ -95,6 +97,7 @@ "fork_success": "Готово! Просмотр отделённой темы.", "delete_posts_instruction": "Отметьте записи, которые вы хотите удалить", "merge_topics_instruction": "Выберите темы которые вы хотите объединить", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Введите название темы...", "composer.handle_placeholder": "Название", "composer.discard": "Отменить", @@ -121,5 +124,8 @@ "stale.warning": "Тема, в которую вы пишите, очень старая. Вы хотите создать новую тему?", "stale.create": "Создать новую тему", "stale.reply_anyway": "Всё равно ответить в этой теме", - "link_back": "Ответ: [%1](%2)" + "link_back": "Ответ: [%1](%2)", + "diffs.title": "История Редактирования Сообщения", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/ru/user.json b/public/language/ru/user.json index fbb0148d9d..b27478afcc 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -1,6 +1,7 @@ { "banned": "Заблокирован", "offline": "Не в сети", + "deleted": "Удалён", "username": "Имя участника", "joindate": "Дата регистрации", "postcount": "Сообщений", @@ -11,7 +12,7 @@ "ban_account_confirm": "Вы действительно хотите заблокировать этого участника?", "unban_account": "Разблокировать учётную запись", "delete_account": "Удалить учётную запись", - "delete_account_confirm": "Вы уверены, что хотите удалить учётную запись?
Это действие необратимо, вы не сможете восстановить свои данные

Введите имя участника для подтверждения уничтожения учётной записи.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Вы уверены, что хотите удалить этот аккаунт?
Это действие является необратимым, вы не сможете восстановить любые данные

", "account-deleted": "Учётная запись удалена", "fullname": "Полное имя", @@ -52,7 +53,6 @@ "change_password": "Изменить пароль", "change_password_error": "Неверный пароль!", "change_password_error_wrong_current": "Текущий пароль указан неверно!", - "change_password_error_length": "Пароль слишком короткий!", "change_password_error_match": "Пароли должны совпадать!", "change_password_error_privileges": "Вы не можете изменить пароль.", "change_password_success": "Ваш пароль изменён!", @@ -95,7 +95,7 @@ "topics_per_page": "Тем на странице", "posts_per_page": "Записей на странице", "max_items_per_page": "Максимум %1", - "acp_language": "Admin Page Language", + "acp_language": "Язык Административной Страницы", "notification_sounds": "Воспроизводить звук во время получения уведомления", "notifications_and_sounds": "Уведомления и звуки", "incoming-message-sound": "Звук входящего сообщения", diff --git a/public/language/rw/admin/admin.json b/public/language/rw/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/rw/admin/admin.json +++ b/public/language/rw/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/rw/admin/appearance/themes.json b/public/language/rw/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/rw/admin/appearance/themes.json +++ b/public/language/rw/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/rw/admin/extend/plugins.json b/public/language/rw/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/rw/admin/extend/plugins.json +++ b/public/language/rw/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/rw/admin/general/dashboard.json b/public/language/rw/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/rw/admin/general/dashboard.json +++ b/public/language/rw/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/rw/admin/menu.json b/public/language/rw/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/rw/admin/menu.json +++ b/public/language/rw/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/rw/admin/settings/advanced.json b/public/language/rw/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/rw/admin/settings/advanced.json +++ b/public/language/rw/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/rw/admin/settings/post.json b/public/language/rw/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/rw/admin/settings/post.json +++ b/public/language/rw/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/rw/admin/settings/uploads.json b/public/language/rw/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/rw/admin/settings/uploads.json +++ b/public/language/rw/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/rw/email.json b/public/language/rw/email.json index fbeed00691..0c3e206bd7 100644 --- a/public/language/rw/email.json +++ b/public/language/rw/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Umuyobozi w'urubuga yemeye ubusabe bwawe bwo kwandikwa nk'ukoresha urubuga. Ushobora noneho kwinjiramo ukoresheje izina n'ijambobanga byawe.", "welcome.cta": "Kanda hano kugirango wemeze ko email watanze ari iyawe", "invitation.text1": "%1 yagutumiye kuri %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Kanda hano kugirango utangize konte", "reset.text1": "Twabonye ubusabe bwo gutangiza ijambobanga ryawe bundibushya, wenda bitewe n'uko wibagiwe iryo wari ufite. Niba atari ko bimeze, si ngombwa kwita ku bindi byanditse muri iyi email.", "reset.text2": "Niba ushaka kujya aho uri butangize ijambobanga ryawe, kanda ku murongo ukurikira:", diff --git a/public/language/rw/error.json b/public/language/rw/error.json index 87ef11ffbb..6b1768f99b 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Ibijyanye n'itangwa ry'amanota ntibyemerewe. ", "downvoting-disabled": "Kwambura amanota ntibyemerewe", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/rw/global.json b/public/language/rw/global.json index 9422f4e127..6be1ded2b0 100644 --- a/public/language/rw/global.json +++ b/public/language/rw/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/rw/modules.json b/public/language/rw/modules.json index 8a808163d5..06120a2887 100644 --- a/public/language/rw/modules.json +++ b/public/language/rw/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Ikiganiro na ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Andika ubutumwa bwawe aha. Ushobora gukanda \"Enter\" ngo wohereze.", "chat.send": "Ohereza", "chat.no_active": "Nta biganiro byo mu gikari ufite. ", @@ -12,6 +12,7 @@ "chat.recent-chats": "Ubutumwa Buheruka", "chat.contacts": "Abo Kuvugisha", "chat.message-history": "Ubutumwa Bwahise", + "chat.options": "Chat options", "chat.pop-out": "Fungura Akadirishya k'Igikari", "chat.minimize": "Minimize", "chat.maximize": "Marirayo", @@ -20,7 +21,17 @@ "chat.three_months": "Amezi 3", "chat.delete_message_confirm": "Wiringiye neza ko ushaka gusiba ubu butumwa?", "chat.add-users-to-room": "Ongera abantu mu gikari", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Andika", "composer.show_preview": "Bona Uko Biza Gusa", "composer.hide_preview": "Hisha Uko Biza Gusa", diff --git a/public/language/rw/reset_password.json b/public/language/rw/reset_password.json index b5450e687d..bbc7e28c5b 100644 --- a/public/language/rw/reset_password.json +++ b/public/language/rw/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Emeza Ijambobanga", "enter_email": "Tanga email ukoresha maze tuze kukoherereza ubutumwa bugusobanuria uko uri bureme bundibushya konte yawe.", "enter_email_address": "Shyiramo Email", - "password_reset_sent": "Ubusabe bwo Kurema Bundibushya Bwakiriwe", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Email Itemewe / Email Itabaho!", "password_too_short": "Ijambobanga washyizemo ni rigufi cyane. Gerageza ufate irindi. ", "passwords_do_not_match": "Ijambobanga waryanditse mu buryo bubiri butandukanye kandi bitemewe. ", diff --git a/public/language/rw/search.json b/public/language/rw/search.json index bae0f8f6e7..d8c93408fe 100644 --- a/public/language/rw/search.json +++ b/public/language/rw/search.json @@ -5,6 +5,9 @@ "in": "Muri", "titles": "Imitwe", "titles-posts": "Imitwe n'Ibyashyizweho", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Mu Byashyizweho na", "in-categories": "Mu Byiciro bya", "search-child-categories": "Shakira no mu byiciro bikomokaho", diff --git a/public/language/rw/topic.json b/public/language/rw/topic.json index a1fd342ea6..784113dabc 100644 --- a/public/language/rw/topic.json +++ b/public/language/rw/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Bimenyeshe ubuyobozi", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Fungirana Ikiganiro", "thread_tools.unlock": "Fungurira Ikiganiro", "thread_tools.move": "Imura Ikiganiro", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Byimure Byose", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Gabanyaho ku Kiganiro", @@ -95,6 +97,7 @@ "fork_success": "Umaze kugabanyaho ku kiganiro! Kanda hano ugezwe ku kiganiro cyavutse. ", "delete_posts_instruction": "Kanda ku bintu ushaka guhisha/gusiba", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Shyira umutwe w'ikiganiro cyawe aha...", "composer.handle_placeholder": "Izina", "composer.discard": "Byihorere", @@ -121,5 +124,8 @@ "stale.warning": "Ikiganiro ushaka kuvugaho cyarashaje. Wahitamo gutangiza ikiganiro gishya ariko wenda ukagaragaza kino mu gisubizo uza gushyiraho?", "stale.create": "Tangiza ikiganiro gishya", "stale.reply_anyway": "Vuga kuri iki kiganiro nubundi", - "link_back": "Igisubizo: [%1](%2)" + "link_back": "Igisubizo: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/rw/user.json b/public/language/rw/user.json index b739a78108..f4512ea455 100644 --- a/public/language/rw/user.json +++ b/public/language/rw/user.json @@ -1,6 +1,7 @@ { "banned": "Yarirukanwe", "offline": "Ntari ku Murongo", + "deleted": "Deleted", "username": "Izina ry'Umuntu", "joindate": "Igiye Yaziye", "postcount": "Ingano y'ibyo Yashyizeho", @@ -11,7 +12,7 @@ "ban_account_confirm": "Wiringiye neza ko ushaka kwirukana uyu muntu?", "unban_account": "Garura iyi Konte", "delete_account": "Siba Konte", - "delete_account_confirm": "Wiringiye neza ko ushaka gusiba konte yawe?
Numara kuyisiba ntabwo urabasha kwisubira kandi nturabasha kugarura ibyo wari ufiteho

Shyiramo izina ryawe kugirango wemeze ko koko ushaka gusenya iyi konte.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Wiringiye neza ko ushaka gusiba iyi konte?
Ntabwo uri bubashe kwisubira kandi ntabwo urabasha gusubirana ibyo wari ufiteho numara kuyisiba

", "account-deleted": "Konte yasibwe", "fullname": "Izina Ryuzuye", @@ -52,7 +53,6 @@ "change_password": "Hindura Ijambobanga", "change_password_error": "Ijambobanga Ritari Ryo!", "change_password_error_wrong_current": "Ijambobanga ryawe watanze nk'irisanzweho ntabwo ari ryo!", - "change_password_error_length": "Ijambobanga watanze ni rigufi cyane!", "change_password_error_match": "Ijambobanga ugomba kuryandukura mu buryo bumwe inshuro ebyiri!", "change_password_error_privileges": "Nta burenganzira ufite bwo guhindura iri jambobanga. ", "change_password_success": "Ijambobanga ryawe ryavuguruwe!", diff --git a/public/language/sc/admin/admin.json b/public/language/sc/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/sc/admin/admin.json +++ b/public/language/sc/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/sc/admin/appearance/themes.json b/public/language/sc/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/sc/admin/appearance/themes.json +++ b/public/language/sc/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/sc/admin/extend/plugins.json b/public/language/sc/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/sc/admin/extend/plugins.json +++ b/public/language/sc/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/sc/admin/general/dashboard.json b/public/language/sc/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/sc/admin/general/dashboard.json +++ b/public/language/sc/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/sc/admin/menu.json b/public/language/sc/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/sc/admin/menu.json +++ b/public/language/sc/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/sc/admin/settings/advanced.json b/public/language/sc/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/sc/admin/settings/advanced.json +++ b/public/language/sc/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/sc/admin/settings/post.json b/public/language/sc/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/sc/admin/settings/post.json +++ b/public/language/sc/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/sc/admin/settings/uploads.json b/public/language/sc/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/sc/admin/settings/uploads.json +++ b/public/language/sc/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/sc/email.json b/public/language/sc/email.json index 164e70795e..5172a0ecb6 100644 --- a/public/language/sc/email.json +++ b/public/language/sc/email.json @@ -9,6 +9,7 @@ "welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.", "welcome.cta": "Click here to confirm your email address", "invitation.text1": "%1 has invited you to join %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Click here to create your account.", "reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.", "reset.text2": "To continue with the password reset, please click on the following link:", diff --git a/public/language/sc/error.json b/public/language/sc/error.json index 9ed1e2470e..c2c5f521b6 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "You are not allowed to delete this message", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "You have already voted for this post.", "reputation-system-disabled": "Reputation system is disabled.", "downvoting-disabled": "Downvoting is disabled", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Invalid home page route", "invalid-session": "Session Mismatch", "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/sc/global.json b/public/language/sc/global.json index 3ca4dc9ac6..8b1f0369e3 100644 --- a/public/language/sc/global.json +++ b/public/language/sc/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/sc/modules.json b/public/language/sc/modules.json index e360cae07e..cf615343f3 100644 --- a/public/language/sc/modules.json +++ b/public/language/sc/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chistiona cun ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Type chat message here, press enter to send", "chat.send": "Imbia", "chat.no_active": "Non tenes tzarras ativas.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Recent Chats", "chat.contacts": "Contacts", "chat.message-history": "Message History", + "chat.options": "Chat options", "chat.pop-out": "Pop out chat", "chat.minimize": "Minimize", "chat.maximize": "Maximize", @@ -20,7 +21,17 @@ "chat.three_months": "3 Months", "chat.delete_message_confirm": "Are you sure you wish to delete this message?", "chat.add-users-to-room": "Add users to room", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Compose", "composer.show_preview": "Show Preview", "composer.hide_preview": "Hide Preview", diff --git a/public/language/sc/reset_password.json b/public/language/sc/reset_password.json index 5662fb238f..6e41689782 100644 --- a/public/language/sc/reset_password.json +++ b/public/language/sc/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Cunfirma Password", "enter_email": "Pro praghere pone s'indiritzu email tuo e t'amus a imbiare un'email cun is istrutziones pro torrare a assentare s'intrada tua.", "enter_email_address": "Pone s'Indiritzu Email", - "password_reset_sent": "Còdighe pro Torrare a Assentare sa Password Imbiadu", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Email Non Bàlida / Email chi no esistit!", "password_too_short": "The password entered is too short, please pick a different password.", "passwords_do_not_match": "The two passwords you've entered do not match.", diff --git a/public/language/sc/search.json b/public/language/sc/search.json index 1f4d555f92..accf59f8a3 100644 --- a/public/language/sc/search.json +++ b/public/language/sc/search.json @@ -5,6 +5,9 @@ "in": "In", "titles": "Titles", "titles-posts": "Titles and Posts", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Posted by", "in-categories": "In Categories", "search-child-categories": "Search child categories", diff --git a/public/language/sc/topic.json b/public/language/sc/topic.json index c8b853170c..b02d644384 100644 --- a/public/language/sc/topic.json +++ b/public/language/sc/topic.json @@ -32,6 +32,7 @@ "moved": "Moved", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Click here to return to the last read post in this thread.", "flag_title": "Signala custu arresonu pro sa moderatzione", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Bloca Arresonada", "thread_tools.unlock": "Isbloca Arresonada", "thread_tools.move": "Move Arresonada", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Move All", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Partzi Arresonada", @@ -95,6 +97,7 @@ "fork_success": "Successfully forked topic! Click here to go to the forked topic.", "delete_posts_instruction": "Click the posts you want to delete/purge", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Pone su tìtulu de s'arresonada inoghe...", "composer.handle_placeholder": "Name", "composer.discard": "Lassa a Pèrdere", @@ -121,5 +124,8 @@ "stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?", "stale.create": "Create a new topic", "stale.reply_anyway": "Reply to this topic anyway", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/sc/user.json b/public/language/sc/user.json index 7eb7ce2571..ed4a8b81e8 100644 --- a/public/language/sc/user.json +++ b/public/language/sc/user.json @@ -1,6 +1,7 @@ { "banned": "Blocadu", "offline": "Non in lìnia", + "deleted": "Deleted", "username": "Nùmene de Impitadore", "joindate": "Join Date", "postcount": "Post Count", @@ -11,7 +12,7 @@ "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", "delete_account": "Delete Account", - "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your username to confirm that you wish to destroy this account.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Are you sure you want to delete this account?
This action is irreversible and you will not be able to recover any data

", "account-deleted": "Account deleted", "fullname": "Nùmene e Sambenadu", @@ -52,7 +53,6 @@ "change_password": "Muda Password", "change_password_error": "Invalid Password!", "change_password_error_wrong_current": "Your current password is not correct!", - "change_password_error_length": "Password too short!", "change_password_error_match": "Passwords must match!", "change_password_error_privileges": "You do not have the rights to change this password.", "change_password_success": "Your password is updated!", diff --git a/public/language/sk/admin/admin.json b/public/language/sk/admin/admin.json index ed19bd29e7..79212042c5 100644 --- a/public/language/sk/admin/admin.json +++ b/public/language/sk/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Ste si naozaj istý/á, že chcete znovu načítať NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Ste si naozaj istý/á, že chcete reštartovať NodeBB?", "acp-title": "Ovládací panel administrátora %1 | NodeBB ", diff --git a/public/language/sk/admin/appearance/themes.json b/public/language/sk/admin/appearance/themes.json index 39e282e898..4eb6538272 100644 --- a/public/language/sk/admin/appearance/themes.json +++ b/public/language/sk/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Ste si istý/a, že chcete obnoviť predvolený NodeBB motív?", "theme-changed": "Motív bol zmenený", "revert-success": "Úspešne sa Vám podarilo obnoviť Váš NodeBB do predvoleného motívu.", - "restart-to-activate": "Prosím, reštartujte Váš NodeBB pre úplne aktivovanie tohto motívu." + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/sk/admin/extend/plugins.json b/public/language/sk/admin/extend/plugins.json index 2348758cec..2b67320a7d 100644 --- a/public/language/sk/admin/extend/plugins.json +++ b/public/language/sk/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB sa nemohol pripojiť k správcovi balíčku, pokračovať v inštalácii poslednej verzie?

Server odpovedal (% 1):%2
", diff --git a/public/language/sk/admin/general/dashboard.json b/public/language/sk/admin/general/dashboard.json index 2cee504ac7..cce872f7df 100644 --- a/public/language/sk/admin/general/dashboard.json +++ b/public/language/sk/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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": "

Bola vydaná nová verzia (v%1). Zvážte aktualizáciu Vášho NodeBB.

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

Toto je zastaralá skúšobná verzia NodeBB. Nová verzia (v%1) bola vydaná. Zvážteaktualizáciu NodeBB.

", + "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": "

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

", "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": "

Failed to look up latest available version of NodeBB

", "notices": "Oznámenia", "restart-not-required": "Reštart nie je potrebný", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/sk/admin/menu.json b/public/language/sk/admin/menu.json index 5762994170..993f6b5e31 100644 --- a/public/language/sk/admin/menu.json +++ b/public/language/sk/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/sk/admin/settings/advanced.json b/public/language/sk/admin/settings/advanced.json index 7753ba2abc..f163ef40bc 100644 --- a/public/language/sk/admin/settings/advanced.json +++ b/public/language/sk/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Upravte hlavičku „Powered by” odosielanou NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Ak chcete zamietnuť prístup na všetky stránky, nechajte prázdne", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Správa prevádzky", diff --git a/public/language/sk/admin/settings/post.json b/public/language/sk/admin/settings/post.json index 8ae9b903e2..91c542dbf6 100644 --- a/public/language/sk/admin/settings/post.json +++ b/public/language/sk/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Povoliť zásuvné moduly pre pridanie obsahu do záložky nápovedy", "composer.custom-help": "Používateľský text nápovedy", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/sk/admin/settings/uploads.json b/public/language/sk/admin/settings/uploads.json index babb1e9c8d..b10aabf5ad 100644 --- a/public/language/sk/admin/settings/uploads.json +++ b/public/language/sk/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Nahrané súbory sú súkromné", "max-image-width": "Zmenšiť veľkosť obrázkov na potrebné rozlíšenie (v pixeloch)", "max-image-width-help": "(v pixeloch, predvolené: 760 pixelov, pre zákaz nastavte 0)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximálna veľkosť súboru (v KiB)", "max-file-size-help": "(v kilobajtoch, predvolené 2048 KiB)", "allow-topic-thumbnails": "Povoliť používateľom nahrať miniatúry tém", diff --git a/public/language/sk/email.json b/public/language/sk/email.json index 4c6c20f67d..efcb34f281 100644 --- a/public/language/sk/email.json +++ b/public/language/sk/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Správca práve potvrdil vašu registráciu. Teraz sa môžete prihlásiť svojím menom a heslom.", "welcome.cta": "Kliknite sem pre potvrdenie Vašej e-mailovej adresy", "invitation.text1": "%1 Vás pozval aby ste sa pridali k %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Kliknite sem, pre vytvorenie Vášho účtu", "reset.text1": "Obdržali sme žiadosť o obnovu Vášho hesla. Ak ste o zmenu hesla nežiadali, prosím ignorujte tento e-mail.", "reset.text2": "Pre pokračovanie v obnove hesla, kliknite na nasledovný odkaz:", diff --git a/public/language/sk/error.json b/public/language/sk/error.json index c154914e18..5b67bd0081 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Nemáte oprávanie k odstráneniu tejto správy", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Za tento príspevok ste už hlasovali.", "reputation-system-disabled": "Systém reputácie je zablokovaný.", "downvoting-disabled": "Hlasovanie proti je zablokované", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Neplatná cesta pre domovskú stránku", "invalid-session": "Relácia neodpovedá", "invalid-session-text": "Vyzerá to, že Vaše prihlasovacia relácia už nie je aktívna, alebo sa už nezhoduje so serverom. Aktualizujte túto stránku.", - "no-topics-selected": "Žiadne vybrané témy." + "no-topics-selected": "Žiadne vybrané témy.", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/sk/global.json b/public/language/sk/global.json index 92b2899bec..b0a4376ab9 100644 --- a/public/language/sk/global.json +++ b/public/language/sk/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Zistit viac", "edited": "Zmenené", "disabled": "Zablokovaný", - "select": "Vybrať" + "select": "Vybrať", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/sk/modules.json b/public/language/sk/modules.json index 45681b1269..38c20f8652 100644 --- a/public/language/sk/modules.json +++ b/public/language/sk/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Rozhovor s ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Sem napíšte správu, ktorú odošlete stlačením tlačidla 'Enter'", "chat.send": "Odoslať", "chat.no_active": "Nemáte žiadne aktívne konverzácie.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Najnovšie rozhovory", "chat.contacts": "Kontakty", "chat.message-history": "História správ", + "chat.options": "Chat options", "chat.pop-out": "Vyskakujúce okno konverzácie", "chat.minimize": "Minimalizovať", "chat.maximize": "Maximalizovať", @@ -20,7 +21,17 @@ "chat.three_months": "3 mesiace", "chat.delete_message_confirm": "Ste si istý, že chcete odstrániť túto správu?", "chat.add-users-to-room": "Pridať používateľa do miestnosti", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "Tento používateľ nastavil svoj stav na NERUŠIŤ. Naozaj chcete s ním začať konverzáciu?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Napísať", "composer.show_preview": "Zobraziť náhľad", "composer.hide_preview": "Skryť náhľad", diff --git a/public/language/sk/reset_password.json b/public/language/sk/reset_password.json index be29ba09ab..15ec9bb515 100644 --- a/public/language/sk/reset_password.json +++ b/public/language/sk/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Potvrdenie hesla", "enter_email": "Prosím zadajte svoju e-mailovú adresu a my Vám pošleme informácie, ako môžete obnoviť svoje heslo.", "enter_email_address": "Zadajte e-mailovú adresu", - "password_reset_sent": "Obnova hesla odoslaná", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Nesprávny e-mail / E-mail neexistuje.", "password_too_short": "Zadané heslo je príliš krátke, prosím zadajte iné heslo.", "passwords_do_not_match": "Heslá ktoré ste zadali sa nezhodujú.", diff --git a/public/language/sk/search.json b/public/language/sk/search.json index a4393677af..dae06b0d1c 100644 --- a/public/language/sk/search.json +++ b/public/language/sk/search.json @@ -5,6 +5,9 @@ "in": "V", "titles": "Nadpisy", "titles-posts": "Nadpisy a príspevky", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Napísal", "in-categories": "V kategóriách", "search-child-categories": "Hľadať podružné kategórie", diff --git a/public/language/sk/topic.json b/public/language/sk/topic.json index f330bead66..7b585a9d8b 100644 --- a/public/language/sk/topic.json +++ b/public/language/sk/topic.json @@ -32,6 +32,7 @@ "moved": "Presunuté", "copy-ip": "Kopírovať IP", "ban-ip": "Zablokovať IP", + "view-history": "Edit History", "bookmark_instructions": "Kliknite sem pre návrat k poslednému prečítanému príspevku vo vlákne.", "flag_title": "Označiť príspevok pre zmiernenie", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Uzamknúť tému", "thread_tools.unlock": "Odomknúť tému", "thread_tools.move": "Presunúť tému", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Presunúť všetko", "thread_tools.select_category": "Vybrať kategóriu", "thread_tools.fork": "Rozvetviť tému", @@ -95,6 +97,7 @@ "fork_success": "Rozdelenie témy bolo úspešné! Kliknutím sem sa dostanete na rozdelenú tému", "delete_posts_instruction": "Kliknite na príspevky, ktoré chcete odstrániť/očistiť", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Sem zadajte názov témy...", "composer.handle_placeholder": "Meno", "composer.discard": "Zahodiť", @@ -121,5 +124,8 @@ "stale.warning": "Téma na ktorú odpovedáte je pomerne stará. Chceli by ste vytvoriť novú tému namiesto tejto, a odkazovať na ňu vo Vašej odpovedi?", "stale.create": "Vytvoriť novú tému", "stale.reply_anyway": "Napriek tomu odpovedať na túto tému", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/sk/user.json b/public/language/sk/user.json index 47cd69af31..58e3ef94a7 100644 --- a/public/language/sk/user.json +++ b/public/language/sk/user.json @@ -1,6 +1,7 @@ { "banned": "Zablokovaný", "offline": "Nepripojený", + "deleted": "Deleted", "username": "Užívateľské meno", "joindate": "Dátum registrácie", "postcount": "Počet príspevkov", @@ -11,7 +12,7 @@ "ban_account_confirm": "Naozaj chcete zablokovať tohto používateľa?", "unban_account": "Odblokovať účet", "delete_account": "Odstrániť účet", - "delete_account_confirm": "Ste si naozaj istý, že chcete odstrániť tento účet?
Táto akcia je nezvratná a taktiež nebudete môcť obnoviť žiadne Vaše dáta

Zadajte svoje používateľské meno pre potvrdenie, že chcete zničiť tento účet.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Naozaj ste si istý že chcete odstrániť tento účet?
Táto akcia je nezvratná a taktiež nebudete môcť obnoviť žiadne Vaše údaje

", "account-deleted": "Účet bol odstránený", "fullname": "Meno a priezvisko", @@ -52,7 +53,6 @@ "change_password": "Zmeniť heslo", "change_password_error": "Nesprávne heslo!", "change_password_error_wrong_current": "Vaše súčasné heslo nie je správne", - "change_password_error_length": "Heslo je krátke!", "change_password_error_match": "Heslá sa musia zhodovať!", "change_password_error_privileges": "Nemáte práva na zmenu hesla.", "change_password_success": "Vaše heslo je aktualizované.", diff --git a/public/language/sl/admin/admin.json b/public/language/sl/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/sl/admin/admin.json +++ b/public/language/sl/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/sl/admin/appearance/themes.json b/public/language/sl/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/sl/admin/appearance/themes.json +++ b/public/language/sl/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/sl/admin/extend/plugins.json b/public/language/sl/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/sl/admin/extend/plugins.json +++ b/public/language/sl/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/sl/admin/general/dashboard.json b/public/language/sl/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/sl/admin/general/dashboard.json +++ b/public/language/sl/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/sl/admin/menu.json b/public/language/sl/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/sl/admin/menu.json +++ b/public/language/sl/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/sl/admin/settings/advanced.json b/public/language/sl/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/sl/admin/settings/advanced.json +++ b/public/language/sl/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/sl/admin/settings/post.json b/public/language/sl/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/sl/admin/settings/post.json +++ b/public/language/sl/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/sl/admin/settings/uploads.json b/public/language/sl/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/sl/admin/settings/uploads.json +++ b/public/language/sl/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/sl/email.json b/public/language/sl/email.json index 7cffd285a8..3c835431d6 100644 --- a/public/language/sl/email.json +++ b/public/language/sl/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Skrbnik je sprejel vašo registracijo. Sedaj se lahko prijavite s svojim uporabniškim imenom in geslom.", "welcome.cta": "Kliknite tu za potrditev svojega elektronskega naslova.", "invitation.text1": "%1 te je povabil/-a, da se pridružiš forumu %2.", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Kliknite tu in ustvarite svoj račun.", "reset.text1": "Dobili smo zahtevo za ponastavitev vašega gesla. Če niste zahtevali ponastavitve gesla, prosimo, da prezrete to sporočilo.", "reset.text2": "Za nadaljevanje ponastavitve gesla prosimo, da kliknete na naslednjo povezavo:", diff --git a/public/language/sl/error.json b/public/language/sl/error.json index 31b3755d84..7b4f713a33 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "NImate dovoljenja za izbris tega sporočila.", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Za to objavo ste že glasovali.", "reputation-system-disabled": "Sistem za ugled je onemogočen.", "downvoting-disabled": "Negativno glasovanje je onemogočeno.", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Napačna pot do domače strani.", "invalid-session": "Seje se ne ujemajo.", "invalid-session-text": "Kaže, da vaša prijavna seja ni več aktiva. Prosimo, osvežite to stran.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/sl/global.json b/public/language/sl/global.json index aaca8ca89b..330695e9c3 100644 --- a/public/language/sl/global.json +++ b/public/language/sl/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/sl/modules.json b/public/language/sl/modules.json index 18b2281ba4..7ae7d493c0 100644 --- a/public/language/sl/modules.json +++ b/public/language/sl/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Klepet z osebo ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Sem vpišite sporočilo, nato potrdite za pošiljanje.", "chat.send": "Pošlji", "chat.no_active": "Ni aktivnih klepetov.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Zadnji klepeti", "chat.contacts": "Stiki", "chat.message-history": "Zgodovina klepeta", + "chat.options": "Chat options", "chat.pop-out": "Klepet v novem oknu", "chat.minimize": "Minimize", "chat.maximize": "Povečaj", @@ -20,7 +21,17 @@ "chat.three_months": "3 meseci", "chat.delete_message_confirm": "Ali ste prepričani, da želite izbrisati to sporočilo?", "chat.add-users-to-room": "Dodaj uporabnike v sobo.", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Sestavljanje", "composer.show_preview": "Pokaži predogled", "composer.hide_preview": "Skrij predogled", diff --git a/public/language/sl/reset_password.json b/public/language/sl/reset_password.json index 10fb813a9a..67a7b60fc1 100644 --- a/public/language/sl/reset_password.json +++ b/public/language/sl/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Potrdi geslo", "enter_email": "Prosimo, vpišite svoj e-poštni naslov in poslali vam bomo navodila za ponastavitev uporabniškega računa.", "enter_email_address": "Vpišite svoj e-poštni naslov.", - "password_reset_sent": "Ponastavitev gesla poslana", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Napačen e-poštni naslov./E-poštni naslov ne obstaja!", "password_too_short": "Geslo, ki ste ga izbrali, je prekratko, prosimo, izberite drugačno geslo.", "passwords_do_not_match": "Gesli, ki ste ju vpisali, se ne ujemata.", diff --git a/public/language/sl/search.json b/public/language/sl/search.json index 30c806eba6..c0aa501806 100644 --- a/public/language/sl/search.json +++ b/public/language/sl/search.json @@ -5,6 +5,9 @@ "in": "V", "titles": "Naslovi", "titles-posts": "Naslovi in objave", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Objavil", "in-categories": "V kategoriji", "search-child-categories": "Išči podkategorije", diff --git a/public/language/sl/topic.json b/public/language/sl/topic.json index b5fb82aa0d..c472561b4c 100644 --- a/public/language/sl/topic.json +++ b/public/language/sl/topic.json @@ -32,6 +32,7 @@ "moved": "Premaknjeno", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Klikni tukaj za vrnitev na zadnje prebrano objavo v tej niti", "flag_title": "Označi to objavo za vodenje", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Zakleni temo", "thread_tools.unlock": "Odkleni temo", "thread_tools.move": "Premakni temo", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Premakni vse", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Razcepi temo", @@ -95,6 +97,7 @@ "fork_success": "Uspešno ste razcepili temo! Klikni tu za ogled te teme.", "delete_posts_instruction": "Kliknite na teme, ki jih želite izbrisati/očistiti ", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Vpiši naslov teme...", "composer.handle_placeholder": "Ime", "composer.discard": "Zavrzi", @@ -121,5 +124,8 @@ "stale.warning": "Tema na katero odgovarjaš je precej stara. A ne bi raje ustvaril novo temo namesto te, z sklicem na to v tvojem odgovoru?", "stale.create": "Ustvari novo temo", "stale.reply_anyway": "Vseeno odgovori na to temo", - "link_back": "Odg: [%1](%2)" + "link_back": "Odg: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/sl/user.json b/public/language/sl/user.json index 8b7b866777..f130e97480 100644 --- a/public/language/sl/user.json +++ b/public/language/sl/user.json @@ -1,6 +1,7 @@ { "banned": "Izločen", "offline": "Odjavljeni", + "deleted": "Deleted", "username": "Uporabniško ime", "joindate": "Datum pridružitve", "postcount": "Število objav", @@ -11,7 +12,7 @@ "ban_account_confirm": "Ali želiš izločiti uporabnika?", "unban_account": "Ponovno vključi račun", "delete_account": "Izbriši račun", - "delete_account_confirm": "Ali želiš izbrisati račun?
S potrditvijo bodo izbrisani vsi podatki, ki jih ne bo več možno obnoviti.

Vpiši svoje uporabniško ime za dokončanje procesa.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Ali želiš izbrisati račun?
S potrditvijo bodo izbrisani vsi podatki, ki jih ne bo več možno obnoviti.

", "account-deleted": "Račun je izbrisan", "fullname": "Ime in priimek", @@ -52,7 +53,6 @@ "change_password": "Spremeni geslo", "change_password_error": "Napačno geslo!", "change_password_error_wrong_current": "Tvoje trenutno geslo je napačno!", - "change_password_error_length": "Geslo je prekratko!", "change_password_error_match": "Gesli se morata ujemati!", "change_password_error_privileges": "Nimaš pravice do spremembe gesla.", "change_password_success": "Geslo je bilo posodobljeno!", diff --git a/public/language/sr/admin/admin.json b/public/language/sr/admin/admin.json index c571378ac3..4246df30eb 100644 --- a/public/language/sr/admin/admin.json +++ b/public/language/sr/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Da li želite da ponovo učitate NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Da li želite da restartujete NodeBB?", "acp-title": "%1 | NodeBB Administratorski panel", diff --git a/public/language/sr/admin/appearance/themes.json b/public/language/sr/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/sr/admin/appearance/themes.json +++ b/public/language/sr/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/sr/admin/extend/plugins.json b/public/language/sr/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/sr/admin/extend/plugins.json +++ b/public/language/sr/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/sr/admin/general/dashboard.json b/public/language/sr/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/sr/admin/general/dashboard.json +++ b/public/language/sr/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/sr/admin/menu.json b/public/language/sr/admin/menu.json index f6aec18dfc..9651eae839 100644 --- a/public/language/sr/admin/menu.json +++ b/public/language/sr/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Loger", "development/info": "Info", - "reload-forum": "Ponovo učitaj podešavanja Foruma", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Ponovo učitaj forum", "logout": "Izloguj se", "view-forum": "Pogledaj Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Ukucaj više da vidiš rezultate", "search.start-typing": "Počni da kucaš da vidiš rezultate...", - "connection-lost": "Konekcija ka %1 je izgubljena, pokušavam ponovo da se konektujem..." + "connection-lost": "Konekcija ka %1 je izgubljena, pokušavam ponovo da se konektujem...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/sr/admin/settings/advanced.json b/public/language/sr/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/sr/admin/settings/advanced.json +++ b/public/language/sr/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/sr/admin/settings/post.json b/public/language/sr/admin/settings/post.json index 5deedb8d42..28be4cea86 100644 --- a/public/language/sr/admin/settings/post.json +++ b/public/language/sr/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Dozvoli plugin-ovima da dodaju sadržaj na tab-u \"pomoć\"", "composer.custom-help": "Prilagođen tekst za pomoć", "ip-tracking": "Praćenje IP adrese", - "ip-tracking.each-post": "Prati IP Adresu za svaki post" + "ip-tracking.each-post": "Prati IP Adresu za svaki post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/sr/admin/settings/uploads.json b/public/language/sr/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/sr/admin/settings/uploads.json +++ b/public/language/sr/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/sr/email.json b/public/language/sr/email.json index 98cb324038..693d1f556b 100644 --- a/public/language/sr/email.json +++ b/public/language/sr/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Администратор је прихватио вашу регистрацију. Можете се пријавити са вашим именом и лозинком.", "welcome.cta": "Кликните овде за потврду адресе ваше е-поште", "invitation.text1": "%1 вас је позвао да се придружите %2", + "invitation.text2": "Ваша позивница ће истећи за %1 дана.", "invitation.ctr": "Кликните овде да бисте креирали ваш налог.", "reset.text1": "Примили смо захтев за ресетовање ваше лозинке, вероватно зато што сте је заборавили. Уколико то није случај, молимо да занемарите ово писмо.", "reset.text2": "Да би наставили ас ресетовањем лозинке, кликните на следећу везу:", diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 4d945e4ab3..6cd9e2f0b0 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Није вам дозвољено да избришете ову поруку", "chat-edit-duration-expired": "Време у којем вам је дозвољено уређивање порука ћаскања након објављивања: %1 сек.", "chat-delete-duration-expired": "Време у којем вам је дозвољено брисање порука ћаскања након објављивања: %1 сек.", + "chat-deleted-already": "Ова порука ћаскања је већ избрисана.", + "chat-restored'already": "Ова порука ћаскања је већ обновљена.", "already-voting-for-this-post": "Већ сте гласали за ову поруку.", "reputation-system-disabled": "Угледи су онемогућени.", "downvoting-disabled": "Негативно гласање је онемогућено", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Неважећа путања почетне странице", "invalid-session": "Неподударање сесија", "invalid-session-text": "Изгледа да ваша сесија пријављивања није више активна или се више не подудара са сервером. Поново учитајте ову страницу.", - "no-topics-selected": "Нема одабраних тема!" + "no-topics-selected": "Нема одабраних тема!", + "cant-move-to-same-topic": "Није могуће преместити поруку у исту тему!" } \ No newline at end of file diff --git a/public/language/sr/global.json b/public/language/sr/global.json index 1742fe768c..67af5df929 100644 --- a/public/language/sr/global.json +++ b/public/language/sr/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Сазнајте више", "edited": "Уређено", "disabled": "Онемогућено", - "select": "Изабери" + "select": "Изабери", + "user-search-prompt": "Uкуцајте нешто овде како бисте пронашли кориснике..." } \ No newline at end of file diff --git a/public/language/sr/modules.json b/public/language/sr/modules.json index 156f96ec4b..9788089afc 100644 --- a/public/language/sr/modules.json +++ b/public/language/sr/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Ћаскај са ", + "chat.chatting_with": "Ћаскај са", "chat.placeholder": "Овде унесите текст поруке, притисните ентер за слање", "chat.send": "Пошаљи", "chat.no_active": "Нема активних ћаскања.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Недавна ћаскања", "chat.contacts": "Контакти", "chat.message-history": "Историја порука", + "chat.options": "Опције ћаскања", "chat.pop-out": "Истакни ћаскање", "chat.minimize": "Умањи", "chat.maximize": "Увећај", @@ -20,7 +21,17 @@ "chat.three_months": "3 месеца", "chat.delete_message_confirm": "Да ли сте сигурни да желите да избришете ову поруку?", "chat.add-users-to-room": "Додајте кориснике у собу", + "chat.retrieving-users": "Преузимање корисника...", + "chat.manage-room": "Управљај собама за ћаскање", + "chat.add-user-help": "Потражите кориснике овде. Када буде изабран, корисник ће бити додан у ћаскање. Нови корисник неће бити у могућности да види поруке написане пре него што је додан у преписку.", "chat.confirm-chat-with-dnd-user": "Овај корисник је поставио свој статус на \"Не узнемиравај\". Да ли и даље желите да ћаскате са њим?", + "chat.rename-room": "Преименуј собу", + "chat.rename-placeholder": "Унесите назив собе овде", + "chat.rename-help": "Име собе постављено овде биће видљиво свим учесницима у соби.", + "chat.leave": "Напусти ћаскање", + "chat.leave-prompt": "Да ли сте сигурни да желите да напустите ово ћаскање?", + "chat.leave-help": "Напуштање овог ћаскања ће вас уклонити из будућих преписки у овом ћаскању. Ако будете поново додани у будућности, нећете видети историју ћаскања од пре вашег поновног придруживања.", + "chat.in-room": "У овој соби", "composer.compose": "Писање поруке", "composer.show_preview": "Прикажи преглед", "composer.hide_preview": "Сакриј преглед", diff --git a/public/language/sr/reset_password.json b/public/language/sr/reset_password.json index 2b436964c0..0f50aef356 100644 --- a/public/language/sr/reset_password.json +++ b/public/language/sr/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Потврда нове лозинке", "enter_email": "Унесите вашу адресу е-поште и послаћемо вам писмо за упутством за ресетовање налога.", "enter_email_address": "Унесите адресу е-поште", - "password_reset_sent": "Порука за ресетовање лозинке је послата", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Неисправна е-пошта / е-пошта не постоји!", "password_too_short": "Унета лозинка је прекратка, молимо изаберите другу лозинку.", "passwords_do_not_match": "Унете лозинке се не подударају.", diff --git a/public/language/sr/search.json b/public/language/sr/search.json index ef24e92f17..8c2b039c88 100644 --- a/public/language/sr/search.json +++ b/public/language/sr/search.json @@ -5,6 +5,9 @@ "in": "У", "titles": "Наслови", "titles-posts": "Наслови и поруке", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Објавио", "in-categories": "У категоријама", "search-child-categories": "Претражи поткатегорије", diff --git a/public/language/sr/topic.json b/public/language/sr/topic.json index ae368c442f..2d0e568291 100644 --- a/public/language/sr/topic.json +++ b/public/language/sr/topic.json @@ -32,6 +32,7 @@ "moved": "Премештено", "copy-ip": "Копирај IP", "ban-ip": "Бануј IP", + "view-history": "Уреди историју", "bookmark_instructions": "Кликните овде за повратак на последњу прочитану поруку у овој теми.", "flag_title": "Означи ову поруку за модерацију", "merged_message": "Ова тема је обједињена у %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Закључај тему", "thread_tools.unlock": "Откључај тему", "thread_tools.move": "Премести тему", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Премести све", "thread_tools.select_category": "Изаберите категорију", "thread_tools.fork": "Рачвај тему", @@ -95,6 +97,7 @@ "fork_success": "Тема је успешно рачвана! Кликните овде за одлазак на рачвану тему.", "delete_posts_instruction": "Кликните на поруке које желите да избришете/очистите", "merge_topics_instruction": "Кликните на теме које желите да спојите", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Овде унесите назив теме...", "composer.handle_placeholder": "Име", "composer.discard": "Одбаци", @@ -121,5 +124,8 @@ "stale.warning": "Тема у којој желите да одговорите је сувише стара. Да ли желите да уместо тога креирате нову тему и упутите на ову у вашем одговору?", "stale.create": "Креирај нову тему", "stale.reply_anyway": "Одговори на ову тему у сваком случају", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Историја уређивања поруке", + "diffs.description": "Ова порука има %1 корекција. Кликните на једну од корекција да бисте видели садржај поруке у том тренутку.", + "diffs.no-revisions-description": "Ова порука има %1 корекција." } \ No newline at end of file diff --git a/public/language/sr/user.json b/public/language/sr/user.json index fe9031840c..f6432ba990 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -1,6 +1,7 @@ { "banned": "Забрањен", "offline": "Ван мреже", + "deleted": "Избрисано", "username": "Корисничко име", "joindate": "Датум регистрације", "postcount": "Број порука", @@ -11,7 +12,7 @@ "ban_account_confirm": "Да ли заиста желите да забраните овог корисника?", "unban_account": "Скини забрану налогу", "delete_account": "Брисање налога", - "delete_account_confirm": "Да ли заиста желите да избришете свој налог?
Ова радња је неповратна и нећете моћи да вратите ваше податке

Унесите ваше корисничко име да бисте потврдили да желите да уништите овај налог.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Да ли заиста желите да избришете овај налог?
Ова радња је неповратна и нећете моћи да вратите било који податак

", "account-deleted": "Налог је избрисан", "fullname": "Пуно име", @@ -52,7 +53,6 @@ "change_password": "Промена лозинке", "change_password_error": "Неисправна лозинка", "change_password_error_wrong_current": "Ваша тренутна лозинка није исправна!", - "change_password_error_length": "Лозинка је прекратка!", "change_password_error_match": "Лозинке се морају подударати!", "change_password_error_privileges": "Немате дозволу за мењање ове лозинке.", "change_password_success": "Ваша лозинка је ажурирана!", diff --git a/public/language/sv/admin/admin.json b/public/language/sv/admin/admin.json index 9c01f56006..36f0fdde60 100644 --- a/public/language/sv/admin/admin.json +++ b/public/language/sv/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Are you sure you wish to reload NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Are you sure you wish to restart NodeBB?", "acp-title": "%1 | NodeBB Admin Control Panel", diff --git a/public/language/sv/admin/appearance/themes.json b/public/language/sv/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/sv/admin/appearance/themes.json +++ b/public/language/sv/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/sv/admin/extend/plugins.json b/public/language/sv/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/sv/admin/extend/plugins.json +++ b/public/language/sv/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/sv/admin/general/dashboard.json b/public/language/sv/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/sv/admin/general/dashboard.json +++ b/public/language/sv/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/sv/admin/menu.json b/public/language/sv/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/sv/admin/menu.json +++ b/public/language/sv/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/sv/admin/settings/advanced.json b/public/language/sv/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/sv/admin/settings/advanced.json +++ b/public/language/sv/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/sv/admin/settings/post.json b/public/language/sv/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/sv/admin/settings/post.json +++ b/public/language/sv/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/sv/admin/settings/uploads.json b/public/language/sv/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/sv/admin/settings/uploads.json +++ b/public/language/sv/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/sv/email.json b/public/language/sv/email.json index 4e1b61ab40..926fe3b930 100644 --- a/public/language/sv/email.json +++ b/public/language/sv/email.json @@ -9,6 +9,7 @@ "welcome.text3": "En administrator har accepterat din registreringsansökan. Du kan logga in med ditt användarnamn och lösenord nu.", "welcome.cta": "Klicka här för att bekräfta din e-postadress ", "invitation.text1": "%1 har bjudit in dig till %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Klicka här för att skapa ditt konto.", "reset.text1": "Vi fick en förfrågan om att återställa ditt lösenord, möjligen för att du har glömt det. Om detta inte är fallet, så kan du bortse från det här epostmeddelandet. ", "reset.text2": "För att fortsätta med återställning av lösenordet så kan du klicka på följande länk:", diff --git a/public/language/sv/error.json b/public/language/sv/error.json index a58c5fd3c0..7e5f55e817 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Du har inte rättigheter att radera det här meddelandet", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Du har redan röstat på det här inlägget.", "reputation-system-disabled": "Ryktessystemet är inaktiverat.", "downvoting-disabled": "Nedröstning är inaktiverat", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Ogiltig sidsökväg", "invalid-session": "Session fel", "invalid-session-text": "Det ser ut som din inloggningssession inte längre är aktiv eller inte längre överensstämmer med servern. Uppdatera denna sida.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/sv/global.json b/public/language/sv/global.json index 9da75f755b..1840003b11 100644 --- a/public/language/sv/global.json +++ b/public/language/sv/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/sv/modules.json b/public/language/sv/modules.json index 17a3c003a0..33df5c183c 100644 --- a/public/language/sv/modules.json +++ b/public/language/sv/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chatta med ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Skriv chattmeddelande här och tryck sen Enter för att skicka ", "chat.send": "Skicka", "chat.no_active": "Du har inte några aktiva chattar.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Senaste chattarna", "chat.contacts": "Kontakter ", "chat.message-history": "Historik för meddelande", + "chat.options": "Chat options", "chat.pop-out": "Utskjutande chatt", "chat.minimize": "Minimize", "chat.maximize": "Maximera", @@ -20,7 +21,17 @@ "chat.three_months": "3 månader", "chat.delete_message_confirm": "Är du säker på att du vill radera det här meddelandet?", "chat.add-users-to-room": "Addera användare till rum", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Komponera", "composer.show_preview": "Visa förhandsgranskning", "composer.hide_preview": "Dölj förhandsgranskning", diff --git a/public/language/sv/reset_password.json b/public/language/sv/reset_password.json index a6ee1793e1..5a75305e0e 100644 --- a/public/language/sv/reset_password.json +++ b/public/language/sv/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Bekräfta lösenord", "enter_email": "Var god fyll i din e-postadress så skickas ett e-postmeddelande med instruktioner hur du återställer ditt konto.", "enter_email_address": "Skriv in e-postadress", - "password_reset_sent": "Lösenordsåterställning skickad", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Felaktig e-post / E-post finns inte!", "password_too_short": "Lösenordet är för kort, var god välj ett annat lösenord.", "passwords_do_not_match": "De två lösenorden du har fyllt i matchar ej varandra.", diff --git a/public/language/sv/search.json b/public/language/sv/search.json index e8f6df7141..f10767f346 100644 --- a/public/language/sv/search.json +++ b/public/language/sv/search.json @@ -5,6 +5,9 @@ "in": "i", "titles": "Ämnen", "titles-posts": "Ämnen och inlägg", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Skapad av", "in-categories": "I kategorier", "search-child-categories": "Sök i underkategorier", diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index bca374bb29..709495b9de 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -32,6 +32,7 @@ "moved": "Flyttad", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "Klicka här för att återgå till senast lästa inlägg i detta ämne.", "flag_title": "Rapportera detta inlägg för granskning", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "Lås ämne", "thread_tools.unlock": "Lås upp ämne", "thread_tools.move": "Flytta ämne", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Flytta alla", "thread_tools.select_category": "Select Category", "thread_tools.fork": "Grena ämne", @@ -95,6 +97,7 @@ "fork_success": "Ämnet har blivit förgrenat. Klicka här för att gå till det förgrenade ämnet.", "delete_posts_instruction": "Klicka på inläggen du vill radera/rensa bort", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Skriv in ämnets titel här...", "composer.handle_placeholder": "Namn", "composer.discard": "Avbryt", @@ -121,5 +124,8 @@ "stale.warning": "Ämnet du svarar på är ganska gammalt. Vill du skapa ett nytt ämne istället och inkludera en referens till det här ämnet i ditt inlägg?", "stale.create": "Skapa nytt ämne", "stale.reply_anyway": "Svara på ämnet ändå", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/sv/user.json b/public/language/sv/user.json index b363bca076..be267a7c81 100644 --- a/public/language/sv/user.json +++ b/public/language/sv/user.json @@ -1,6 +1,7 @@ { "banned": "Bannlyst", "offline": "Offline", + "deleted": "Deleted", "username": "Användarnamn", "joindate": "Gick med", "postcount": "Antal inlägg", @@ -11,7 +12,7 @@ "ban_account_confirm": "Vill du verkligen bannlysa den här användaren?", "unban_account": "Ta bort bannlysning", "delete_account": "Ta bort ämne", - "delete_account_confirm": "Är du säker på att du vill radera ditt konto?
Denna åtgärd går inte att ångra och du kommer inte kunna återställa ditt konto

Skriv in ditt användarnamn för att bekräfta att du vill radera ditt konto.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Är du säker på att du vill ta bort detta konto?
Detta går ej att ångra - data går förlorad för alltid

", "account-deleted": "Kontot raderat", "fullname": "Hela namnet", @@ -52,7 +53,6 @@ "change_password": "Ändra lösenord", "change_password_error": "Ogiltigt lösenord.", "change_password_error_wrong_current": "Ditt nuvarande lösenord är inte korrekt.", - "change_password_error_length": "Lösenordet är för kort.", "change_password_error_match": "Lösenorden måste stämma överens.", "change_password_error_privileges": "Du har inte rättigheter att ändra det här lösenordet.", "change_password_success": "Ditt lösenord är uppdaterat.", diff --git a/public/language/th/admin/admin.json b/public/language/th/admin/admin.json index ec64770be6..e0e531a478 100644 --- a/public/language/th/admin/admin.json +++ b/public/language/th/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "คุณต้องการโหลด NodeBB อีกครั้งหรือไม่?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "คุณต้องการเริ่มการทำงาน NodeBB ใหม่หรือไม่?", "acp-title": "%1 | แผงควบคุมของผู้ดูแลระบบ", diff --git a/public/language/th/admin/appearance/customise.json b/public/language/th/admin/appearance/customise.json index d56161484f..7109b70713 100644 --- a/public/language/th/admin/appearance/customise.json +++ b/public/language/th/admin/appearance/customise.json @@ -1,14 +1,14 @@ { - "custom-css": "Custom CSS/LESS", - "custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.", - "custom-css.enable": "Enable Custom CSS/LESS", + "custom-css": "กำหนด CSS / LESS เอง", + "custom-css.description": "ใส่ CSS/LESS ของคุณที่นี่, มันจะถูกนำไปใช้ต่อจากสไตล์อื่นๆ", + "custom-css.enable": "เปิดการปรับแต่ง CSS/LESS", - "custom-js": "Custom Javascript", - "custom-js.description": "Enter your own javascript here. It will be executed after the page is loaded completely.", - "custom-js.enable": "Enable Custom Javascript", + "custom-js": "ปรับแต่งจาวาสคริปต์", + "custom-js.description": "ป้อนจาวาสคริปต์ของคุณเองที่นี่ จะดำเนินการหลังจากโหลดหน้าเว็บเสร็จสมบูรณ์แล้ว", + "custom-js.enable": "เปิดการปรับแต่งจาวาสคริปต์", "custom-header": "ปรับแต่งส่วนหัว", - "custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <head> section of your forum's markup. Script tags are allowed, but are discouraged, as the Custom Javascript tab is available.", + "custom-header.description": "ใส่การปรับแต่ง HTML ที่นี่ (เช่น Meta Tags หรืออื่นๆ) , มันจะถูกเพิ่มใน <head>ของส่วนฟอรั่มของคุณ อนุญาตให้ใช้ Script tags แต่ไม่แนะนำให้ทำ เพราะหน้าการปรับแต่งจาวาสคริปต์ มีอยู่แล้ว", "custom-header.enable": "เปิดการปรับแต่งส่วนหัว", "custom-css.livereload": "เปิดการบังคับให้มีผลในทันที", diff --git a/public/language/th/admin/appearance/themes.json b/public/language/th/admin/appearance/themes.json index efe9954248..589f054c4a 100644 --- a/public/language/th/admin/appearance/themes.json +++ b/public/language/th/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "คุณแน่ใจแล้วใช่ไหมที่ต้องการกลับไปใช้ธีมพื้นฐานของ NodeBB?", "theme-changed": "ธีมถูกเปลี่ยนแล้ว", "revert-success": "คุณได้ทำการเปลี่ยน NodeBB ของคุณให้กลับไปใช้ธีมพื้นฐานของมันแล้ว", - "restart-to-activate": "โปรดรีสตาร์ท NodeBB ของคุณเพื่อเปิดการทำงานของธีมนี้" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/th/admin/extend/plugins.json b/public/language/th/admin/extend/plugins.json index f5b80b31b4..1f0ade6cd7 100644 --- a/public/language/th/admin/extend/plugins.json +++ b/public/language/th/admin/extend/plugins.json @@ -14,8 +14,8 @@ "dev-interested": "คุณสนใจที่จะสร้างปลั๊กอินสำหรับ NodeBB หรือไม่?", "docs-info": "เอกสารฉบับเต็มเกี่ยวกับปลั๊กอินสามารถพบได้ที่ คลังเอกสาร NodeBB ", - "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", + "order.description": "ปลั๊กอินบางตัวใช้งานได้ดีเมื่อเริ่มต้นใช้งานก่อน / หลังปลั๊กอินอื่น ๆ", + "order.explanation": "โหลดปลั๊กอินตามลำดับที่ระบุจากบนลงล่าง", "plugin-item.themes": "ธีม", "plugin-item.deactivate": "ปิดการใช้งาน", @@ -28,24 +28,24 @@ "plugin-item.upgrade": "อัพเกรด", "plugin-item.more-info": "ข้อมูลเพิ่มเติม:", "plugin-item.unknown": "ไม่ทราบ", - "plugin-item.unknown-explanation": "The state of this plugin could not be determined, possibly due to a misconfiguration error.", + "plugin-item.unknown-explanation": "สถานะของปลั๊กอินนี้ไม่สามารถระบุได้ซึ่งอาจเกิดจากข้อผิดพลาดในการกำหนดค่าผิดพลาด", - "alert.enabled": "Plugin Enabled", - "alert.disabled": "Plugin Disabled", + "alert.enabled": "เปิดใช้งานปลั๊กอินแล้ว", + "alert.disabled": "ปิดใช้งานปลั๊กอินแล้ว", "alert.upgraded": "อัพเกรดปลั๊กอินแล้ว", "alert.installed": "ติดตั้งปลั๊กอินแล้ว", "alert.uninstalled": "ถอนการติดตั้งปลั๊กอินแล้ว", "alert.activate-success": "โปรดรีสตาร์ท NodeBB ของคุณเพื่อเปิดการทำงานของธีมนี้", "alert.deactivate-success": "ปิดการใช้งานปลั๊กอินนี้แล้ว", - "alert.upgrade-success": "โปรดรีสตาร์ท NodeBB ของคุณเพื่ออัพเกรดปลั๊กอินนี้", - "alert.install-success": "Plugin successfully installed, please activate the plugin.", - "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", - "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", - "alert.package-manager-unreachable": "

NodeBB could not reach the package manager, an upgrade is not suggested at this time.

", - "alert.incompatible": "

Your version of NodeBB (v%1) is only cleared to upgrade to v%2 of this plugin. Please update your NodeBB if you wish to install a newer version of this plugin.

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

No Compatibility Information Found

This plugin did not specify a specific version for installation given your NodeBB version. Full compatibility cannot be guaranteed, and may cause your NodeBB to no longer start properly.

In the event that NodeBB cannot boot properly:

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

Continue installation of latest version of this plugin?

", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", + "alert.install-success": "ติดตั้งปลั๊กอินแล้ว โปรดเปิดใช้งานปลั๊กอิน", + "alert.uninstall-success": "ปิดใช้งานปลั๊กอินและยกเลิกการติดตั้งแล้ว", + "alert.suggest-error": "

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

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

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

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

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

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

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

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

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

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

", "license.title": "ข้อมูลลิขสิทธิ์ปลั๊กอิน", - "license.intro": "The plugin %1 is licensed under the %2. Please read and understand the license terms prior to activating this plugin.", - "license.cta": "Do you wish to continue with activating this plugin?" + "license.intro": "ปลั๊กอิน %1ได้รับอนุญาตภายใต้ %2 โปรดอ่านและทำความเข้าใจข้อกำหนดสิทธิ์การใช้งานก่อนเปิดใช้งานปลั๊กอินนี้", + "license.cta": "คุณต้องการจะเปิดใช้ปลั๊กอินนี้ต่อหรือไม่?" } diff --git a/public/language/th/admin/general/dashboard.json b/public/language/th/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/th/admin/general/dashboard.json +++ b/public/language/th/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/th/admin/general/homepage.json b/public/language/th/admin/general/homepage.json index 81ffe35f81..48f9ebe23a 100644 --- a/public/language/th/admin/general/homepage.json +++ b/public/language/th/admin/general/homepage.json @@ -1,8 +1,8 @@ { "home-page": "หน้าแรก", - "description": "Choose what page is shown when users navigate to the root URL of your forum.", - "home-page-route": "Home Page Route", - "custom-route": "Custom Route", - "allow-user-home-pages": "Allow User Home Pages", - "home-page-title": "Title of the home page (default \"Home\")" + "description": "เลือกหน้าเว็บที่จะแสดงเมื่อผู้ใช้ไปที่ URL หลักของฟอรัม", + "home-page-route": "เส้นทางหน้าแรก", + "custom-route": "เส้นทางที่กำหนดเอง", + "allow-user-home-pages": "อนุญาตหน้าแรกของผู้ใช้", + "home-page-title": "Title ของหน้าแรก (ค่าเริ่มต้น \"Home\")" } \ No newline at end of file diff --git a/public/language/th/admin/general/sounds.json b/public/language/th/admin/general/sounds.json index 95ccbde0f1..2be53c2cf0 100644 --- a/public/language/th/admin/general/sounds.json +++ b/public/language/th/admin/general/sounds.json @@ -1,9 +1,9 @@ { - "notifications": "Notifications", - "chat-messages": "Chat Messages", - "play-sound": "Play", - "incoming-message": "Incoming Message", - "outgoing-message": "Outgoing Message", - "upload-new-sound": "Upload New Sound", - "saved": "Settings Saved" + "notifications": "การแจ้งเตือน", + "chat-messages": "ข้อความแชท", + "play-sound": "เล่น", + "incoming-message": "ข้อความเข้า", + "outgoing-message": "ข้อความออก", + "upload-new-sound": "อัปโหลดเสียงใหม่", + "saved": "การตั้งค่าได้ถูกบันทึกแล้ว" } \ No newline at end of file diff --git a/public/language/th/admin/manage/registration.json b/public/language/th/admin/manage/registration.json index f51b4d56e6..72de48167b 100644 --- a/public/language/th/admin/manage/registration.json +++ b/public/language/th/admin/manage/registration.json @@ -1,20 +1,20 @@ { - "queue": "Queue", - "description": "There are no users in the registration queue.
To enable this feature, go to Settings → User → User Registration and set Registration Type to \"Admin Approval\".", + "queue": "คิว", + "description": "ไม่มีผู้ใช้ในคิวการลงทะเบียน
เมื่อต้องการเปิดใช้คุณลักษณะนี้ ไปที่ การตั้งค่า → ผู้ใช้ → การลงทะเบียนผู้ใช้และตั้งประเภทการลงทะเบียนเป็น \"การอนุมัติโดยผู้ดูแลระบบ\"", - "list.name": "Name", - "list.email": "Email", + "list.name": "ชื่อ", + "list.email": "อีเมล", "list.ip": "IP", - "list.time": "Time", - "list.username-spam": "Frequency: %1 Appears: %2 Confidence: %3", - "list.email-spam": "Frequency: %1 Appears: %2", - "list.ip-spam": "Frequency: %1 Appears: %2", + "list.time": "เวลา", + "list.username-spam": "ความถี่: %1  ปรากฎ: %2 ความมั่นใจ: %3", + "list.email-spam": "ความถี่: %1  ปรากฎ: %2", + "list.ip-spam": "ความถี่: %1  ปรากฎ: %2", - "invitations": "Invitations", - "invitations.description": "Below is a complete list of invitations sent. Use ctrl-f to search through the list by email or username.

The username will be displayed to the right of the emails for users who have redeemed their invitations.", - "invitations.inviter-username": "Inviter Username", - "invitations.invitee-email": "Invitee Email", - "invitations.invitee-username": "Invitee Username (if registered)", + "invitations": "การเชิญ", + "invitations.description": "
ด้านล่างนี้เป็นรายการคำเชิญที่ส่งแล้ว ใช้ ctrl-f เพื่อค้นหาผ่านรายการทางอีเมลหรือชื่อผู้ใช้
ชื่อผู้ใช้จะปรากฏทางด้านขวาของอีเมลสำหรับผู้ใช้ที่รับคำเชิญแล้ว", + "invitations.inviter-username": "ผู้เชิญผู้ใช้งานนี้", + "invitations.invitee-email": "อีเมลที่เชิญ", + "invitations.invitee-username": "ชื่อผู้ได้รับเชิญ (ถ้าลงทะเบียน)", - "invitations.confirm-delete": "Are you sure you wish to delete this invitation?" + "invitations.confirm-delete": "คุณแน่ใจหรือไม่ว่าต้องการลบคำเชิญนี้" } \ No newline at end of file diff --git a/public/language/th/admin/manage/users.json b/public/language/th/admin/manage/users.json index cfee0ac620..2543338395 100644 --- a/public/language/th/admin/manage/users.json +++ b/public/language/th/admin/manage/users.json @@ -27,8 +27,8 @@ "pills.banned": "แบน", "pills.search": "ค้นหาผู้ใช้งาน", - "search.uid": "By User ID", - "search.uid-placeholder": "Enter a user ID to search", + "search.uid": "ตามรหัสผู้ใช้", + "search.uid-placeholder": "ป้อนหมายเลขผู้ใช้เพื่อค้นหา", "search.username": "โดยชื่อผู้ใช้งาน", "search.username-placeholder": "ใส่ชื่อผู้ใช้งานเพื่อทำการค้นหา", "search.email": "โดยอีเมล", @@ -71,15 +71,15 @@ "alerts.lockout-reset-success": "ยกเลิกการกักกัน", "alerts.flag-reset-success": "ยกเลิกการติดตาม", "alerts.no-remove-yourself-admin": "คุณไม่สามารถที่จะยกเลิกตัวเองจากการเป็นผู้ดูแลระบบ", - "alerts.make-admin-success": "User is now administrator.", - "alerts.confirm-remove-admin": "Do you really want to remove this administrator?", - "alerts.remove-admin-success": "User is no longer administrator.", - "alerts.make-global-mod-success": "User is now global moderator.", - "alerts.confirm-remove-global-mod": "Do you really want to remove this global moderator?", - "alerts.remove-global-mod-success": "User is no longer global moderator.", - "alerts.make-moderator-success": "User is now moderator.", - "alerts.confirm-remove-moderator": "Do you really want to remove this moderator?", - "alerts.remove-moderator-success": "User is no longer moderator.", + "alerts.make-admin-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลระบบแล้ว", + "alerts.confirm-remove-admin": "คุณต้องการลบผู้ดูแลระบบคนนี้หรือไม่?", + "alerts.remove-admin-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลอีกต่อไป", + "alerts.make-global-mod-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลระดับโลกแล้ว", + "alerts.confirm-remove-global-mod": "คุณต้องการลบผู้ดูแลทั่วโลกนี้หรือไม่?", + "alerts.remove-global-mod-success": "ผู้ใช้ไม่เป็นผู้ดูแลระดับโลกอีกแล้ว", + "alerts.make-moderator-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแล", + "alerts.confirm-remove-moderator": "คุณต้องการนำผู้ดูแลนี้ออกหรือไม่?", + "alerts.remove-moderator-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลอีกต่อไป", "alerts.confirm-validate-email": "คุณต้องการที่ยืนยันอีเมลของผู้ใช้เหล่านี้หรือไม่?", "alerts.validate-email-success": "อีเมลที่ได้รับการยืนยัน", "alerts.password-reset-confirm": "คุณต้องการที่จะส่งอีเมลการล้างค่ารหัสผ่านให้กับผู้ใช้เหล่านี้หรือไม่?", diff --git a/public/language/th/admin/menu.json b/public/language/th/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/th/admin/menu.json +++ b/public/language/th/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/th/admin/settings/advanced.json b/public/language/th/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/th/admin/settings/advanced.json +++ b/public/language/th/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/th/admin/settings/post.json b/public/language/th/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/th/admin/settings/post.json +++ b/public/language/th/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/th/admin/settings/uploads.json b/public/language/th/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/th/admin/settings/uploads.json +++ b/public/language/th/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/th/admin/settings/user.json b/public/language/th/admin/settings/user.json index 664bff67f7..f05180ef0f 100644 --- a/public/language/th/admin/settings/user.json +++ b/public/language/th/admin/settings/user.json @@ -16,7 +16,7 @@ "user-info-private": "Hide user list and data from guests", "hide-fullname": "Hide fullname from users", "hide-email": "Hide email from users", - "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,9 +56,9 @@ "topic-search": "Enable In-Topic Searching", "digest-freq": "Subscribe to Digest", "digest-freq.off": "Off", - "digest-freq.daily": "Daily", - "digest-freq.weekly": "Weekly", - "digest-freq.monthly": "Monthly", + "digest-freq.daily": "ทุกวัน", + "digest-freq.weekly": "ทุกอาทิตย์", + "digest-freq.monthly": "ทุกเดือน", "email-chat-notifs": "Send an email if a new chat message arrives and I am not online", "email-post-notif": "Send an email when replies are made to topics I am subscribed to", "follow-created-topics": "Follow topics you create", diff --git a/public/language/th/email.json b/public/language/th/email.json index 54080a872b..a43b88e543 100644 --- a/public/language/th/email.json +++ b/public/language/th/email.json @@ -9,6 +9,7 @@ "welcome.text3": "ผู้ดูแลระบบได้ทำการยอมรับการสมัครสมาชิกของคุณแล้ว คุณสามารถเข้าสู่ระบบด้วย ชื่อผู้ใช้/รหัสผ่าน ได้แล้วตอนนี้", "welcome.cta": "กดตรงนี้เพื่อยืนยันอีเมลของคุณ", "invitation.text1": "%1 ได้เชิญคุณให้เข้าร่วม %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "คลิกที่นี่เพื่อสร้างบัญชีของคุณ", "reset.text1": "เราได้รับคำร้องให้ตั้งค่ารหัสผ่านใหม่ของคุณ อาจจะเป็นเพราะว่าคุณลืมรหัสผ่านและได้ทำการส่งคำขอเข้ามา หากไม่ใช่ กรุณาเพิกเฉยต่ออีเมล์นี้และไม่ต้องดำเนินการใดๆทั้งสิ้น", "reset.text2": "เพื่อดำเนินการตั้งรหัสผ่านใหม่ต่อไป, โปรดกดที่ลิ้งค์นี้:", @@ -30,7 +31,7 @@ "notif.chat.unsub.info": "การแจ้งเตือนแชทนี้ถูกส่งไปหาคุณเนื่องจากการตั้งค่าสมาชิกของคุณ", "notif.post.cta": "คลิกที่นี่เพื่ออ่านกระทู้ฉบับเต็ม", "notif.post.unsub.info": "การแจ้งเตือนกระทู้นี้ถูกส่งไปยังคุณเนื่องการตั้งค่าสมาชิกของคุณ", - "notif.cta": "Click here to go to forum", + "notif.cta": "คลิกที่นี่เพื่อไปที่ฟอรัม", "test.text1": "นี่คืออีเมลทดสอบเพื่อยืนยันว่าระบบอีเมลมีการตั้งค่าที่ถูกต้องสำหรับ NodeBB ของคุณ", "unsub.cta": "กดตรงนี้เพื่อเปลี่ยนแปลงการตั้งค่า", "banned.subject": "คุณถูกแบนจาก %1 แล้ว", diff --git a/public/language/th/error.json b/public/language/th/error.json index 945f7be822..b48eaeae58 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "คุณไม่ได้รับอนุญาตให้ลบข้อความ", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "คุณได้โหวตโพสต์นี้แล้ว", "reputation-system-disabled": "ระบบชื่อเสียงถูกปิดใช้งาน", "downvoting-disabled": "\"การโหวตลง\" ถูกปิดใช้งาน", @@ -142,5 +144,6 @@ "invalid-home-page-route": "เส้นทางไปหน้าแรกผิดพลาด", "invalid-session": "เซสชั่นไม่ถูกต้อง", "invalid-session-text": "เหมือนกับว่าการเข้าสู่ระบบของคุณไม่ได้มีอยู่ในระบบ หรือไม่ก็ไม่ได้รับการตอบกลับจากเซิร์ฟเวอร์ กรุณารีเฟรชหน้าเว็บนี้", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/th/flags.json b/public/language/th/flags.json index dfe39fde54..cc2f58947b 100644 --- a/public/language/th/flags.json +++ b/public/language/th/flags.json @@ -54,11 +54,11 @@ "modal-body": "กรุณาระเหตุผลสำหรับการปักธง %1 %2 สำหรับการรีวิว หรือไม่ก็ใช้หนึ่งในปุ่มกดรายงานด่วนถ้าเป็นไปได้", "modal-reason-spam": "สแปม", "modal-reason-offensive": "น่ารังเกียจ", - "modal-reason-other": "Other (specify below)", + "modal-reason-other": "อื่น ๆ (ระบุด้านล่าง)", "modal-reason-custom": "เหตุผลว่าทำไมถึงรายงานเนื้อหานี้...", "modal-submit": "ส่งรายงาน", "modal-submit-success": "เนื้อหาถูกรายงานตามความเหมาะสมแล้ว", - "modal-submit-confirm": "Confirm Submission", - "modal-submit-confirm-text": "You have a custom reason specified already. Are you sure you wish to submit via quick-report?", - "modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined." + "modal-submit-confirm": "ยืนยันการส่ง", + "modal-submit-confirm-text": "คุณมีเหตุผลแบบกำหนดเองที่ระบุอยู่แล้ว คุณแน่ใจหรือไม่ว่าต้องการส่งข้อมูลผ่านรายงานด่วน", + "modal-submit-confirm-text-help": "การส่งรายงานด่วนจะเขียนทับเหตุผลที่กำหนดเองใดๆ ที่กำหนดไว้" } \ No newline at end of file diff --git a/public/language/th/global.json b/public/language/th/global.json index 79abce03fa..86a59087d4 100644 --- a/public/language/th/global.json +++ b/public/language/th/global.json @@ -53,7 +53,7 @@ "topics": "กระทู้", "posts": "กระทู้", "best": "ดีที่สุด", - "votes": "Votes", + "votes": "โหวต", "upvoters": "ผู้ที่โหวดขึ้น", "upvoted": "โหวตแล้ว", "downvoters": "ผู้ที่โหวตลง", @@ -83,8 +83,8 @@ "offline": "ออฟไลน์", "email": "อีเมล์", "language": "ภาษา", - "guest": "Guest", - "guests": "Guests", + "guest": "แขก", + "guests": "แขก", "updated.title": "ฟอรั่มที่ถูกอัพเดทแล้ว", "updated.message": "ฟอรั่มนี้เพิ่งได้รับการอัพเดทให้เป็นเวอร์ชั่นล่าสุด คลิกที่นี่เพื่อรีเฟรชหน้าเพจ", "privacy": "ความเป็นส่วนตัว", @@ -106,5 +106,6 @@ "cookies.learn_more": "เรียนรู้เพิ่มเติม", "edited": "ถูกแก้ไขแล้ว", "disabled": "ปิด", - "select": "เลือก" + "select": "เลือก", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/th/language.json b/public/language/th/language.json index 19d323d650..16f46a1385 100644 --- a/public/language/th/language.json +++ b/public/language/th/language.json @@ -1,5 +1,5 @@ { - "name": "ภาษาไทย (ไทย)", + "name": "ภาษาไทย", "code": "th", "dir": "ltr" } \ No newline at end of file diff --git a/public/language/th/modules.json b/public/language/th/modules.json index e48c2bb711..6bbfa96374 100644 --- a/public/language/th/modules.json +++ b/public/language/th/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "แชทกับ ", + "chat.chatting_with": "คุยกับ", "chat.placeholder": "พิมพ์ข้อความแชทที่นี่ กด enter เพื่อส่ง", "chat.send": "ส่ง", "chat.no_active": "คุณไม่มีแชทที่คุยอยู่", @@ -12,6 +12,7 @@ "chat.recent-chats": "แชทล่าสุด", "chat.contacts": "ติดต่อ", "chat.message-history": "ประวัติข้อความ", + "chat.options": "ตัวเลือกแชท", "chat.pop-out": "Pop out แชท", "chat.minimize": "ย่อเล็กสุด", "chat.maximize": "ขยายใหญ่สุด", @@ -20,7 +21,17 @@ "chat.three_months": "3 เดือน", "chat.delete_message_confirm": "คุณแน่ใจแล้วใช่ไหมว่าต้องการจะลบข้อความนี้?", "chat.add-users-to-room": "เพิ่มผู้ใช้เข้ามาในห้องแชท", + "chat.retrieving-users": "กำลังเรียกข้อมูลผู้ใช้", + "chat.manage-room": "จัดการห้องแชท", + "chat.add-user-help": "ค้นหาผู้ใช้ที่นี่ เมื่อเลือกผู้ใช้จะถูกเพิ่มลงในการแชท ผู้ใช้ใหม่จะไม่สามารถเห็นข้อความแชทที่เขียนขึ้นก่อนที่จะถูกเพิ่มเข้าไปในการสนทนา", "chat.confirm-chat-with-dnd-user": "ผู้ใช้นี้ได้ตั้งค่าสถานะเป็น (ห้ามรบกวน) คุณยังอยากจะคุยกับเขาอยู่ไหม?", + "chat.rename-room": "เปลี่ยนชื่อห้อง", + "chat.rename-placeholder": "ใส่ชื่อห้องของคุณที่นี่", + "chat.rename-help": "ชื่อห้องจะสามารถดูได้โดยผู้เข้าร่วมทั้งหมดในห้อง", + "chat.leave": "ออกแชท", + "chat.leave-prompt": "คุณแน่ใจหรือไม่ว่าต้องการออกจากการแชทนี้", + "chat.leave-help": "การออกจากการแชทนี้จะเป็นการลบคุณออกจากการติดต่อในอนาคตในการแชทนี้ หากคุณถูกเพิ่มเข้ามาใหม่ในอนาคตคุณจะไม่เห็นประวัติการแชทก่อนที่จะเข้าร่วมใหม่", + "chat.in-room": "ในห้องนี้", "composer.compose": "เขียน", "composer.show_preview": "แสดงพรีวิว", "composer.hide_preview": "ซ่อนพรีวิว", diff --git a/public/language/th/notifications.json b/public/language/th/notifications.json index 727c91dbe0..59e39cfbc9 100644 --- a/public/language/th/notifications.json +++ b/public/language/th/notifications.json @@ -9,7 +9,7 @@ "continue_to": "ดำเนินการต่อไปยัง %1", "return_to": "กลับสู่ %1", "new_notification": "ข้อความเตือนใหม่", - "new_notification_from": "You have a new Notification from %1", + "new_notification_from": "คุณมีคำเตือนใหม่จาก %1", "you_have_unread_notifications": "คุณมีคำเตือนที่ยังไม่ได้อ่าน", "all": "ทั้งหมด", "topics": "กระทู้", @@ -47,18 +47,18 @@ "email-confirmed-message": "ขอบคุณที่ยืนยัน Email ของคุณ บัญชีของคุณสามารถใช้งานได้แล้ว", "email-confirm-error-message": "มีปัญหาในการยืนยัน Email ของคุณ บางทีรหัสไม่ถูกต้องหรือหมดอายุแล้ว", "email-confirm-sent": "Email เพื่อยืนยันได้ส่งไปแล้ว", - "none": "None", - "notification_only": "Notification Only", - "email_only": "Email Only", - "notification_and_email": "Notification & Email", - "notificationType_upvote": "When someone upvotes your post", - "notificationType_new-topic": "When someone you follow posts a topic", - "notificationType_new-reply": "When a new reply is posted in a topic you are watching", - "notificationType_follow": "When someone starts following you", - "notificationType_new-chat": "When you receive a chat message", - "notificationType_group-invite": "When you receive a group invite", - "notificationType_new-register": "When someone gets added to registration queue", - "notificationType_post-queue": "When a new post is queued", - "notificationType_new-post-flag": "When a post is flagged", - "notificationType_new-user-flag": "When a user is flagged" + "none": "ไม่มี", + "notification_only": "แจ้งเตือนอย่างเดียว", + "email_only": "อีเมลอย่างเดียว", + "notification_and_email": "การแจ้งเตือนและอีเมล", + "notificationType_upvote": "เมื่อมีคนโหวตอัพให้โพสต์คุณ", + "notificationType_new-topic": "เมื่อมีคนติดตามโพสต์คุณ", + "notificationType_new-reply": "เมื่อมีการตอบกลับในโพสต์ที่คุณกำลังติดตาม", + "notificationType_follow": "เมื่อมีคนติดตามคุณ", + "notificationType_new-chat": "เมื่อคุณได้รับข้อความใหม่", + "notificationType_group-invite": "เมื่อคุณได้รับเชิญเข้ากลุ่ม", + "notificationType_new-register": "เมื่อมีคนถูกเพิ่มในคิวลงทะเบียน", + "notificationType_post-queue": "เมื่อมีโพสต์ใหม่อยู่ในคิว", + "notificationType_new-post-flag": "เมื่อโพสต์ถูกตั้งค่าสถานะ", + "notificationType_new-user-flag": "เมื่อผู้ใช้ถูกตั้งค่าสถานะ" } \ No newline at end of file diff --git a/public/language/th/pages.json b/public/language/th/pages.json index 52b9a8a38e..f3d1333009 100644 --- a/public/language/th/pages.json +++ b/public/language/th/pages.json @@ -6,7 +6,7 @@ "popular-month": "กระทู้ฮิตเดือนนี้", "popular-alltime": "กระทู้ฮิตตลาดกาล", "recent": "กระทู้ล่าสุด", - "top": "Top Voted Topics", + "top": "กระทู้โหวตสูงสุด", "moderator-tools": "เครื่องมือผู้ดูแลระบบ", "flagged-content": "เนื้อหาที่ถูกปักธง", "ip-blacklist": "ไอดีที่ถูกขึ้นบัญชีดำ", @@ -20,7 +20,7 @@ "users/search": "ค้นหาผู้ใช้", "notifications": "การแจ้งเตือน", "tags": "แท็ก", - "tag": "Topics tagged under "%1"", + "tag": "หัวข้อที่ติดแท็กใต้ "%1"", "register": "สมัครบัญชีผู้ใช้", "registration-complete": "สมัครสมาชิกสำเร็จเรียบร้อย", "login": "เข้าสู่ระบบบัญชีของคุณ", @@ -45,7 +45,7 @@ "account/bookmarks": "บุ๊กมาร์คโพสต์ของ %1", "account/settings": "การตั้งค่าผู้ใช้", "account/watched": "กระทู้ที่ถูกดูโดย %1", - "account/ignored": "Topics ignored by %1", + "account/ignored": "กระทู้ที่ถูกละเว้นโดย %1", "account/upvoted": "โพสต์ที่ถูกโหวตขึ้นโดย %1", "account/downvoted": "โพสต์ที่โหวตลงโดย %1", "account/best": "โพสต์ดีที่สุดที่ถูกสร้างโดย %1", diff --git a/public/language/th/reset_password.json b/public/language/th/reset_password.json index be04453dec..bc0ef8cc65 100644 --- a/public/language/th/reset_password.json +++ b/public/language/th/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "ยืนยันรหัสผ่าน", "enter_email": "กรุณาใส่อีเมลของคุณ เราจะส่งอีเมลให้คุณพร้อมคำแนะนำเกี่ยวกับวิธีการรีเซ็ตบัญชีของคุณ", "enter_email_address": "ใส่อีเมล์", - "password_reset_sent": "รหัสรีเซ็ตถูกส่งออกไปแล้ว", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "อีเมล์ไม่ถูกต้อง / อีเมล์ไม่มีอยู่!", "password_too_short": "รหัสผ่านที่คุณกำหนดยังสั้นเกินไป กรุณากำหนดรหัสผ่านของคุณใหม่", "passwords_do_not_match": "รหัสผ่านทั้ง 2 ที่ใส่ไม่ตรงกัน", diff --git a/public/language/th/search.json b/public/language/th/search.json index fc250eb3dc..a38be1d03c 100644 --- a/public/language/th/search.json +++ b/public/language/th/search.json @@ -5,6 +5,9 @@ "in": "ใน", "titles": "หัวข้อ", "titles-posts": "หัวข้อ และ ข้อความ", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "บันทึกโดย", "in-categories": "ในหมวดหมู่", "search-child-categories": "ค้นหาหมวดหมู่ย่อย", diff --git a/public/language/th/topic.json b/public/language/th/topic.json index 58bd731052..c20c123771 100644 --- a/public/language/th/topic.json +++ b/public/language/th/topic.json @@ -1,7 +1,7 @@ { "topic": "กระทู้", - "topic_id": "Topic ID", - "topic_id_placeholder": "Enter topic ID", + "topic_id": "หมายเลขกระทู้", + "topic_id_placeholder": "ใส่หมายเลขกระทู้", "no_topics_found": "ไม่พบกระทู้", "no_posts_found": "ไม่พบโพส", "post_is_deleted": "ลบ Post นี้เรียบร้อยแล้ว!", @@ -30,11 +30,12 @@ "locked": "ถูกล็อก", "pinned": "ถูกปักหมุด", "moved": "ถูกย้าย", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "คัดลอก IP", + "ban-ip": "แบน IP", + "view-history": "แก้ไขประวัติ", "bookmark_instructions": "คลิกที่นี่เพื่อกลับไปยังโพสต์ล่าสุดในหัวข้อนี้", "flag_title": "ปักธงโพสต์นี้เพื่อดำเนินการ", - "merged_message": "This topic has been merged into %2", + "merged_message": "กระทูนี้ถูกรวมเข้ากับ %2", "deleted_message": "Topic นี้ถูกลบไปแล้ว เฉพาะผู้ใช้งานที่มีสิทธิ์ในการจัดการ Topic เท่านั้นที่จะมีสิทธิ์ในการเข้าชม", "following_topic.message": "คุณจะได้รับการแจ้งเตือนเมื่อมีคนโพสต์ในกระทู้นี้", "not_following_topic.message": "คุณจะเห็นกระทู้นี้ในรายการของกระทู้ที่ยังไม่ได้อ่าน แต่คุณจะไม่ได้รับการแจ้งเตือนเมื่่อมีคนตอบกระทู้นี้", @@ -55,12 +56,13 @@ "not-watching.description": "อย่าเตือนฉันเมือมีคำตอบใหม่
แสดงกระทู้ในรายการที่ยังไม่ได้อ่านหากหมวดหมู่นี้ไม่ได้รับการเมินเฉย", "ignoring.description": "อย่าเตือนฉันเมื่อมีคำตอบใหม่
อย่าแสดงกระทู้ในรายการที่ยังไม่ได้อ่าน", "thread_tools.title": "เครื่องมือช่วยจัดการ Topic", - "thread_tools.markAsUnreadForAll": "Mark Unread For All", + "thread_tools.markAsUnreadForAll": "มาร์คว่ายังไม่ยังอ่านทั้งหมด", "thread_tools.pin": "ปักหมุดกระทู้", "thread_tools.unpin": "เลิกปักหมุดกระทู้", "thread_tools.lock": "ล็อคกระทู้", "thread_tools.unlock": "ปลดล็อคกระทู้", "thread_tools.move": "ย้ายกระทู้", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "ย้ายทั้งหมด", "thread_tools.select_category": "เลือกประเภท", "thread_tools.fork": "แยกกระทู้", @@ -71,8 +73,8 @@ "thread_tools.restore_confirm": "มั่นใจแล้วหรือไม่ที่จะกู้คืน Topic นี้?", "thread_tools.purge": "ล้างกระทู้", "thread_tools.purge_confirm": "คุณแน่ใจแล้วใช้ไมว่าต้องการล้างกระทู้นี้?", - "thread_tools.merge_topics": "Merge Topics", - "thread_tools.merge": "Merge", + "thread_tools.merge_topics": "รวมกระทู้", + "thread_tools.merge": "รวม", "topic_move_success": "กระทู้นี้ได้รับการย้ายไปยัง %1 เรียบร้อยแล้ว", "post_delete_confirm": "คุณแน่ใจแล้วใช่ไหมว่าต้องการลบโพสต์นี้", "post_restore_confirm": "คุณแน่ใจแล้วใช้ไหมว่าต้องการกู้คืนโพสต์นี้", @@ -94,7 +96,8 @@ "fork_pid_count": " %1 โพสต์(s) ที่เลือก", "fork_success": "แตกกระทู้สำเร็จแล้ว! คลิกที่นี่เพื่อไปยั้งกระทู้ที่คุณแตกประเด็น", "delete_posts_instruction": "คลิกโพสต์ที่คุณต้องการลบ/ล้าง", - "merge_topics_instruction": "Click the topics you want to merge", + "merge_topics_instruction": "เลือกกระทู้ที่คุณต้องการรวม", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "ป้อนชื่อกระทู้ของคุณที่นี่ ...", "composer.handle_placeholder": "ชื่อ", "composer.discard": "ยกเลิก", @@ -121,5 +124,8 @@ "stale.warning": "กระทู้ที่คุณกำลังตอบเก่าไปหน่อยนะ อยากจะลองตั้งกระทู้ใหม่แทนไหมล่ะ? แล้วก็อ้างอิงกระทู้นี้ไปยังคำตอบของคุณ", "stale.create": "ตั้งกระทู้ใหม่", "stale.reply_anyway": "ตอบกระทู้นี้ไม่ว่ายังไงก็ตาม", - "link_back": "ตอบกลับ: [%1](%2)" + "link_back": "ตอบกลับ: [%1](%2)", + "diffs.title": "แก้ไขประวัติโพสต์", + "diffs.description": "โพสนี้มี %1 การแก้ไข คลิกที่การแก้ไขด้านล่างเพื่อดูเนื้อหาโพสต์ตามเวลาที่เลือก", + "diffs.no-revisions-description": "โพสนี้มี %1การแก้ไข" } \ No newline at end of file diff --git a/public/language/th/unread.json b/public/language/th/unread.json index 6dd0f60287..12fc7c31d2 100644 --- a/public/language/th/unread.json +++ b/public/language/th/unread.json @@ -10,6 +10,6 @@ "all-topics": "กระทู้ทั้งหมด", "new-topics": "ตั้งกระทู้ใหม่", "watched-topics": "กระทู้ที่ดูแล้ว", - "unreplied-topics": "Unreplied Topics", - "multiple-categories-selected": "Multiple Selected" + "unreplied-topics": "กระทู้ที่ไม่ได้ตอบ", + "multiple-categories-selected": "เลือกหลายรายการ" } \ No newline at end of file diff --git a/public/language/th/user.json b/public/language/th/user.json index c663455f28..c9c64ec5b8 100644 --- a/public/language/th/user.json +++ b/public/language/th/user.json @@ -1,6 +1,7 @@ { "banned": "ถูกแบน", "offline": "ออฟไลน์", + "deleted": "ลบแล้ว", "username": "ชื่อผู้ใช้", "joindate": "วันที่เข้าร่วม", "postcount": "จำนวนโพสต์", @@ -11,7 +12,7 @@ "ban_account_confirm": "คุณต้องการแบนผู้ใช้นี้หรือไม่?", "unban_account": "ปลดแบน", "delete_account": "ลบบัญชี", - "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your username to confirm that you wish to destroy this account.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "คุณต้องการลบบัญชีนี้ใช่หรือไม่?
การกระทำนี้ไม่สามารถกู้คืนได้ ข้อมูลบัญชีนี้จะถูกลบทั้งหมด", "account-deleted": "บัญชีถูกลบแล้ว", "fullname": "ชื่อเต็ม", @@ -25,7 +26,7 @@ "reputation": "ชื่อเสียง", "bookmarks": "ที่คั่นหน้า", "watched": "ดูแล้ว", - "ignored": "Ignored", + "ignored": "ยกเว้นแล้ว", "followers": "คนติดตาม", "following": "ติดตาม", "aboutme": "เกี่ยวกับฉัน", @@ -38,7 +39,7 @@ "follow": "ติดตาม", "unfollow": "เลิกติดตาม", "more": "เพิ่มเติม", - "profile_update_success": "Profile has been updated successfully!", + "profile_update_success": "ข้อมูลประวัติส่วนตัวได้รับการแก้ไขแล้ว", "change_picture": "เปลี่ยนรูป", "change_username": "เปลี่ยนชื่อผู้ใช้", "change_email": "เปลี่ยนอีเมล", @@ -52,7 +53,6 @@ "change_password": "เปลี่ยนรหัสผ่าน", "change_password_error": "รหัสผ่านใช้ไม่ได้", "change_password_error_wrong_current": "รหัสผ่านปัจจุบันไม่ถูกต้อง", - "change_password_error_length": "รหัสผ่านสั้นเกินไป", "change_password_error_match": "รหัสผ่านต้องเหมือนกัน", "change_password_error_privileges": "คุณไม่มีสิทธิในการเปลี่ยนรหัสผ่าน", "change_password_success": "รหัสผ่านของคุณได้รับการแก้ไขแล้ว", @@ -74,8 +74,8 @@ "show_fullname": "แสดงชื่อจริงของฉัน", "restrict_chats": "รับข้อความสนทนาจากคนที่ฉันติดตามเท่านั้น", "digest_label": "สมัครรับข่าวสารจาก Digest", - "digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule", - "digest_off": "Off", + "digest_description": "สมัครรับอีเมลอัพเดทข้อมูลของบอร์ดสนทนา (ข้อความแจ้งเตือนและหัวข้อใหม่ๆ) ตามรายการที่ตั้งไว้", + "digest_off": "ปิด", "digest_daily": "รายวัน", "digest_weekly": "รายสัปดาห์", "digest_monthly": "รายเดือน", @@ -85,7 +85,7 @@ "has_no_posts": "ผู้ใช้นี้ไม่ได้โพสต์ข้อความใดๆ", "has_no_topics": "ผู้ใช้นี้ยังไม่เคยตั้งกระทู้ใดๆ", "has_no_watched_topics": "ผู้ใช้นี้ไม่ได้ติดตามกระทู้ใดๆ", - "has_no_ignored_topics": "This user hasn't ignored any topics yet.", + "has_no_ignored_topics": "ผู้ใช้นี้ไม่ได้ละเว้นกระทู้ใดๆ", "has_no_upvoted_posts": "ผู้ใช้นี้ไม่ได้โหวตขึ้นให้ข้อความใดๆ", "has_no_downvoted_posts": "ผู้ใช้นี้ไม่ได้โหวตลงให้ข้อความใดๆ", "has_no_voted_posts": "ผู้ใช้นี้ไม่เคยโหวตข้อความ", @@ -94,19 +94,19 @@ "paginate_description": "ใช้การแบ่งหน้ากระทู้และข้อความแทนการเลื่อนต่อเรื่อยๆ", "topics_per_page": "จำนวนกระทู้ต่อหน้า", "posts_per_page": "จำนวนข้อความต่อหน้า", - "max_items_per_page": "Maximum %1", - "acp_language": "Admin Page Language", + "max_items_per_page": "สูงสุด %1", + "acp_language": "ภาษาในหน้าผู้ดูแลระบบ", "notification_sounds": "เล่นเสียงเมื่อมีการแจ้งเตือน", "notifications_and_sounds": "เสียงและการแจ้งเตือน", "incoming-message-sound": "เสียงข้อความเข้า", "outgoing-message-sound": "เสียงข้อความออก", "notification-sound": "เสียงแจ้งเตือน", "no-sound": "ไม่มีเสียง", - "upvote-notif-freq": "Upvote Notification Frequency", - "upvote-notif-freq.all": "All Upvotes", - "upvote-notif-freq.everyTen": "Every Ten Upvotes", - "upvote-notif-freq.logarithmic": "On 10, 100, 1000...", - "upvote-notif-freq.disabled": "Disabled", + "upvote-notif-freq": "แจ้งเตือนความถี่โหวตขึ้น", + "upvote-notif-freq.all": "โหวตขึ้นทั้งหมด", + "upvote-notif-freq.everyTen": "ทุกๆ 10 โหวตขึ้น", + "upvote-notif-freq.logarithmic": "ทุกๆ 10, 100, 1000...", + "upvote-notif-freq.disabled": "ปิด", "browsing": "เปิดดูการตั้งค่า", "open_links_in_new_tab": "เปิดลิงค์ในแท็บใหม่", "enable_topic_searching": "เปิดใช้การค้นหาแบบ In-Topic", @@ -127,9 +127,9 @@ "sso.title": "บริการ Single Sign-on ", "sso.associated": "เกี่ยวข้องกับ", "sso.not-associated": "คลิกที่นี่เพื่อเชื่อมโยงกับ", - "sso.dissociate": "Dissociate", - "sso.dissociate-confirm-title": "Confirm Dissociation", - "sso.dissociate-confirm": "Are you sure you wish to dissociate your account from %1?", + "sso.dissociate": "แยกตัวออก", + "sso.dissociate-confirm-title": "ยืนยันการแยกตัวออก", + "sso.dissociate-confirm": "คุณแน่ใจหรือไม่ว่าต้องการแยกบัญชีออกจาก %1?", "info.latest-flags": "ปักธงล่าสุด", "info.no-flags": "ไม่พบโพสต์ที่ถูกปักธง", "info.ban-history": "ประวัติแบนล่าสุด", diff --git a/public/language/tr/admin/admin.json b/public/language/tr/admin/admin.json index b4bfc128bf..17319d396b 100644 --- a/public/language/tr/admin/admin.json +++ b/public/language/tr/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "NodeBB'yi yeniden yüklemek istediğinize emin misiniz?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "NodeBB'yi yeniden başlatmak istediğinize emin misiniz?", "acp-title": "%1 | NodeBB Yönetici Kontrol Paneli", diff --git a/public/language/tr/admin/appearance/themes.json b/public/language/tr/admin/appearance/themes.json index e8df4d06b8..51f0e7b969 100644 --- a/public/language/tr/admin/appearance/themes.json +++ b/public/language/tr/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Varsayılan NodeBB temasını geri yüklemek istediğinizden emin misiniz?", "theme-changed": "Tema Değiştirildi", "revert-success": "NodeBB'nin varsayılan temasına başarıyla geri dönüş yaptınız.", - "restart-to-activate": "Temayı tamamen aktif hale getirebilmek için NodeBB'yi yeniden başlat" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/tr/admin/extend/plugins.json b/public/language/tr/admin/extend/plugins.json index 20ec5d126d..95e98bbad6 100644 --- a/public/language/tr/admin/extend/plugins.json +++ b/public/language/tr/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Eklenti Kaldırıldı", "alert.activate-success": "Bu eklentiyi tamamen aktif edebilmek için lütfen NodeBB'yi yeniden başlatın", "alert.deactivate-success": "Eklenti başarıyla pasifleştirildi", - "alert.upgrade-success": "Bu eklentiyi tamamen güncelleyebilmek için lütfen NodeBB'yi yeniden başlatın", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Eklenti başarıyla kuruldu, lütfen eklentiyi aktif edin.", "alert.uninstall-success": "Eklenti başarıyla pasifleştirildi ve kaldırıldı.", "alert.suggest-error": "

NodeBB paket yöneticisine ulaşamadı, en yeni sürüm yüklenmeye devam edilsin mi?

Sunucu iade etti (%1): %2
", diff --git a/public/language/tr/admin/general/dashboard.json b/public/language/tr/admin/general/dashboard.json index f38bd0b3ec..1e615be4ab 100644 --- a/public/language/tr/admin/general/dashboard.json +++ b/public/language/tr/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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": "

Güncel

", - "upgrade-available": "

Yeni bir versiyon (v%1) yayınlandı. NodeBB yükseltmesini gözden geçirin.

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

Bu, NodeBB'nin eski bir önsürüm versiyonudur. Yeni bir versiyon (v%1) yayınlandı. NodeBB yükseltmesini gözden geçirin.", + "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": "

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

", "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": "

Failed to look up latest available version of NodeBB

", "notices": "Bildirimler", "restart-not-required": "Yeniden başlatma gerekmiyor", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Arama işlevselliğini etkinleştirmek için eklenti sayfasından bir arama eklentisi kurun", "control-panel": "Sistem Kontrol", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Bakım Modu", diff --git a/public/language/tr/admin/menu.json b/public/language/tr/admin/menu.json index ca925cdc4b..c2aaae413c 100644 --- a/public/language/tr/admin/menu.json +++ b/public/language/tr/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Forumu Yeniden Yükle", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Forumu Yeniden Başlat", "logout": "Çıkış", "view-forum": "Forumu Görüntüle", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/tr/admin/settings/advanced.json b/public/language/tr/admin/settings/advanced.json index acc3dbc4ae..5ba13da2e8 100644 --- a/public/language/tr/admin/settings/advanced.json +++ b/public/language/tr/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Trafik Yönetimi", diff --git a/public/language/tr/admin/settings/post.json b/public/language/tr/admin/settings/post.json index 92b8e7dfaa..abf2eab638 100644 --- a/public/language/tr/admin/settings/post.json +++ b/public/language/tr/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Eklentilerin yardım sekmesine içerik eklemesine izin ver", "composer.custom-help": "Özel Yardım Metni", "ip-tracking": "IP İzleme", - "ip-tracking.each-post": "Her ileti için IP Adresini takip et" + "ip-tracking.each-post": "Her ileti için IP Adresini takip et", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/tr/admin/settings/uploads.json b/public/language/tr/admin/settings/uploads.json index fd3e80b8a9..50990f1403 100644 --- a/public/language/tr/admin/settings/uploads.json +++ b/public/language/tr/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Yüklenen dosyaları gizli yap", "max-image-width": "Görüntüleri belirtilen genişliğe (piksel cinsinden) yeniden boyutlandır", "max-image-width-help": "(Piksel, varsayılan: 128 piksel, devre dışı bırakmak için 0'a ayarlayın)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maksimum Dosya Boyutu (KiB)", "max-file-size-help": "(Kilobayt, varsayılan: 2,048 KiB)", "allow-topic-thumbnails": "Kullanıcıların konulara küçük resim yüklemesine izin ver", diff --git a/public/language/tr/email.json b/public/language/tr/email.json index dcb4e12250..85f4350243 100644 --- a/public/language/tr/email.json +++ b/public/language/tr/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Yönetici kayıt olma isteğinizi kabul etti. Kullanıcı adı/şifre ile giriş yapabilirsiniz.", "welcome.cta": "E-posta adresinizi onaylamak için buraya tıklayın", "invitation.text1": "%1 sizi %2 ye katılmaya davet etti", + "invitation.text2": "Davetiyelerin %1 gün içinde süresi dolacak.", "invitation.ctr": "Hesap oluşturmak için buraya tıklayın", "reset.text1": "Şifrenizi değiştirmek istediğinize dair bir ileti aldık. Eğer böyle bir istek göndermediyseniz, lütfen bu e-postayı görmezden gelin.", "reset.text2": "Parola değiştirme işlemine devam etmek için aşağıdaki bağlantıya tıklayın:", diff --git a/public/language/tr/error.json b/public/language/tr/error.json index 20d8e3ee72..c87207c05d 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Bu mesajı silmek için izin verilmez", "chat-edit-duration-expired": "Gönderildikten sonra yalnızca %1 saniye mesajı(ları) düzenlemene izin verilir", "chat-delete-duration-expired": "Gönderildikten sonra yalnızca %1 saniye mesajı(ları) silmene izin verilir", + "chat-deleted-already": "Bu sohbet mesajı zaten silinmiş.", + "chat-restored'already": "Bu sohbet mesajı zaten geri yüklendi.", "already-voting-for-this-post": "Bu gönderi için zaten oy verdin.", "reputation-system-disabled": "İtibar sistemi devre dışı.", "downvoting-disabled": "Aşagı oylama kapatılmış", @@ -132,7 +134,7 @@ "wrong-login-type-email": "Lütfen giriş için e-posta adresinizi kullanın", "wrong-login-type-username": "Lütfen giriş için kullanıcı adınızı kullanın", "sso-registration-disabled": "%1 hesap için kayıt işlemi devre dışı bırakıldı, lütfen öncelikle bir eposta adresi ile kayıt olun", - "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", + "sso-multiple-association": "Bu hizmetten birden fazla hesabı, NodeBB hesabınızla ilişkilendiremezsiniz. Lütfen mevcut hesabınızı ayırın ve tekrar deneyin.", "invite-maximum-met": "Sen maksimum miktarda insanı davet ettin (%2 üzerinden %1).", "no-session-found": "Giriş yapılmış bir oturum bulunamadı!", "not-in-room": "Odada kullanıcı yok", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Geçersiz anasayfa yolu", "invalid-session": "Oturum Uyuşmazlığı", "invalid-session-text": "Senin giriş oturumun pek aktif gözükmüyor, ya da sunucu ile eşleşmiyor. Lütfen sayfayı yenileyiniz.", - "no-topics-selected": "Hiçbir başlık seçilmedi!" + "no-topics-selected": "Hiçbir başlık seçilmedi!", + "cant-move-to-same-topic": "İletiyi aynı başlığa taşıyamazsın!" } \ No newline at end of file diff --git a/public/language/tr/global.json b/public/language/tr/global.json index 74d70305d3..53434b2403 100644 --- a/public/language/tr/global.json +++ b/public/language/tr/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Daha Fazla", "edited": "Düzenlendi", "disabled": "Devre dışı", - "select": "Seç" + "select": "Seç", + "user-search-prompt": "Kullanıcı bulmak için buraya bir şeyler yazın ..." } \ No newline at end of file diff --git a/public/language/tr/modules.json b/public/language/tr/modules.json index 1f9eae8274..b13c7ea4ca 100644 --- a/public/language/tr/modules.json +++ b/public/language/tr/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": " ile konuş", + "chat.chatting_with": "Sohbet", "chat.placeholder": "Buraya bir mesaj girin, göndermek için girişe basın", "chat.send": "Gönder", "chat.no_active": "Aktif sohbet mevcut değil", @@ -12,6 +12,7 @@ "chat.recent-chats": "Güncel Sohbetler", "chat.contacts": "Kontaklar", "chat.message-history": "Mesaj Geçmişi", + "chat.options": "Sohbet Ayarları", "chat.pop-out": "Sohbeti Pencereye Çevir", "chat.minimize": "Küçült", "chat.maximize": "Büyüt", @@ -20,7 +21,17 @@ "chat.three_months": "3 Ay", "chat.delete_message_confirm": "Bu mesajı silmek istediğinden emin misin?", "chat.add-users-to-room": "Odaya Kullanıcı Ekle", + "chat.retrieving-users": "Kullanıcılar alınıyor ...", + "chat.manage-room": "Sohbet Odasını Yönet", + "chat.add-user-help": "Kullanıcılar için arama yapın. Seçildiğinde, kullanıcı sohbete eklenecektir. Yeni kullanıcı, sohbete eklenmeden önce yazılı sohbet mesajlarını göremeyecektir.", "chat.confirm-chat-with-dnd-user": "Bu kullanıcı durumunu rahatsız etmeyin olarak ayarladı. Hala onunla sohbet etmek istiyor musun?", + "chat.rename-room": "Odanın adını değiştir", + "chat.rename-placeholder": "Oda isminizi buraya girin", + "chat.rename-help": "Buradaki oda adı odadaki tüm katılımcılar tarafından görülebilir.", + "chat.leave": "Sohbetten Ayrıl", + "chat.leave-prompt": "Sohbetten ayrılmak istediğinden emin misin?", + "chat.leave-help": "Bu sohbetten ayrılmak, bu sohbetteki gelecekteki yazışmalardan sizi silecektir. Gelecekte tekrar eklendiyseniz, yeniden katılmadan önce herhangi bir sohbet geçmişi görmezsiniz.", + "chat.in-room": "Bu odada", "composer.compose": "Yaz", "composer.show_preview": "Önizleme Göster", "composer.hide_preview": "Önizleme Sakla", diff --git a/public/language/tr/reset_password.json b/public/language/tr/reset_password.json index 55adbe7083..4c8db2bdec 100644 --- a/public/language/tr/reset_password.json +++ b/public/language/tr/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Şifreyi Onayla", "enter_email": "Lütfen e-posta adresinizi girin , size hesabınızı nasıl sıfırlayacağınızı anlatan bir e-posta gönderelim", "enter_email_address": "E-posta Adresinizi Girin", - "password_reset_sent": "Şifre Yenilemesi Gönderildi", + "password_reset_sent": "Belirtilen adrese bir şifre sıfırlama e-postası gönderildi. Lütfen dakika başına sadece bir e-postanın gönderileceğini unutmayın.", "invalid_email": "Geçersiz E-posta / E-posta mevcut değil!", "password_too_short": "Girdiğiniz şifre çok kısa, lütfen farklı bir şifre seçiniz.", "passwords_do_not_match": "Girdiğiniz iki şifre birbirine uymuyor.", diff --git a/public/language/tr/search.json b/public/language/tr/search.json index cfbcc7db4b..515180a71c 100644 --- a/public/language/tr/search.json +++ b/public/language/tr/search.json @@ -5,6 +5,9 @@ "in": "Konum:", "titles": "Başlıklar", "titles-posts": "Başlıklar ve Yayınlar", + "match-words": "Eşleşen Kelimeler", + "all": "Hepsi", + "any": "Herhangi", "posted-by": "Gönderen", "in-categories": "Kategorilerde", "search-child-categories": "Alt kategorilerde arat", diff --git a/public/language/tr/topic.json b/public/language/tr/topic.json index 755831072a..db17f52fc2 100644 --- a/public/language/tr/topic.json +++ b/public/language/tr/topic.json @@ -30,11 +30,12 @@ "locked": "Kilitli", "pinned": "İğnelendi", "moved": "Taşındı", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "IP Kopyala", + "ban-ip": "IP Engelle", + "view-history": "Geçmişi Düzenle", "bookmark_instructions": "Bu başlıkta en son kaldığın yere dönmek için tıklayın.", "flag_title": "Bu iletiyi moderatöre haber et", - "merged_message": "This topic has been merged into %2", + "merged_message": "Bu konu %2 olarak birleştirildi", "deleted_message": "Bu başlık silindi. Sadece başlık düzenleme yetkisi olan kullanıcılar görebilir.", "following_topic.message": "Artık bir kullanıcı bu başlığa ileti gönderdiğinde bildirim alacaksınız.", "not_following_topic.message": "Bu başlığı okunmamışlarda göreceksiniz ama biri bir şey yazdığında bildirim gelmeyecek.", @@ -61,6 +62,7 @@ "thread_tools.lock": "Başlığı Kitle", "thread_tools.unlock": "Başlığı Aç", "thread_tools.move": "Başlığı Taşı", + "thread_tools.move-posts": "İletiyi Taşı", "thread_tools.move_all": "Hepsini Taşı", "thread_tools.select_category": "Kategori Seç", "thread_tools.fork": "Başlığı Ayır", @@ -95,6 +97,7 @@ "fork_success": "Başlık başarıyla ayrıldı!", "delete_posts_instruction": "Silmek/temizlemek istediğiniz iletilere tıklayın.", "merge_topics_instruction": "Birleştirmek istediğiniz başlıklara tıklayın", + "move_posts_instruction": "Taşımak istediğin iletilere tıklayın", "composer.title_placeholder": "Başlık ismini buraya girin...", "composer.handle_placeholder": "İsim", "composer.discard": "Vazgeç", @@ -121,5 +124,8 @@ "stale.warning": "Yanıtlamak istediğin konu oldukca eskidir. Bu konuya referans oluşturacak yeni bir konu oluşturmak ister misin?", "stale.create": "Yeni bir başlık yarat", "stale.reply_anyway": "Bu konuyu cevapla", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "İleti Geçmiş Düzenle", + "diffs.description": "Bu iletinin %1revizyonu var. Zaman içerisinde ileti içeriğinin tamamını görmek için aşağıdaki düzeltmelerden birine tıklayın.", + "diffs.no-revisions-description": "Bu iletinin %1 revizyonu var." } \ No newline at end of file diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 775cd08f69..d3b2787d86 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -1,6 +1,7 @@ { "banned": "Yasaklı", "offline": "Çevrimdışı", + "deleted": "Silindi", "username": "Kullanıcı Adı", "joindate": "Katılım Tarihi", "postcount": "İleti Sayısı", @@ -11,7 +12,7 @@ "ban_account_confirm": "Hesabı dondurmak istediğinizden emin misiniz!", "unban_account": "Hesabı Kullanıma Aç", "delete_account": "Hesabı Sil", - "delete_account_confirm": "Hesabınızı silmek istediğinize emin misiniz?
Bu işlem geri çevrilemez ve tüm verileriniz sistemden silinecek.

Eğer hesabınızı silmek istiyorsanız lütfen kullanıcı isminizi girerek işlemi onaylayın.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Bu hesabı silmek istediğinizden emin misiniz?
Bu işlem geri döndürülemez ve hiç bir veriyi kurtaramazsınız

", "account-deleted": "Hesap silindi", "fullname": "Tam Ad", @@ -52,7 +53,6 @@ "change_password": "Şifre Değiştir", "change_password_error": "Geçersiz Şifre", "change_password_error_wrong_current": "Şu anki şifre doğru değil!", - "change_password_error_length": "Şifre çok kısa!", "change_password_error_match": "Şifreler aynı olmalı!", "change_password_error_privileges": "Bu şifreyi değiştirme yetkiniz yok.", "change_password_success": "Şifreniz güncellendi!", @@ -95,7 +95,7 @@ "topics_per_page": "Sayfa başına Konular", "posts_per_page": "Sayfa başına İletiler", "max_items_per_page": "Maksimum %1", - "acp_language": "Admin Page Language", + "acp_language": "Yönetici Sayfası Dili", "notification_sounds": "Uyarı alındığında ses çal", "notifications_and_sounds": "Bildirimler & Sesler", "incoming-message-sound": "Gelen mesaj sesi", diff --git a/public/language/uk/admin/admin.json b/public/language/uk/admin/admin.json index 928d6b6c86..e4eb21b768 100644 --- a/public/language/uk/admin/admin.json +++ b/public/language/uk/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Ви впевнені, що бажаєте перевантажити NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Ви впевнені, що бажаєте перезавантажити NodeBB?", "acp-title": "%1 | Адмінська Панель Керування NodeBB", diff --git a/public/language/uk/admin/appearance/themes.json b/public/language/uk/admin/appearance/themes.json index 9d2dd953a9..2438eb3ad0 100644 --- a/public/language/uk/admin/appearance/themes.json +++ b/public/language/uk/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Ви впевнені, що бажаєте відновити тему NodeBB по замовчуванню?", "theme-changed": "Тему змінено", "revert-success": "Ви успішно повернули NodeBB до теми по замовчуванню.", - "restart-to-activate": "Будь ласка, перезавантажте NodeBB, щоб повністю активувати цю тему" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/uk/admin/extend/plugins.json b/public/language/uk/admin/extend/plugins.json index 1bba5d7896..0315d8af64 100644 --- a/public/language/uk/admin/extend/plugins.json +++ b/public/language/uk/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Плагін видалено", "alert.activate-success": "Будь ласка, перезавантажте NodeBB, щоб повністю активувати цей плагін", "alert.deactivate-success": "Плагін успішно деактивовано", - "alert.upgrade-success": "Будь ласка, перевантажте NodeBB, щоб повністю оновити цей плагін", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Плагін успішно встановлено, будь-ласка активуйте його.", "alert.uninstall-success": "Плагін успішно деактивовано та видалено.", "alert.suggest-error": "

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

Відповідь сервера (%1): %2
", diff --git a/public/language/uk/admin/extend/widgets.json b/public/language/uk/admin/extend/widgets.json index 84480a82c9..ad473c5682 100644 --- a/public/language/uk/admin/extend/widgets.json +++ b/public/language/uk/admin/extend/widgets.json @@ -2,7 +2,7 @@ "available": "Доступні віджети", "explanation": "Оберіть віджет із випадаючого меню і перетягніть його в область зліва.", "none-installed": "Віджетів не знайдено! Активуйте необхідний плагін віджетів в панелі керування плагінами.", - "clone-from": "Clone widgets from", + "clone-from": "Клонувати віджет з", "containers.available": "Доступні контейнери", "containers.explanation": "Перетягніть поверх будь-якого активного віджету", "containers.none": "Ніякий", @@ -16,7 +16,7 @@ "alert.confirm-delete": "Ви впевнені, що бажаєте видалити цей віджет?", "alert.updated": "Віджети оновлено", "alert.update-success": "Віджети успішно оновлено", - "alert.clone-success": "Successfully cloned widgets", + "alert.clone-success": "Віджети успішно клоновано", - "error.select-clone": "Please select a page to clone from" + "error.select-clone": "Будь ласка, виберіть сторінку для клонування з" } \ No newline at end of file diff --git a/public/language/uk/admin/general/dashboard.json b/public/language/uk/admin/general/dashboard.json index e223a90143..b9f9856394 100644 --- a/public/language/uk/admin/general/dashboard.json +++ b/public/language/uk/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "У вас працює NodeBB v%1.", "keep-updated": "Регулярно перевіряйте, що ваш NodeBB знаходиться в актуальному стані, щоб мати останні патчі та виправлення.", "up-to-date": "

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

", - "upgrade-available": "

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

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

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

", + "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. Можуть виникати неочікувані помилки.

", "running-in-development": "Форум працює в режимі розробки. Форум потенційно може бути незахищеним, будь-ласка повідомте вашого системного адміністратора.", + "latest-lookup-failed": "

Failed to look up latest available version of NodeBB

", "notices": "Сповіщення", "restart-not-required": "Перезавантаження не потрібне", @@ -36,10 +37,10 @@ "search-plugin-tooltip": "Встановіть пошуковий плагін зі сторінки плагінів, що активувати пошуковий функціонал", "control-panel": "Керування системою", - "reload": "Restart", - "restart": "Rebuild & Restart", - "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", - "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", + "restart-warning": "Перебудування або перезапуск вашого NodeBB призведе до втрати всіх існуючих з'єднань протягом декількох секунд.", + "restart-disabled": "Перебудування та перезапуск вашого NodeBB вимкнено, оскільки ви, здається, не запускаєте його через відповідний демон.", "maintenance-mode": "Режим обслуговування", "maintenance-mode-title": "Натисніть тут, щоб налаштувати режим обслуговування NodeBB", "realtime-chart-updates": "Оновлення графіків в реальному часі", diff --git a/public/language/uk/admin/manage/categories.json b/public/language/uk/admin/manage/categories.json index 1676c20579..ca21065d91 100644 --- a/public/language/uk/admin/manage/categories.json +++ b/public/language/uk/admin/manage/categories.json @@ -66,6 +66,6 @@ "alert.user-search": "Шукайте користувача тут...", "alert.find-group": "Знайти групу", "alert.group-search": "Шукайте групу тут...", - "collapse-all": "Collapse All", - "expand-all": "Expand All" + "collapse-all": "Згорнути всі", + "expand-all": "Розгорнути всі" } \ No newline at end of file diff --git a/public/language/uk/admin/manage/ip-blacklist.json b/public/language/uk/admin/manage/ip-blacklist.json index da30c5283b..796d4b9847 100644 --- a/public/language/uk/admin/manage/ip-blacklist.json +++ b/public/language/uk/admin/manage/ip-blacklist.json @@ -15,5 +15,5 @@ "analytics.blacklist-hourly": "Графік 1 – Внесення до чорного списку за годину", "analytics.blacklist-daily": "Графік 2 – Внесення до чорного списку за день", - "ip-banned": "IP banned" + "ip-banned": "IP заблоковано" } \ No newline at end of file diff --git a/public/language/uk/admin/manage/post-queue.json b/public/language/uk/admin/manage/post-queue.json index 8d3eebeccf..47da91c9d0 100644 --- a/public/language/uk/admin/manage/post-queue.json +++ b/public/language/uk/admin/manage/post-queue.json @@ -7,5 +7,5 @@ "content": "Зміст", "posted": "Опубліковано", "reply-to": "Відповідь для \"%1\"", - "content-editable": "You can click on individual content to edit before posting." + "content-editable": "Ви можете натиснути на окремий вміст, щоб редагувати його перед публікацією." } \ No newline at end of file diff --git a/public/language/uk/admin/manage/tags.json b/public/language/uk/admin/manage/tags.json index b47e84a1cf..2252ce563b 100644 --- a/public/language/uk/admin/manage/tags.json +++ b/public/language/uk/admin/manage/tags.json @@ -6,7 +6,7 @@ "description": "Виберіть теги тиснучи або перетягуючи. Використовуйте Shift, щоб обрати декілька.", "create": "Створити тег", "modify": "Змінити тег", - "rename": "Rename Tags", + "rename": "Перейменувати теги", "delete": "Видалити вибрані теги", "search": "Пошук тегів...", "settings": "Натисніть тут щоб перейти на сторінку налаштування тегів.", diff --git a/public/language/uk/admin/manage/users.json b/public/language/uk/admin/manage/users.json index d061626f0e..2cf4ef393d 100644 --- a/public/language/uk/admin/manage/users.json +++ b/public/language/uk/admin/manage/users.json @@ -27,8 +27,8 @@ "pills.banned": "Забанені", "pills.search": "Пошук користувачів", - "search.uid": "By User ID", - "search.uid-placeholder": "Enter a user ID to search", + "search.uid": "За ID користувача", + "search.uid-placeholder": "Введіть ID користувача для пошуку", "search.username": "За іменем", "search.username-placeholder": "Введіть ім'я для пошуку", "search.email": "За поштою", @@ -71,15 +71,15 @@ "alerts.lockout-reset-success": "Блокування скинуто!", "alerts.flag-reset-success": "Скарги скинуто!", "alerts.no-remove-yourself-admin": "Ви не можете видалити себе як адміна!", - "alerts.make-admin-success": "User is now administrator.", - "alerts.confirm-remove-admin": "Do you really want to remove this administrator?", - "alerts.remove-admin-success": "User is no longer administrator.", - "alerts.make-global-mod-success": "User is now global moderator.", - "alerts.confirm-remove-global-mod": "Do you really want to remove this global moderator?", - "alerts.remove-global-mod-success": "User is no longer global moderator.", - "alerts.make-moderator-success": "User is now moderator.", - "alerts.confirm-remove-moderator": "Do you really want to remove this moderator?", - "alerts.remove-moderator-success": "User is no longer moderator.", + "alerts.make-admin-success": "Користувач зараз є адміністратором.", + "alerts.confirm-remove-admin": "Ви дійсно хочете видалити цього адміністратора?", + "alerts.remove-admin-success": "Користувач більше не є адміністратором.", + "alerts.make-global-mod-success": "Користувач зараз є глобальним модератором.", + "alerts.confirm-remove-global-mod": "Ви дійсно хочете вилучити цього глобального модератора?", + "alerts.remove-global-mod-success": "Користувач більше не є глобальним модератором.", + "alerts.make-moderator-success": "Користувач зараз є модератором.", + "alerts.confirm-remove-moderator": "Ви дійсно хочете видалити цього модератора?", + "alerts.remove-moderator-success": "Користувач більше не є модератором.", "alerts.confirm-validate-email": "Ви точно бажаєте підтвердити електронні пошти цих користувачів?", "alerts.validate-email-success": "Електронні пошти підтверджено", "alerts.password-reset-confirm": "Ви точно бажаєте скинути паролі цим користувачам електронною поштою?", diff --git a/public/language/uk/admin/menu.json b/public/language/uk/admin/menu.json index 266c961572..06a3e434ea 100644 --- a/public/language/uk/admin/menu.json +++ b/public/language/uk/admin/menu.json @@ -9,15 +9,15 @@ "section-manage": "Керування", "manage/categories": "Категорії", - "manage/privileges": "Privileges", + "manage/privileges": "Права", "manage/tags": "Теги", "manage/users": "Користувачі", - "manage/admins-mods": "Admins & Mods", + "manage/admins-mods": "Адміністратори та моди", "manage/registration": "Черга реєстрації", "manage/post-queue": "Черга Постів", "manage/groups": "Групи", "manage/ip-blacklist": "Чорний список IP-адрес", - "manage/uploads": "Uploads", + "manage/uploads": "Завантаження", "section-settings": "Налаштування", "settings/general": "Загальні", @@ -42,7 +42,7 @@ "section-appearance": "Зовнішній вигляд", "appearance/themes": "Теми", "appearance/skins": "Стилі", - "appearance/customise": "Custom Content (HTML/JS/CSS)", + "appearance/customise": "Користувацький вміст (HTML/JS/CSS)", "section-extend": "Розширити", "extend/plugins": "Плагіни", @@ -63,16 +63,19 @@ "development/logger": "Логування", "development/info": "Інформація", - "reload-forum": "Перевантажити форум", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Перезавантажити форум", "logout": "Вийти", "view-forum": "Переглянути форум", - "search.placeholder": "Search for settings", + "search.placeholder": "Пошук налаштувань", "search.no-results": "Без результатів...", "search.search-forum": "Шукати на форумі ", "search.keep-typing": "Для результатів, надрукуйте ще...", "search.start-typing": "Для результатів, почніть друкувати...", - "connection-lost": "З'єднання з %1 було втрачено, намагаємось під'єднатись знов..." + "connection-lost": "З'єднання з %1 було втрачено, намагаємось під'єднатись знов...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/advanced.json b/public/language/uk/admin/settings/advanced.json index e858adf80d..6a6ee90c45 100644 --- a/public/language/uk/admin/settings/advanced.json +++ b/public/language/uk/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Налаштувати заголовок \"Powered By\", котрий відправляє NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "Щоб заборонити доступ до всіх сайтів, залиште незаповненим", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Керування трафіком", diff --git a/public/language/uk/admin/settings/chat.json b/public/language/uk/admin/settings/chat.json index d73c11e7ef..10e4dbd855 100644 --- a/public/language/uk/admin/settings/chat.json +++ b/public/language/uk/admin/settings/chat.json @@ -6,6 +6,6 @@ "max-length": "Максимальна довжина повідомлення", "max-room-size": "Максимальна кількість людей у кімнаті", "delay": "Час між повідомленнями в мілісекундах", - "restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit chat messages after posting. (0 disabled)", - "restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete chat messages after posting. (0 disabled)" + "restrictions.seconds-edit-after": "Кількість секунд, перш ніж користувачі зможуть редагувати повідомлення чату після публікації. (0 вимкнено)", + "restrictions.seconds-delete-after": "Кількість секунд, перш ніж користувачі зможуть видаляти повідомлення чату після публікації. (0 вимкнено)" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/notifications.json b/public/language/uk/admin/settings/notifications.json index 3a5f9976d1..55f71dae63 100644 --- a/public/language/uk/admin/settings/notifications.json +++ b/public/language/uk/admin/settings/notifications.json @@ -2,5 +2,5 @@ "notifications": "Сповіщення", "welcome-notification": "Сповіщення \"Ласкаво просимо\"", "welcome-notification-link": "Посилання для сповіщення \"Ласкаво просимо\"", - "welcome-notification-uid": "Welcome Notification User (UID)" + "welcome-notification-uid": "Сповіщення \"Ласкаво просимо\" для користувача (UID)" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/pagination.json b/public/language/uk/admin/settings/pagination.json index 4be8e3452a..e874e8d249 100644 --- a/public/language/uk/admin/settings/pagination.json +++ b/public/language/uk/admin/settings/pagination.json @@ -3,9 +3,9 @@ "enable": "Розбивати список тем та постів на сторінки замість нескінченної прокрутки", "topics": "Пагінація тем", "posts-per-page": "Постів на сторінку", - "max-posts-per-page": "Maximum posts per page", + "max-posts-per-page": "Максимум постів на сторінку", "categories": "Пагінація категорій", "topics-per-page": "Тем на сторінку", - "max-topics-per-page": "Maximum topics per page", + "max-topics-per-page": "Максимум тем на сторінку", "initial-num-load": "Початкова кількість тем для завантаження в Непрочитаних, Недавніх та Популярних" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/post.json b/public/language/uk/admin/settings/post.json index df8593c187..06f02232fb 100644 --- a/public/language/uk/admin/settings/post.json +++ b/public/language/uk/admin/settings/post.json @@ -4,27 +4,27 @@ "sorting.oldest-to-newest": "Старі > Нові", "sorting.newest-to-oldest": "Нові > Старі", "sorting.most-votes": "Кількість голосів", - "sorting.most-posts": "Most Posts", + "sorting.most-posts": "Кількість постів", "sorting.topic-default": "Типове сортування тем", - "length": "Post Length", + "length": "Довжина посту", "restrictions": "Обмеження постингу", - "restrictions-new": "New User Restrictions", + "restrictions-new": "Нові обмеження користувачів", "restrictions.post-queue": "Увімкнути чергу постів", - "restrictions-new.post-queue": "Enable new user restrictions", + "restrictions-new.post-queue": "Увімкнути нові обмеження користувачів", "restrictions.post-queue-help": "Після увімкнення черги постів, пости нових користувачів будуть ставитись в чергу на схвалення.", - "restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users.", - "restrictions.seconds-between": "Seconds between posts", - "restrictions.seconds-between-new": "Seconds between posts for new users", - "restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted", + "restrictions-new.post-queue-help": "Увімкнення нових обмежень користувача встановить обмеження на публікації, створені новими користувачами.", + "restrictions.seconds-between": "Секунд між постами", + "restrictions.seconds-between-new": "Секунд між постами для нових користувачів", + "restrictions.rep-threshold": "Рівень репутації до того, як ці обмеження скасовуються", "restrictions.seconds-defore-new": "Кількість секунд до першого посту для нового користувача", - "restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit posts after posting. (0 disabled)", - "restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete posts after posting. (0 disabled)", + "restrictions.seconds-edit-after": "Кількість секунд, перш ніж користувачі зможуть редагувати повідомлення після публікації. (0 вимкнено)", + "restrictions.seconds-delete-after": "Кількість секунд, перш ніж користувачі зможуть видаляти повідомлення після публікації. (0 вимкнено)", "restrictions.replies-no-delete": "Кількість відповідей після котрих користувач не зможе видалити власну тему. (0 — вимкнено)", "restrictions.min-title-length": "Мінімальна довжина заголовку", "restrictions.max-title-length": "Максимальна довжина заголовку", "restrictions.min-post-length": "Мінімальна довжина посту", "restrictions.max-post-length": "Максимальна довжина посту", - "restrictions.days-until-stale": "Days until topic is considered stale", + "restrictions.days-until-stale": "Днів, доки тема не вважатиметься застарілою", "restrictions.stale-help": "Якщо тема є \"застарілою\", то для користувачів, що бажають відповісти на неї буде показано попередження.", "timestamp": "Часова мітка", "timestamp.cut-off": "Обрізка дат (в днях)", @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Дозволити плагінам додавати зміст довідки", "composer.custom-help": "Користувацький текст довідки", "ip-tracking": "Відстеження IP", - "ip-tracking.each-post": "Відстежувати IP адреси для кожного посту" + "ip-tracking.each-post": "Відстежувати IP адреси для кожного посту", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/reputation.json b/public/language/uk/admin/settings/reputation.json index 40efe9e9cd..039ba2c10f 100644 --- a/public/language/uk/admin/settings/reputation.json +++ b/public/language/uk/admin/settings/reputation.json @@ -6,7 +6,7 @@ "thresholds": "Допуски активності", "min-rep-downvote": "Мінімальна репутація для голосування проти постів", "min-rep-flag": "Мінімальна репутація для подання скарг на пости", - "min-rep-website": "Minimum reputation to add \"Website\" to user profile", - "min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile", - "min-rep-signature": "Minimum reputation to add \"Signature\" to user profile" + "min-rep-website": "Мінімальна репутація для додавання \"Веб-сайту\" до профілю користувача", + "min-rep-aboutme": "Мінімальна репутація для додавання \"Про мене\" до профілю користувача", + "min-rep-signature": "Мінімальна репутація для додавання \"Підпис\" до профілю користувача" } \ No newline at end of file diff --git a/public/language/uk/admin/settings/uploads.json b/public/language/uk/admin/settings/uploads.json index eb890381db..dc8493b0ae 100644 --- a/public/language/uk/admin/settings/uploads.json +++ b/public/language/uk/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Зробити завантажувані файли приватними", "max-image-width": "Змінювати розмір зображень до заданої ширини (в пікселях)", "max-image-width-help": "(в пікселях, 760 — за замовчуванням, 0 — вимкнути)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Максимальний розмір файлу (в КіБ)", "max-file-size-help": "(в кібібайтах, по замовчанню: 2048 КіБ)", "allow-topic-thumbnails": "Дозволити користувачам завантажувати мініатюри тем", diff --git a/public/language/uk/admin/settings/user.json b/public/language/uk/admin/settings/user.json index 80b8e54787..25be496e4b 100644 --- a/public/language/uk/admin/settings/user.json +++ b/public/language/uk/admin/settings/user.json @@ -19,8 +19,8 @@ "themes": "Теми", "disable-user-skins": "Заборонити користувачам обирати стиль сайту", "account-protection": "Захист акаунту", - "admin-relogin-duration": "Admin relogin duration (minutes)", - "admin-relogin-duration-help": "After a set amount of time accessing the admin section will require re-login, set to 0 to disable", + "admin-relogin-duration": "Тривалість повторного входу адміністратора (хвилин)", + "admin-relogin-duration-help": "Після встановленої кількості часу для доступу до розділу адміністрування потрібно буде знову ввійти, встановити значення 0 для вимкнення", "login-attempts": "Кількість спроб входу за годину", "login-attempts-help": "Якщо кількість спроб входу в акаунт користувача перевищить цей ліміт, акаунт буде заблоковано на задану кількість часу", "lockout-duration": "Тривалість блокування акаунту (хвилин)", @@ -63,5 +63,5 @@ "email-post-notif": "Надсилати листа, коли в темах на які я підписаний з'являються відповіді", "follow-created-topics": "Стежити за темами які ви створюєте", "follow-replied-topics": "Стежити за темами в котрих ви відповідаєте", - "default-notification-settings": "Default notification settings" + "default-notification-settings": "Стандартні налаштування сповіщень" } \ No newline at end of file diff --git a/public/language/uk/email.json b/public/language/uk/email.json index 9d44cf9f7f..d16a394c41 100644 --- a/public/language/uk/email.json +++ b/public/language/uk/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Адміністратор схвалив ваш запит на реєстрацію. Ви можете залогінитись, використовуючи свій пароль та назву акаунту", "welcome.cta": "Натисніть тут, щоб підтвердити вашу електронну адресу", "invitation.text1": "%1 запросив вас приєднатися до %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "Натисніть тут, щоб створити акаунт", "reset.text1": "Ми отримали запит на відновлення вашого паролю, можливо тому, что ви його забули. Якщо вам це не потрібно - проігноруйте цей лист", "reset.text2": "Щоб продовжити відновлення паролю, будь ласка, перейдіть за посиланням", @@ -30,7 +31,7 @@ "notif.chat.unsub.info": "Це повідомлення чату було вислано вам, згідно ваших налаштувань підписки", "notif.post.cta": "Натисніть тут, щоб повністю прочитати статтю", "notif.post.unsub.info": "Це поштове повідомлення було вислано вам, згідно ваших налаштувань підписки", - "notif.cta": "Click here to go to forum", + "notif.cta": "Натисніть тут, щоб перейти на форум", "test.text1": "Це пробний лист для верифікації поштової служби. Всі налаштування вірні для NodeBB.", "unsub.cta": "Натисніть тут, щоб змінити ці налаштування", "banned.subject": "Ви були забанені на %1", diff --git a/public/language/uk/error.json b/public/language/uk/error.json index a2102595b6..2c6156bad0 100644 --- a/public/language/uk/error.json +++ b/public/language/uk/error.json @@ -11,13 +11,13 @@ "invalid-uid": "Невірний ID користувача", "invalid-username": "Невірне ім'я користувача", "invalid-email": "Невірна електронна адреса", - "invalid-title": "Invalid title", + "invalid-title": "Невірний заголовок", "invalid-user-data": "Невірні користувацькі дані", "invalid-password": "Невірний пароль", "invalid-login-credentials": "Невірне ім'я користувача або пароль", "invalid-username-or-password": "Вкажіть, будь ласка, ім'я користувача та пароль", "invalid-search-term": "Невірний пошуковий запит", - "invalid-url": "Invalid URL", + "invalid-url": "Недійсна URL-адреса", "csrf-invalid": "Нам не вдалося вас пустити, ймовірно, через прострочену сесію. Будь ласка, спробуйте ще раз", "invalid-pagination-value": "Невірне значення сторінки, має бути щонайменше %1 та щонайбільше %2", "username-taken": "Це ім'я зайняте", @@ -82,7 +82,7 @@ "cant-ban-other-admins": "Ви не можете банити інших адмінів!", "cant-remove-last-admin": "Ви єдиний адміністратор. Додайте іншого користувача в якості адміністратора перш ніж знімати з себе ці обов'язки.", "cant-delete-admin": "Зніміть обов'язки адміністратора з цього акаунту перш ніж видаляти його.", - "invalid-image": "Invalid image", + "invalid-image": "Невірне зображення", "invalid-image-type": "Невірний тип зображення. Дозволені типи: %1", "invalid-image-extension": "Невірне розширення зображення", "invalid-file-type": "Невірний тип файлу. Дозволені типи: %1", @@ -114,25 +114,27 @@ "cant-edit-chat-message": "Ви не можете редагувати повідомлення", "cant-remove-last-user": "Ви не можете видалити останнього користувача", "cant-delete-chat-message": "Ви не можете видалити це повідомлення", - "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", - "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-edit-duration-expired": "Ви можете редагувати повідомлення чату лише через %1 секунд після публікації", + "chat-delete-duration-expired": "Ви можете видаляти повідомлення чату лише через %1 секунд після публікації", + "chat-deleted-already": "Це повідомлення чату вже було видалено.", + "chat-restored'already": "Це повідомлення чату вже відновлено.", "already-voting-for-this-post": "Ви вже проголосували за цей пост.", "reputation-system-disabled": "Система репутацій вимкнена.", "downvoting-disabled": "Голосування проти вимкнено", "not-enough-reputation-to-downvote": "У вас недостатньо репутації, щоб голосувати проти цього посту", "not-enough-reputation-to-flag": "У вас недостатньо репутації, щоб помітити цей пост", - "not-enough-reputation-min-rep-website": "You do not have enough reputation to add a website", - "not-enough-reputation-min-rep-aboutme": "You do not have enough reputation to add an about me", - "not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature", + "not-enough-reputation-min-rep-website": "У вас недостатньо репутації для додавання веб-сайту", + "not-enough-reputation-min-rep-aboutme": "Ви не маєте достатньої репутації, щоб додати Про мене", + "not-enough-reputation-min-rep-signature": "У вас недостатньо репутації, щоб додати підпис", "already-flagged": "Ви вже помітили цей пост", - "self-vote": "You cannot vote on your own post", + "self-vote": "Ви не можете проголосувати за власний пост", "reload-failed": "У NodeBB виникла проблема при перевантаженні: \"%1\". NodeBB продовжить надавати існуючі клієнтські ресурси, проте радимо вам скасувати те, що було зроблено до перевантаження.", "registration-error": "Помилка реєстрації", "parse-error": "Щось пішло не так при розборі відповіді сервера", "wrong-login-type-email": "Будь ласка, використайте вашу електронну пошту для входу", "wrong-login-type-username": "Будь ласка, використайте ваше ім'я для входу", - "sso-registration-disabled": "Registration has been disabled for %1 accounts, please register with an email address first", - "sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.", + "sso-registration-disabled": "Реєстрація була відключена для %1 акаунтів, будь ласка, зареєструйтесь спочатку з адресою електронної пошти", + "sso-multiple-association": "Ви не можете пов'язати кілька облікових записів з цього сервісу з обліковим записом NodeBB. Будь ласка, від'єднайте існуючий обліковий запис і повторіть спробу.", "invite-maximum-met": "Ви запросили максимальну кілкість людей (%1 з %2).", "no-session-found": "Жодної сесії не знайдено!", "not-in-room": "Користувача немає в кімнаті", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Невірний шлях на головну", "invalid-session": "Сесія не існує", "invalid-session-text": "Здається, що ваша сесія більше неактивна або розійшлася з серверною. Оновіть, будь ласка, цю сторінку.", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "Не вибрано жодної теми!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/uk/global.json b/public/language/uk/global.json index 95076bfd53..0b495a261a 100644 --- a/public/language/uk/global.json +++ b/public/language/uk/global.json @@ -53,7 +53,7 @@ "topics": "Теми", "posts": "Пости", "best": "Найкращі", - "votes": "Votes", + "votes": "Голоси", "upvoters": "За", "upvoted": "За", "downvoters": "Проти", @@ -106,5 +106,6 @@ "cookies.learn_more": "Дізнатися більше", "edited": "Відредаговано", "disabled": "Вимкнено", - "select": "Обрати" + "select": "Обрати", + "user-search-prompt": "Введіть щось тут, щоб знайти користувачів..." } \ No newline at end of file diff --git a/public/language/uk/language.json b/public/language/uk/language.json index 5eda753089..3a4bc3cd3c 100644 --- a/public/language/uk/language.json +++ b/public/language/uk/language.json @@ -1,5 +1,5 @@ { - "name": "Українська (Україна)", + "name": "Українська", "code": "uk", "dir": "ltr" } \ No newline at end of file diff --git a/public/language/uk/modules.json b/public/language/uk/modules.json index 9e4f482631..80abccb68e 100644 --- a/public/language/uk/modules.json +++ b/public/language/uk/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Чат з ", + "chat.chatting_with": "Чат з", "chat.placeholder": "Надрукуйте повідомлення і натисніть Enter для відправки", "chat.send": "Надіслати", "chat.no_active": "У вас немає активних чатів.", @@ -12,6 +12,7 @@ "chat.recent-chats": "Нещодавні чати", "chat.contacts": "Контакти", "chat.message-history": "Історія повідомлень", + "chat.options": "Параметри чату", "chat.pop-out": "Залишити розмову", "chat.minimize": "Згорнути", "chat.maximize": "Розгорнути", @@ -20,7 +21,17 @@ "chat.three_months": "3 місяці", "chat.delete_message_confirm": "Ви впевнені, що хочете видалити це повідомлення?", "chat.add-users-to-room": "Додати користувачів до кімнати", + "chat.retrieving-users": "Отримання користувачів...", + "chat.manage-room": "Управління чат кімнатами", + "chat.add-user-help": "Шукайте користувачів тут. Коли вибрано, користувач буде доданий до чату. Новий користувач не зможе переглядати повідомлення чату, перш ніж вони будуть додані до бесіди.", "chat.confirm-chat-with-dnd-user": "Користувач змінив свій статус на DnD (Не турбувати). Ви дійсно бажаєте надіслати йому повідомлення в чат?", + "chat.rename-room": "Перейменувати кімнату", + "chat.rename-placeholder": "Введіть назву своєї кімнати тут", + "chat.rename-help": "Назва кімнати, яку буде встановлено тут, буде доступна для перегляду всіма учасниками в кімнаті.", + "chat.leave": "Залишити чат", + "chat.leave-prompt": "Ви впевнені, що хочете залишити цей чат?", + "chat.leave-help": "Залишивши цей чат, ви видалите вас із майбутньої кореспонденції у цьому чаті. Якщо ви знову будете додані в майбутньому, ви не побачите жодної історії чату перед тим, як знову приєднатися.", + "chat.in-room": "У цій кімнаті", "composer.compose": "Редактор повідомлень", "composer.show_preview": "Показати попередній перегляд", "composer.hide_preview": "Сховати попередній перегляд", diff --git a/public/language/uk/notifications.json b/public/language/uk/notifications.json index e7b2f9099b..89b6e576c3 100644 --- a/public/language/uk/notifications.json +++ b/public/language/uk/notifications.json @@ -9,7 +9,7 @@ "continue_to": "Перейти до %1", "return_to": "Повернутись до %1", "new_notification": "Нове сповіщення", - "new_notification_from": "You have a new Notification from %1", + "new_notification_from": "Ви отримали нове сповіщення від %1", "you_have_unread_notifications": "У вас немає непрочитаних сповіщень", "all": "Всі", "topics": "Теми", @@ -47,18 +47,18 @@ "email-confirmed-message": "Дякуємо за підтвердження електронної пошти. Ваш акаунт тепер повністю активовано.", "email-confirm-error-message": "При перевірці вашої електронної пошти сталася проблема. Можливо код був недійсним або простроченим.", "email-confirm-sent": "Підтвердження по електронній пошті було надіслано.", - "none": "None", - "notification_only": "Notification Only", - "email_only": "Email Only", - "notification_and_email": "Notification & Email", - "notificationType_upvote": "When someone upvotes your post", - "notificationType_new-topic": "When someone you follow posts a topic", - "notificationType_new-reply": "When a new reply is posted in a topic you are watching", - "notificationType_follow": "When someone starts following you", - "notificationType_new-chat": "When you receive a chat message", - "notificationType_group-invite": "When you receive a group invite", - "notificationType_new-register": "When someone gets added to registration queue", - "notificationType_post-queue": "When a new post is queued", - "notificationType_new-post-flag": "When a post is flagged", - "notificationType_new-user-flag": "When a user is flagged" + "none": "Немає", + "notification_only": "Тільки сповіщення", + "email_only": "Тільки електронну пошту ", + "notification_and_email": "Сповіщення та пошта", + "notificationType_upvote": "Коли хтось голосує за ваш пост", + "notificationType_new-topic": "Коли хтось, кого ви читаєте, публікує тему", + "notificationType_new-reply": "Коли з'являється нова відповідь у темі, за якою ви слідкуєте", + "notificationType_follow": "Коли хтось починає слідкувати за вами", + "notificationType_new-chat": "Коли ви отримуєте повідомлення чату", + "notificationType_group-invite": "Коли ви отримуєте запрошення до групи", + "notificationType_new-register": "Коли когось додано до черги на реєстрацію", + "notificationType_post-queue": "Коли новий пост знаходиться в черзі", + "notificationType_new-post-flag": "Коли повідомлення позначено", + "notificationType_new-user-flag": "Коли користувача позначено" } \ No newline at end of file diff --git a/public/language/uk/pages.json b/public/language/uk/pages.json index 656200c87e..c91612f352 100644 --- a/public/language/uk/pages.json +++ b/public/language/uk/pages.json @@ -6,7 +6,7 @@ "popular-month": "Популярні теми цього місяця", "popular-alltime": "Популярні теми за весь час", "recent": "Свіжі теми", - "top": "Top Voted Topics", + "top": "Найпопулярніші теми", "moderator-tools": "Інструменти Модератора", "flagged-content": "Оскаржений вміст", "ip-blacklist": "Чорний список IP адрес", @@ -20,7 +20,7 @@ "users/search": "Пошук користувача", "notifications": "Сповіщення", "tags": "Теги", - "tag": "Topics tagged under "%1"", + "tag": "Теми, позначені нижче "%1"", "register": "Зареєструвати акаунт", "registration-complete": "Реєстрацію завершено", "login": "Увійдіть в свій акаунт", @@ -45,7 +45,7 @@ "account/bookmarks": "Закладки %1", "account/settings": "Налаштування користувача", "account/watched": "Теми за якими стежить %1", - "account/ignored": "Topics ignored by %1", + "account/ignored": "Теми, які ігноруються", "account/upvoted": "Пости за які проголосував %1", "account/downvoted": "Пости проти яких проголосував %1", "account/best": "Найкращі пости %1", diff --git a/public/language/uk/reset_password.json b/public/language/uk/reset_password.json index f3bbe1b550..a3841d89c6 100644 --- a/public/language/uk/reset_password.json +++ b/public/language/uk/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Підтвердіть пароль", "enter_email": "Будь ласка, введіть свою електронну пошту і ми надішлемо вам листа с інструкцією як скинути ваш обліковий запис.", "enter_email_address": "Введіть електронну пошту", - "password_reset_sent": "Скидання паролю надіслано", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Невірна або неіснуюча електронна пошта!", "password_too_short": "Уведений пароль закороткий, оберіть, будь ласка, інший.", "passwords_do_not_match": "Паролі що ви ввели не співпадають.", diff --git a/public/language/uk/search.json b/public/language/uk/search.json index 7d7f6c65d5..21fe00d4ca 100644 --- a/public/language/uk/search.json +++ b/public/language/uk/search.json @@ -5,6 +5,9 @@ "in": "В", "titles": "Заголовки", "titles-posts": "Заголовки та Пости", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Запощено", "in-categories": "В Категоріях", "search-child-categories": "Шукати в дочірніх категоріях", diff --git a/public/language/uk/topic.json b/public/language/uk/topic.json index def229c0f8..aa42e4ba7d 100644 --- a/public/language/uk/topic.json +++ b/public/language/uk/topic.json @@ -30,11 +30,12 @@ "locked": "Заблокована", "pinned": "Закріплена", "moved": "Переміщена", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Копіювати IP", + "ban-ip": "Заблокувати IP", + "view-history": "Редагувати історію", "bookmark_instructions": "Натисніть тут, щоб повернутися до останнього прочитаного посту у цій темі.", "flag_title": "Поскаржитись на цей пост модератору", - "merged_message": "This topic has been merged into %2", + "merged_message": "Ця тема була об'єднана в %2", "deleted_message": "Цю тему було видалено. Лише користувачі з правом керування темами можуть її бачити.", "following_topic.message": "Відтепер ви будете отримувати сповіщення коли хтось постить в цю тему.", "not_following_topic.message": "Ви будете бачити цю тему в списку непрочитаних, але ви не будете отримувати сповіщень, коли хтось постить до неї.", @@ -55,12 +56,13 @@ "not-watching.description": "Не сповіщати мене про нові відповіді.
Показувати тему в непрочитаних якщо категорія не ігнорується.", "ignoring.description": "Не сповіщати мене про нові відповіді.
Не показувати тему в непрочитаних.", "thread_tools.title": "Інструменти теми", - "thread_tools.markAsUnreadForAll": "Mark Unread For All", + "thread_tools.markAsUnreadForAll": "Відмітити для всіх як непрочитана.", "thread_tools.pin": "Прикріпити тему", "thread_tools.unpin": "Відкріпити тему", "thread_tools.lock": "Заблокувати тему", "thread_tools.unlock": "Розблокувати тему", "thread_tools.move": "Перемістити тему", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Перемістити всі", "thread_tools.select_category": "Обрати Категорію", "thread_tools.fork": "Відгалужити тему", @@ -71,8 +73,8 @@ "thread_tools.restore_confirm": "Ви точно бажаєте відновити цю тему?", "thread_tools.purge": "Стерти тему", "thread_tools.purge_confirm": "Ви точно бажаєте стерти цю тему?", - "thread_tools.merge_topics": "Merge Topics", - "thread_tools.merge": "Merge", + "thread_tools.merge_topics": "Об'єднати теми", + "thread_tools.merge": "Об'єднати", "topic_move_success": "Тема була успішно переміщена до %1", "post_delete_confirm": "Ви точно бажаєте видалити цей пост?", "post_restore_confirm": "Ви точно бажаєте відновити цей пост?", @@ -94,7 +96,8 @@ "fork_pid_count": "вибрано %1 пост(ів) ", "fork_success": "Тему успішно відгалужено. Тисніть тут, щоб перейти до відгалуженої теми.", "delete_posts_instruction": "Тисніть пости які ви бажаєте видалити/стерти", - "merge_topics_instruction": "Click the topics you want to merge", + "merge_topics_instruction": "Натисніть на теми, які потрібно об'єднати", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Уведіть заголовок теми...", "composer.handle_placeholder": "Ім'я", "composer.discard": "Скасувати", @@ -121,5 +124,8 @@ "stale.warning": "Тема на котру ви відповідаєте досить стара. Не бажаєте натомість створити новую тему і зіслатися на цю у вашій відповіді?", "stale.create": "Так, створити нову тему", "stale.reply_anyway": "Ні, відповісти все ж на існуючу", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Історія редагування посту", + "diffs.description": "Цей пост має %1 версій. Натисніть одну з наведених нижче змін, щоб переглянути вміст публікації в той момент часу.", + "diffs.no-revisions-description": "Цей пост має %1 версій." } \ No newline at end of file diff --git a/public/language/uk/unread.json b/public/language/uk/unread.json index 8cd06c70a5..bd4079565b 100644 --- a/public/language/uk/unread.json +++ b/public/language/uk/unread.json @@ -10,6 +10,6 @@ "all-topics": "Всі теми", "new-topics": "Нові теми", "watched-topics": "Переглянуті теми", - "unreplied-topics": "Unreplied Topics", - "multiple-categories-selected": "Multiple Selected" + "unreplied-topics": "Теми без відповіді", + "multiple-categories-selected": "Мультивибір" } \ No newline at end of file diff --git a/public/language/uk/user.json b/public/language/uk/user.json index d84dcde222..1eb4a2a1bb 100644 --- a/public/language/uk/user.json +++ b/public/language/uk/user.json @@ -1,6 +1,7 @@ { - "banned": "Заборонений", + "banned": "Заблокований", "offline": "Не в мережі", + "deleted": "Видалено", "username": "Ім'я користувача", "joindate": "Дата вступу", "postcount": "Кількість постів", @@ -11,7 +12,7 @@ "ban_account_confirm": "Ви точно хочете забанити цього користувача?", "unban_account": "Розбанити акаунт", "delete_account": "Видалити акаунт", - "delete_account_confirm": "Ви точно бажаєте видалити ваш акаунт?
Ця дія є незворотньою і ви не зможете відновити жодні з ваших даних.

Уведіть ваше ім'я користувача для підтвердження знищення цього акаунту.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Ви точно бажаєте видалити цей акаунт?
Ця дія є незворотньою і ви не зможете відновити жодні дані.

", "account-deleted": "Акаунт видалено", "fullname": "Повне ім'я", @@ -52,7 +53,6 @@ "change_password": "Змінити пароль", "change_password_error": "Невірний пароль!", "change_password_error_wrong_current": "Ваш поточний пароль не вірний!", - "change_password_error_length": "Пароль закороткий!", "change_password_error_match": "Паролі мають співпадати!", "change_password_error_privileges": "У вас немає прав змінювати цей пароль.", "change_password_success": "Ваш пароль оновлено!", @@ -94,18 +94,18 @@ "paginate_description": "Розбивати список тем та постів на сторінки замість нескінченної прокрутки", "topics_per_page": "Тем на сторінку", "posts_per_page": "Постів на сторінку", - "max_items_per_page": "Maximum %1", - "acp_language": "Admin Page Language", + "max_items_per_page": "Максимум %1", + "acp_language": "Мова сторінки адміністратора", "notification_sounds": "Програвати звук, коли ви отримуєте сповіщення", "notifications_and_sounds": "Сповіщення та звуки", "incoming-message-sound": "Звук вхідного повідомлення", "outgoing-message-sound": "Звук вихідного повідомлення", "notification-sound": "Звук сповіщення", "no-sound": "Без звуку", - "upvote-notif-freq": "Upvote Notification Frequency", - "upvote-notif-freq.all": "All Upvotes", - "upvote-notif-freq.everyTen": "Every Ten Upvotes", - "upvote-notif-freq.logarithmic": "On 10, 100, 1000...", + "upvote-notif-freq": "Частота сповіщень позитивних відгуків", + "upvote-notif-freq.all": "Всі позитивні відгуки", + "upvote-notif-freq.everyTen": "Кожні 10 позитивних відгуків", + "upvote-notif-freq.logarithmic": "На 10, 100, 1000...", "upvote-notif-freq.disabled": "Вимкнено", "browsing": "Налаштування перегляду", "open_links_in_new_tab": "Відкривати зовнішні посилання у новій вкладці", @@ -129,7 +129,7 @@ "sso.not-associated": "Натисніть тут, щоб зв'язати з", "sso.dissociate": "Від'єднати", "sso.dissociate-confirm-title": "Підтвердьте від'єднання", - "sso.dissociate-confirm": "Ви впевнені, що хочете відв'єднати свій обліковий запис від %1?", + "sso.dissociate-confirm": "Ви впевнені, що хочете від'єднати свій акаунт від %1?", "info.latest-flags": "Останні скарги", "info.no-flags": "Не знайдено постів зі скаргами", "info.ban-history": "Історія банів", diff --git a/public/language/vi/admin/admin.json b/public/language/vi/admin/admin.json index 8fdf8c210a..d16c92d85e 100644 --- a/public/language/vi/admin/admin.json +++ b/public/language/vi/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "Bạn có thật sự muốn xác lập lại NodeBB", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "Bạn có thật sự muốn khởi động lại NodeBB", "acp-title": "%1 | Bảng điểu khiển", diff --git a/public/language/vi/admin/appearance/themes.json b/public/language/vi/admin/appearance/themes.json index 3148a01337..597830f379 100644 --- a/public/language/vi/admin/appearance/themes.json +++ b/public/language/vi/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", "theme-changed": "Theme Changed", "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please restart your NodeBB to fully activate this theme" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/vi/admin/extend/plugins.json b/public/language/vi/admin/extend/plugins.json index 7515f72590..05f7df4ecb 100644 --- a/public/language/vi/admin/extend/plugins.json +++ b/public/language/vi/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "Plugin Uninstalled", "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "Plugin successfully installed, please activate the plugin.", "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/vi/admin/general/dashboard.json b/public/language/vi/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/vi/admin/general/dashboard.json +++ b/public/language/vi/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/vi/admin/general/languages.json b/public/language/vi/admin/general/languages.json index bdd57849b3..7182ddc96c 100644 --- a/public/language/vi/admin/general/languages.json +++ b/public/language/vi/admin/general/languages.json @@ -1,6 +1,6 @@ { "language-settings": "Language Settings", "description": "The default language determines the language settings for all users who are visiting your forum.
Individual users can override the default language on their account settings page.", - "default-language": "Default Language", + "default-language": "Ngôn ngữ mặc định", "auto-detect": "Auto Detect Language Setting for Guests" } \ No newline at end of file diff --git a/public/language/vi/admin/menu.json b/public/language/vi/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/vi/admin/menu.json +++ b/public/language/vi/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/advanced.json b/public/language/vi/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/vi/admin/settings/advanced.json +++ b/public/language/vi/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/vi/admin/settings/post.json b/public/language/vi/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/vi/admin/settings/post.json +++ b/public/language/vi/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/uploads.json b/public/language/vi/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/vi/admin/settings/uploads.json +++ b/public/language/vi/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/vi/email.json b/public/language/vi/email.json index 0dc0cc8be6..3ea56af35e 100644 --- a/public/language/vi/email.json +++ b/public/language/vi/email.json @@ -9,6 +9,7 @@ "welcome.text3": "Quản trị viên đã chấp nhận đơn đăng ký của bạn. Bạn có thể đăng nhập với tên đăng nhập/mật khẩu ngay bây giờ.", "welcome.cta": "Nhấn vào đây để xác nhận địa chỉ email", "invitation.text1": "%1 đã mời bạn tham gia %2", + "invitation.text2": "Lời mời của bạn sẽ hết hạn sau %1 ngày.", "invitation.ctr": "Click vào đây để tạo tài khoản.", "reset.text1": "Chúng tôi nhận được yêu cầu khởi tạo lại mật khẩu của bạn, rất có thể vì bạn đã quên mất nó. Nếu bạn không gởi yêu cầu, hãy bỏ qua email này.", "reset.text2": "Để đặt lại mật khẩu, hãy click vào liên kết sau:", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index 819a7deccf..5a4cfc321f 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "Bạn không được phép xoá tin nhắn này", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "Bạn đã bỏ phiếu cho bài viết này", "reputation-system-disabled": "Hệ thống tín nhiệm đã bị vô hiệu hóa.", "downvoting-disabled": "Downvote đã bị tắt", @@ -142,5 +144,6 @@ "invalid-home-page-route": "Đường dẫn trang chủ không hợp lệ", "invalid-session": "Không đúng session", "invalid-session-text": "Có vẻ như phiên đăng nhập của bạn đã không còn hoạt động nữa, hoặc không còn đúng với thông tin trên máy chủ. Vui lòng tải lại trang này", - "no-topics-selected": "Không có chủ đề nào đang được chọn!" + "no-topics-selected": "Không có chủ đề nào đang được chọn!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/vi/global.json b/public/language/vi/global.json index 6ea98a4224..ffb7325aff 100644 --- a/public/language/vi/global.json +++ b/public/language/vi/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Xem thêm", "edited": "Đã cập nhật", "disabled": "Bị khóa", - "select": "Chọn" + "select": "Chọn", + "user-search-prompt": "Nhập để tìm kiếm thành viên" } \ No newline at end of file diff --git a/public/language/vi/groups.json b/public/language/vi/groups.json index c6f7d5a5aa..647b88a7cc 100644 --- a/public/language/vi/groups.json +++ b/public/language/vi/groups.json @@ -27,7 +27,7 @@ "details.disableJoinRequests": "Vô hiệu hóa yêu cầu tham gia", "details.grant": "Cấp/Huỷ quyền trưởng nhóm", "details.kick": "Đá ra", - "details.kick_confirm": "Are you sure you want to remove this member from the group?", + "details.kick_confirm": "Bạn có chắc muốn xoá thành viên này khỏi nhóm?", "details.owner_options": "Quản trị nhóm", "details.group_name": "Tên nhóm", "details.member_count": "Số thành viên", @@ -54,5 +54,5 @@ "upload-group-cover": "Tải ảnh bìa lên cho nhóm", "bulk-invite-instructions": "Nhập danh sách username, ngăn cách bằng dấu phẩy, để mời vào nhóm", "bulk-invite": "Mời nhiều người", - "remove_group_cover_confirm": "Are you sure you want to remove the cover picture?" + "remove_group_cover_confirm": "Bạn có chắc rằng muốn xoá ảnh bìa không?" } \ No newline at end of file diff --git a/public/language/vi/language.json b/public/language/vi/language.json index e6b933b8af..f0787f748a 100644 --- a/public/language/vi/language.json +++ b/public/language/vi/language.json @@ -1,5 +1,5 @@ { - "name": "Tiếng Anh (Anh Quốc/Ca-na-da)", + "name": "Tiếng Việt", "code": "vi", - "dir": "Trái qua phải" + "dir": "ltr" } \ No newline at end of file diff --git a/public/language/vi/modules.json b/public/language/vi/modules.json index b700406deb..7f90628571 100644 --- a/public/language/vi/modules.json +++ b/public/language/vi/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "Chat với ", + "chat.chatting_with": "Chat with", "chat.placeholder": "Nhập tin nhắn ở đây, nhấn enter để gửi", "chat.send": "Gửi", "chat.no_active": "Bạn hiện giờ không có cuộc chat nào", @@ -12,6 +12,7 @@ "chat.recent-chats": "Vừa chat", "chat.contacts": "Liên hệ", "chat.message-history": "Lịch sử tin nhắn", + "chat.options": "Chat options", "chat.pop-out": "Bật cửa sổ chat", "chat.minimize": "Minimize", "chat.maximize": "Phóng to", @@ -20,7 +21,17 @@ "chat.three_months": "3 tháng", "chat.delete_message_confirm": "Bạn có chắc chắn bạn muốn xoá tin nhắn này chứ?", "chat.add-users-to-room": "Thêm người vào phòng", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "Soạn thảo", "composer.show_preview": "Hiện Xem trước", "composer.hide_preview": "Ẩn Xem trước", diff --git a/public/language/vi/reset_password.json b/public/language/vi/reset_password.json index 53e9e4060c..5ddc79d656 100644 --- a/public/language/vi/reset_password.json +++ b/public/language/vi/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "Xác nhận lại mật khẩu", "enter_email": "Xin hãy nhập địa chỉ email của bạn và chúng tôi sẽ gửi một email hướng dẫn cách thiết lập lại tài khoản cho bạn", "enter_email_address": "Nhập địa chỉ Email", - "password_reset_sent": "Đã gửi mật khẩu được thiết lập lại", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "Email không đúng / Email không tồn tại!", "password_too_short": "Mật khẩu bạn nhập quá ngắn, vui lòng chọn một mật khẩu khác.", "passwords_do_not_match": "Hai mật khẩu bạn nhập không trùng khớp với nhau.", diff --git a/public/language/vi/search.json b/public/language/vi/search.json index fc4e78954b..7cd8918a0f 100644 --- a/public/language/vi/search.json +++ b/public/language/vi/search.json @@ -5,6 +5,9 @@ "in": "Trong", "titles": "Các tựa đề", "titles-posts": "Tựa đề và Bài viết", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "Đăng bởi", "in-categories": "Nằm trong chuyên mục", "search-child-categories": "Tìm kiếm chuyên mục con", diff --git a/public/language/vi/topic.json b/public/language/vi/topic.json index c1237fdbae..130a93af97 100644 --- a/public/language/vi/topic.json +++ b/public/language/vi/topic.json @@ -30,11 +30,12 @@ "locked": "Khóa", "pinned": "Đã ghim", "moved": "Chuyển đi", - "copy-ip": "Copy IP", - "ban-ip": "Ban IP", + "copy-ip": "Sao chép IP", + "ban-ip": "Cấm IP", + "view-history": "Lịch sử chỉnh sửa", "bookmark_instructions": "Bấm vào đây để quay về đọc bài viết mới nhất trong chủ đề này.", "flag_title": "Flag bài viết này để chỉnh sửa", - "merged_message": "This topic has been merged into %2", + "merged_message": "Chủ đề này đã được sát nhập với %2", "deleted_message": "Chủ đề này đã bị xóa. Chỉ ban quản trị mới xem được.", "following_topic.message": "Từ giờ bạn sẽ nhận được thông báo khi có ai đó gửi bài viết trong chủ đề này", "not_following_topic.message": "Bạn có thể xem chủ đề này trong danh sách chủ đề chưa xem, nhưng bạn sẽ không nhận thông báo khi có ai đó đăng bài viết trong chủ đề này", @@ -61,6 +62,7 @@ "thread_tools.lock": "Khóa chủ đề", "thread_tools.unlock": "Mở khóa chủ đề", "thread_tools.move": "Chuyển chủ đề", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "Chuyển tất cả", "thread_tools.select_category": "Chọn chuyện mục", "thread_tools.fork": "Tạo bản sao chủ đề", @@ -95,6 +97,7 @@ "fork_success": "Tạo bản sao thành công! Nhấn vào đây để chuyển tới chủ đề vừa tạo.", "delete_posts_instruction": "Chọn những bài viết bạn muốn xoá", "merge_topics_instruction": "Click vào các chủ đề bạn muốn xác nhập", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "Nhập tiêu đề cho chủ đề của bạn tại đây...", "composer.handle_placeholder": "Tên", "composer.discard": "Huỷ bỏ", @@ -121,5 +124,8 @@ "stale.warning": "Chủ đề bạn đang trả lời đã khá cũ. Bạn có muốn tạo chủ đề mới, và liên kết với chủ đề hiện tại trong bài viết trả lời của bạn?", "stale.create": "Tạo chủ đề mới", "stale.reply_anyway": "Trả lời chủ đề này", - "link_back": "Re: [%1](%2)" + "link_back": "Re: [%1](%2)", + "diffs.title": "Lịch sử chỉnh sửa bài viết", + "diffs.description": "Bài viết này có %1 sửa đổi. Chọn một trong các thời điểm dưới đây để xem nội dung bài viết", + "diffs.no-revisions-description": "Bài viết này có %1 sửa đổi" } \ No newline at end of file diff --git a/public/language/vi/user.json b/public/language/vi/user.json index 953fc425bc..4a532e4f52 100644 --- a/public/language/vi/user.json +++ b/public/language/vi/user.json @@ -1,6 +1,7 @@ { "banned": "Bị cấm", "offline": "Offline", + "deleted": "Đã xoá", "username": "Tên truy cập", "joindate": "Ngày gia nhập", "postcount": "Số bài viết", @@ -11,7 +12,7 @@ "ban_account_confirm": "Bạn có chắc bạn muốn cấm thành viên này?", "unban_account": "Bỏ cấm thành viên", "delete_account": "Xóa tài khoản", - "delete_account_confirm": "Bạn có chắc muốn xóa tài khoản của mình?
Hành động này không thể khôi phục và bạn sẽ mất toàn bộ dữ liệu

Hãy nhập tên đăng nhập để xác nhận.", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "Bạn có chắc bạn muốn xoá tài khoản này chứ?
Tác vụ này không thể đảo ngược và bạn sẽ không thể phục hồi lại được dữ liệu đã xoá

", "account-deleted": "Tài khoản đã bị xoá", "fullname": "Tên đầy đủ", @@ -52,7 +53,6 @@ "change_password": "Thay đổi mật khẩu", "change_password_error": "Mật khẩu không đúng!", "change_password_error_wrong_current": "Mật khẩu hiện tại của bạn không đúng", - "change_password_error_length": "Mật khẩu quá ngắn!", "change_password_error_match": "Mật khẩu phải khớp!", "change_password_error_privileges": "Bạn không có quyền thay đổi mật khẩu này", "change_password_success": "Mật khẩu của bạn đã được cập nhật", @@ -95,7 +95,7 @@ "topics_per_page": "Số chủ đề trong một trang", "posts_per_page": "Số bài viết trong một trang", "max_items_per_page": "Tối đa %1", - "acp_language": "Admin Page Language", + "acp_language": "Ngôn ngữ trang quản trị", "notification_sounds": "Phát âm thanh khi bạn nhận được thông báo mới", "notifications_and_sounds": "Thông báo & Âm thanh", "incoming-message-sound": "Âm báo tin nhắn tới", diff --git a/public/language/zh-CN/admin/admin.json b/public/language/zh-CN/admin/admin.json index f1a7450924..6dd2b94890 100644 --- a/public/language/zh-CN/admin/admin.json +++ b/public/language/zh-CN/admin/admin.json @@ -1,6 +1,6 @@ { - "alert.confirm-reload": "确定要重载NodeBB吗?", - "alert.confirm-restart": "确定要重启NodeBB吗?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", + "alert.confirm-restart": "你确定要重启 NodeBB 吗?", "acp-title": "%1 | NodeBB 管理员控制面板", "settings-header-contents": "内容" diff --git a/public/language/zh-CN/admin/appearance/themes.json b/public/language/zh-CN/admin/appearance/themes.json index acaecf2a93..e931245a1e 100644 --- a/public/language/zh-CN/admin/appearance/themes.json +++ b/public/language/zh-CN/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "确认恢复到 NodeBB 默认主题?", "theme-changed": "主题已更改", "revert-success": "已成功恢复到 NodeBB 默认主题。", - "restart-to-activate": "请重启 NodeBB 来完全激活该主题" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/zh-CN/admin/extend/plugins.json b/public/language/zh-CN/admin/extend/plugins.json index 8bc3065ed6..4cfbc37875 100644 --- a/public/language/zh-CN/admin/extend/plugins.json +++ b/public/language/zh-CN/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "插件已卸载", "alert.activate-success": "请重启 NodeBB 来完全激活此插件", "alert.deactivate-success": "插件停用成功", - "alert.upgrade-success": "请重新载入 NodeBB 来完成插件升级", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "插件安装成功,请启用插件。", "alert.uninstall-success": "插件已成功被停用且卸载。", "alert.suggest-error": "

NodeBB 联系不到包管理器, 继续安装最新版本?

服务器返回 (%1): %2
", diff --git a/public/language/zh-CN/admin/general/dashboard.json b/public/language/zh-CN/admin/general/dashboard.json index d50541e4ba..b74de75832 100644 --- a/public/language/zh-CN/admin/general/dashboard.json +++ b/public/language/zh-CN/admin/general/dashboard.json @@ -23,10 +23,11 @@ "running-version": "你正在使用 NodeBB v%1 .", "keep-updated": "请确保您已及时更新 NodeBB 以获得最新的安全补丁与 Bug 修复。", "up-to-date": "

正在使用 最新版本

", - "upgrade-available": "

新版本 (v%1) 已经发布! 建议 更新你的 NodeBB

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

正在使用过时的测试版 NodeBB。新的版本 (v%1) 已经发布。 请考虑更新你的 NodeBB。", + "upgrade-available": "

新的版本 (v%1) 已经发布。.考虑下 升级你的 NodeBB吧。

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

这是一个已经过期的预发布版本的 NodeBB,新的版本 (v%1) 已经发布。考虑下 升级你的 NodeBB吧。

", "prerelease-warning": "

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

", "running-in-development": "论坛正处于开发模式,这可能使其暴露于潜在的危险之中;请联系您的系统管理员。", + "latest-lookup-failed": "

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

", "notices": "提醒", "restart-not-required": "不需要重启", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "在插件页面安装搜索插件来激活搜索功能", "control-panel": "系统控制", - "reload": "重启", - "restart": "重载&重启", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "重载或重启 NodeBB 会丢失数秒内全部的连接。", "restart-disabled": "重建和重新启动NodeBB已被禁用,因为您似乎没有通过适当的守护进程运行它。", "maintenance-mode": "维护模式", diff --git a/public/language/zh-CN/admin/menu.json b/public/language/zh-CN/admin/menu.json index 8e5c1bf3db..def99ee8e4 100644 --- a/public/language/zh-CN/admin/menu.json +++ b/public/language/zh-CN/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "记录器", "development/info": "信息", - "reload-forum": "重载论坛", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "重启论坛", "logout": "登出", "view-forum": "查看论坛", @@ -74,5 +74,8 @@ "search.keep-typing": "输入更多以查看结果...", "search.start-typing": "开始输入以查看结果...", - "connection-lost": "与 %1 的连接已丢失,正尝试重新连接..." + "connection-lost": "与 %1 的连接已丢失,正尝试重新连接...", + + "alerts.version": "正在运行 NodeBB v%1", + "alerts.upgrade": "升级到 v%1" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/advanced.json b/public/language/zh-CN/admin/settings/advanced.json index 8616bab339..319b9b3681 100644 --- a/public/language/zh-CN/admin/settings/advanced.json +++ b/public/language/zh-CN/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "自定义由 NodeBB 发送的 \"Powered By\" 头部 ", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "要拒绝所有网站,请留空", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "流量管理", diff --git a/public/language/zh-CN/admin/settings/post.json b/public/language/zh-CN/admin/settings/post.json index 02761f9ad7..290fb1d077 100644 --- a/public/language/zh-CN/admin/settings/post.json +++ b/public/language/zh-CN/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "允许插件将内容添加到帮助选项卡", "composer.custom-help": "自定义帮助文本", "ip-tracking": "IP 跟踪", - "ip-tracking.each-post": "跟踪每个帖子的 IP 地址" + "ip-tracking.each-post": "跟踪每个帖子的 IP 地址", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/uploads.json b/public/language/zh-CN/admin/settings/uploads.json index 8f6916ff7f..b58fd7478f 100644 --- a/public/language/zh-CN/admin/settings/uploads.json +++ b/public/language/zh-CN/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "使上传的文件私有化", "max-image-width": "缩小图片到指定宽度(单位像素)", "max-image-width-help": "(像素单位,默认 760 px,设置为0以禁用)", + "resize-image-quality": "调整图像大小时使用的质量", + "resize-image-quality-help": "使用较低质量的设置来减小调整过大小的图像的文件大小", "max-file-size": "最大文件尺寸(单位 KiB)", "max-file-size-help": "(单位 KiB ,默认 2048KiB)", "allow-topic-thumbnails": "允许用户上传主题缩略图", diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json index 0dafe534cf..cc7b0ce1e3 100644 --- a/public/language/zh-CN/admin/settings/user.json +++ b/public/language/zh-CN/admin/settings/user.json @@ -1,8 +1,8 @@ { "authentication": "验证", "allow-local-login": "允许本地登录", - "require-email-confirmation": "需要邮件确认", - "email-confirm-interval": "用户无法重新发送确认直到", + "require-email-confirmation": "需要电子邮箱激活", + "email-confirm-interval": "用户无法重新发送电子邮箱激活直到", "email-confirm-email2": "分钟已经过", "allow-login-with": "允许使用何种登录名", "allow-login-with.username-email": "用户名或者邮箱", @@ -15,7 +15,7 @@ "allow-account-deletion": "允许消除帐号", "user-info-private": "使用户信息私有化", "hide-fullname": "隐藏用户的全名", - "hide-email": "隐藏用户的邮箱", + "hide-email": "隐藏用户的电子邮箱", "themes": "主题", "disable-user-skins": "阻止用户选择自定义皮肤", "account-protection": "帐号保护", @@ -29,7 +29,7 @@ "registration": "用户注册", "registration-type": "注册方式", "registration-type.normal": "通常", - "registration-type.admin-approval": "管理员批准", + "registration-type.admin-approval": "管理员通过", "registration-type.admin-approval-ip": "管理员批准 IP地址", "registration-type.invite-only": "仅限邀请", "registration-type.admin-invite-only": "仅限管理员邀请", diff --git a/public/language/zh-CN/email.json b/public/language/zh-CN/email.json index ce4228fd49..1bc648c449 100644 --- a/public/language/zh-CN/email.json +++ b/public/language/zh-CN/email.json @@ -9,6 +9,7 @@ "welcome.text3": "管理员接受了您的注册请求,请用您的用户名和密码登陆。", "welcome.cta": "点击这里确认您的电子邮箱地址", "invitation.text1": "%1 邀请您加入%2", + "invitation.text2": "您的邀请将在 %1 天后过期。", "invitation.ctr": "点击这里新建账户", "reset.text1": "可能由于您忘记了密码,我们收到了重置您帐户密码的申请。 如果您没有提交密码重置的请求,请忽略这封邮件。", "reset.text2": "如需继续重置密码,请点击下面的链接:", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 62f4b2976e..d073d91f90 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "您不允许删除这条消息", "chat-edit-duration-expired": "您只能在发布 %1 秒后修改聊天信息", "chat-delete-duration-expired": "您只能在发布 %1 秒后删除聊天信息", + "chat-deleted-already": "聊天消息已经被删除", + "chat-restored'already": "聊天消息已经恢复", "already-voting-for-this-post": "您已为此帖回复投过票了。", "reputation-system-disabled": "声望系统已禁用。", "downvoting-disabled": "踩已被禁用", @@ -142,5 +144,6 @@ "invalid-home-page-route": "无效的首页路径", "invalid-session": "Session 无法匹配", "invalid-session-text": "您的登入状态已经失效,或者是与服务器信息不匹配。请刷新此页面。", - "no-topics-selected": "没有主题被选中!" + "no-topics-selected": "没有主题被选中!", + "cant-move-to-same-topic": "无法将帖子移动到相同的主题中!" } \ No newline at end of file diff --git a/public/language/zh-CN/global.json b/public/language/zh-CN/global.json index 7bc70157b7..bdb63f6748 100644 --- a/public/language/zh-CN/global.json +++ b/public/language/zh-CN/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "了解更多", "edited": "已编辑", "disabled": "禁用", - "select": "选择" + "select": "选择", + "user-search-prompt": "输入以查找用户" } \ No newline at end of file diff --git a/public/language/zh-CN/login.json b/public/language/zh-CN/login.json index de01676899..e627a3ca1b 100644 --- a/public/language/zh-CN/login.json +++ b/public/language/zh-CN/login.json @@ -8,5 +8,5 @@ "failed_login_attempt": "登录失败", "login_successful": "您已经成功登录!", "dont_have_account": "没有帐号?", - "logged-out-due-to-inactivity": "由于长时间不活动,您已从控制面板注销" + "logged-out-due-to-inactivity": "由于长时间不活动,您的账号已被管理员从控制面板中注销" } \ No newline at end of file diff --git a/public/language/zh-CN/modules.json b/public/language/zh-CN/modules.json index cab48a8174..0dee3dbb38 100644 --- a/public/language/zh-CN/modules.json +++ b/public/language/zh-CN/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "和聊天", + "chat.chatting_with": "与聊天", "chat.placeholder": "在这里输入聊天消息,按回车键发送", "chat.send": "发送", "chat.no_active": "暂无聊天", @@ -12,15 +12,26 @@ "chat.recent-chats": "最近聊天", "chat.contacts": "联系人", "chat.message-history": "消息历史", + "chat.options": "聊天配置", "chat.pop-out": "弹出聊天窗口", "chat.minimize": "最小化", "chat.maximize": "最大化", "chat.seven_days": "7天", "chat.thirty_days": "30天", "chat.three_months": "3个月", - "chat.delete_message_confirm": "你确定删除此消息吗?", + "chat.delete_message_confirm": "您确定删除此消息吗?", "chat.add-users-to-room": "向此聊天室中添加成员", + "chat.retrieving-users": "查找用户", + "chat.manage-room": "管理聊天室", + "chat.add-user-help": "在这里查找更多用户。选中之后添加到聊天中,新用户在加入聊天之前看不到聊天消息。", "chat.confirm-chat-with-dnd-user": "该用户将其状态设置为DnD(请勿打扰)。 你还想和他们聊天吗?", + "chat.rename-room": "重命名房间", + "chat.rename-placeholder": "在这里输入房间名字", + "chat.rename-help": "这里设置的房间名字能够被房间内所有人都看到。", + "chat.leave": "离开聊天室", + "chat.leave-prompt": "您确定要离开聊天室?", + "chat.leave-help": "离开此聊天会将您在聊天中的未接收的消息移除。您在重新加入之后不会看到任何聊天记录", + "chat.in-room": "在此房间", "composer.compose": "编写帮助", "composer.show_preview": "显示预览", "composer.hide_preview": "隐藏预览", diff --git a/public/language/zh-CN/reset_password.json b/public/language/zh-CN/reset_password.json index 5ade84926c..acb7fc6c5f 100644 --- a/public/language/zh-CN/reset_password.json +++ b/public/language/zh-CN/reset_password.json @@ -6,10 +6,10 @@ "wrong_reset_code.title": "重置验证码不正确", "wrong_reset_code.message": "您输入的重置验证码有误,请重新输入,或者申请新的重置验证码。", "new_password": "新密码", - "repeat_password": "确认密码", - "enter_email": "请输入您的电子邮箱地址,我们会发送一份邮件指导您重置密码。", + "repeat_password": "验证密码", + "enter_email": "请输入您的电子邮箱地址,我们将会发送一份邮件协助您重置账号密码。", "enter_email_address": "输入邮箱地址", - "password_reset_sent": "密码重置邮件已发送。", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "无效的电子邮箱/电子邮箱不存在!", "password_too_short": "密码太短,请选择其他密码。", "passwords_do_not_match": "您输入两个密码不一致。", diff --git a/public/language/zh-CN/search.json b/public/language/zh-CN/search.json index 2d6b500297..ae445e7168 100644 --- a/public/language/zh-CN/search.json +++ b/public/language/zh-CN/search.json @@ -5,6 +5,9 @@ "in": "在", "titles": "标题", "titles-posts": "标题和回帖", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "发表", "in-categories": "在版块", "search-child-categories": "搜索子版块", diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json index c625fe5410..bc5d88da2a 100644 --- a/public/language/zh-CN/topic.json +++ b/public/language/zh-CN/topic.json @@ -3,7 +3,7 @@ "topic_id": "主题 ID", "topic_id_placeholder": "输入主题 ID", "no_topics_found": "没有找到主题!", - "no_posts_found": "没有找到帖子!", + "no_posts_found": "没有找到回复!", "post_is_deleted": "此回复已被删除!", "topic_is_deleted": "此主题已被删除!", "profile": "资料", @@ -32,6 +32,7 @@ "moved": "已移动", "copy-ip": "复制IP", "ban-ip": "禁止IP", + "view-history": "编辑历史", "bookmark_instructions": "点击阅读本主题帖中的最新回复", "flag_title": "举报此帖", "merged_message": "此主题已并入%2", @@ -55,17 +56,18 @@ "not-watching.description": "不要在有新回复时通知我。
如果这个版块未被忽略则在未读主题中显示。", "ignoring.description": "不要在有新回复时通知我。
不要在未读主题中显示该主题。", "thread_tools.title": "主题工具", - "thread_tools.markAsUnreadForAll": "标记全部为未读", + "thread_tools.markAsUnreadForAll": "全部标记为未读", "thread_tools.pin": "置顶主题", "thread_tools.unpin": "取消置顶主题", "thread_tools.lock": "锁定主题", "thread_tools.unlock": "解锁主题", "thread_tools.move": "移动主题", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "移动全部", "thread_tools.select_category": "选择版块", "thread_tools.fork": "分割主题", "thread_tools.delete": "删除主题", - "thread_tools.delete-posts": "删除这些帖子", + "thread_tools.delete-posts": "删除回复", "thread_tools.delete_confirm": "确定要删除此主题吗?", "thread_tools.restore": "恢复主题", "thread_tools.restore_confirm": "确定要恢复此主题吗?", @@ -74,9 +76,9 @@ "thread_tools.merge_topics": "合并主题", "thread_tools.merge": "合并", "topic_move_success": "此主题已成功移到 %1", - "post_delete_confirm": "确定删除此帖吗?", - "post_restore_confirm": "确定恢复此帖吗?", - "post_purge_confirm": "确认清除此回帖吗?", + "post_delete_confirm": "您确定要删除此回复吗?", + "post_restore_confirm": "您确定要恢复此回复吗?", + "post_purge_confirm": "您确定要清除此回复吗?", "load_categories": "正在载入版块", "confirm_move": "移动", "confirm_fork": "分割", @@ -87,14 +89,15 @@ "move_topic": "移动主题", "move_topics": "移动主题", "move_post": "移动帖子", - "post_moved": "帖子已移走!", + "post_moved": "回复已移动!", "fork_topic": "分割主题", "fork_topic_instruction": "点击将分割的帖子", "fork_no_pids": "未选中帖子!", "fork_pid_count": "选择了 %1 个帖子", "fork_success": "成功分割主题! 点这里跳转到分割后的主题。", "delete_posts_instruction": "点击想要删除/永久删除的帖子", - "merge_topics_instruction": "点击你想合并的主题", + "merge_topics_instruction": "点击您想合并的主题", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "在此输入您主题的标题...", "composer.handle_placeholder": "姓名", "composer.discard": "撤销", @@ -117,9 +120,12 @@ "newest_to_oldest": "从新到旧", "most_votes": "最多投票", "most_posts": "最多回复", - "stale.title": "接受建议,创建新主题?", - "stale.warning": "您回复的主题已经非常老了。开个新帖,然后在新帖中引用这个老帖的内容,可以吗?", + "stale.title": "接受建议并创建新主题?", + "stale.warning": "您回复的主题已经很古老了,是否发布新主题并引用此主题的内容?", "stale.create": "创建新主题", "stale.reply_anyway": "仍然回复此帖", - "link_back": "回复: [%1](%2)" + "link_back": "回复: [%1](%2)", + "diffs.title": "历史发布记录", + "diffs.description": "此主题已经重新发布并修订。点击某个时间点查看修订的内容。", + "diffs.no-revisions-description": "该贴已重新修改" } \ No newline at end of file diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json index beb471f12d..33930bc67a 100644 --- a/public/language/zh-CN/user.json +++ b/public/language/zh-CN/user.json @@ -1,6 +1,7 @@ { "banned": "已封禁", "offline": "离线", + "deleted": "已删除", "username": "用户名", "joindate": "注册日期", "postcount": "发帖数", @@ -11,7 +12,7 @@ "ban_account_confirm": "您确定要封禁这位用户吗?", "unban_account": "解禁账户", "delete_account": "删除帐号", - "delete_account_confirm": "确认要删除您的帐户吗?
此操作是不可逆转的,您将无法恢复您的任何数据

请输入您的用户名,确认您想要删除此帐户。", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "您确定要删除账户吗?
这个操作不可逆,而且您可能不能找回任何数据

", "account-deleted": "帐号已删除", "fullname": "姓名", @@ -52,7 +53,6 @@ "change_password": "更改密码", "change_password_error": "无效的密码!", "change_password_error_wrong_current": "您的当前密码不正确!", - "change_password_error_length": "密码太短!", "change_password_error_match": "两次输入的密码必须相同!", "change_password_error_privileges": "您无权更改此密码。", "change_password_success": "您的密码已更新!", diff --git a/public/language/zh-TW/admin/admin.json b/public/language/zh-TW/admin/admin.json index eb44d22c6c..f61ad3c9ad 100644 --- a/public/language/zh-TW/admin/admin.json +++ b/public/language/zh-TW/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-reload": "確認重載NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "確認重啟NodeBB?", "acp-title": "%1 | NodeBB 管理控制面板", diff --git a/public/language/zh-TW/admin/appearance/themes.json b/public/language/zh-TW/admin/appearance/themes.json index 6a3008132b..960011ef91 100644 --- a/public/language/zh-TW/admin/appearance/themes.json +++ b/public/language/zh-TW/admin/appearance/themes.json @@ -7,5 +7,5 @@ "revert-confirm": "你確定要回復預設的主題嗎?", "theme-changed": "主題已更換", "revert-success": "已經成功回復為預設主題。", - "restart-to-activate": "請重新啟動你的NodeBB以啟動主題。" + "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." } \ No newline at end of file diff --git a/public/language/zh-TW/admin/extend/plugins.json b/public/language/zh-TW/admin/extend/plugins.json index be5ca1fe60..4e97474380 100644 --- a/public/language/zh-TW/admin/extend/plugins.json +++ b/public/language/zh-TW/admin/extend/plugins.json @@ -37,7 +37,7 @@ "alert.uninstalled": "外掛已移除", "alert.activate-success": "請重新啟動你的NodeBB來完成外掛的啟用", "alert.deactivate-success": "外掛已成功停用", - "alert.upgrade-success": "請重新載入你的NodeBB來完成外掛的升級", + "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", "alert.install-success": "外掛已成功安裝,請啟用外掛。", "alert.uninstall-success": "外掛已成功停用並且移除。", "alert.suggest-error": "

NodeBB could not reach the package manager, proceed with installation of latest version?

Server returned (%1): %2
", diff --git a/public/language/zh-TW/admin/general/dashboard.json b/public/language/zh-TW/admin/general/dashboard.json index 3b4ed54444..56049387eb 100644 --- a/public/language/zh-TW/admin/general/dashboard.json +++ b/public/language/zh-TW/admin/general/dashboard.json @@ -23,10 +23,11 @@ "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.

", + "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.

", "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", @@ -36,8 +37,8 @@ "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", "control-panel": "System Control", - "reload": "Restart", - "restart": "Rebuild & Restart", + "rebuild-and-restart": "Rebuild & Restart", + "restart": "Restart", "restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.", "restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.", "maintenance-mode": "Maintenance Mode", diff --git a/public/language/zh-TW/admin/menu.json b/public/language/zh-TW/admin/menu.json index 51099e9af4..7e0d46d86b 100644 --- a/public/language/zh-TW/admin/menu.json +++ b/public/language/zh-TW/admin/menu.json @@ -63,7 +63,7 @@ "development/logger": "Logger", "development/info": "Info", - "reload-forum": "Reload Forum", + "rebuild-and-restart-forum": "Rebuild & Restart Forum", "restart-forum": "Restart Forum", "logout": "Log out", "view-forum": "View Forum", @@ -74,5 +74,8 @@ "search.keep-typing": "Type more to see results...", "search.start-typing": "Start typing to see results...", - "connection-lost": "Connection to %1 has been lost, attempting to reconnect..." + "connection-lost": "Connection to %1 has been lost, attempting to reconnect...", + + "alerts.version": "Running NodeBB v%1", + "alerts.upgrade": "Upgrade to v%1" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/advanced.json b/public/language/zh-TW/admin/settings/advanced.json index 05a1929cf0..8da7b1c46a 100644 --- a/public/language/zh-TW/admin/settings/advanced.json +++ b/public/language/zh-TW/admin/settings/advanced.json @@ -7,6 +7,7 @@ "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", "headers.acao": "Access-Control-Allow-Origin", "headers.acao-help": "To deny access to all sites, leave empty", + "headers.acac": "Access-Control-Allow-Credentials", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/zh-TW/admin/settings/post.json b/public/language/zh-TW/admin/settings/post.json index 6a1ab9a2a5..6594fe384b 100644 --- a/public/language/zh-TW/admin/settings/post.json +++ b/public/language/zh-TW/admin/settings/post.json @@ -49,5 +49,6 @@ "composer.enable-plugin-help": "Allow plugins to add content to the help tab", "composer.custom-help": "Custom Help Text", "ip-tracking": "IP Tracking", - "ip-tracking.each-post": "Track IP Address for each post" + "ip-tracking.each-post": "Track IP Address for each post", + "enable-post-history": "Enable Post History" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/uploads.json b/public/language/zh-TW/admin/settings/uploads.json index a458870354..f08b6efedf 100644 --- a/public/language/zh-TW/admin/settings/uploads.json +++ b/public/language/zh-TW/admin/settings/uploads.json @@ -4,6 +4,8 @@ "private": "Make uploaded files private", "max-image-width": "Resize images down to specified width (in pixels)", "max-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)", + "resize-image-quality": "Quality to use when resizing images", + "resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.", "max-file-size": "Maximum File Size (in KiB)", "max-file-size-help": "(in kibibytes, default: 2048 KiB)", "allow-topic-thumbnails": "Allow users to upload topic thumbnails", diff --git a/public/language/zh-TW/email.json b/public/language/zh-TW/email.json index 2f4a651286..cc227ec5ad 100644 --- a/public/language/zh-TW/email.json +++ b/public/language/zh-TW/email.json @@ -9,6 +9,7 @@ "welcome.text3": "管理者已經批準你的註冊申請。你現在可以使用你的帳號/密碼進行登入。", "welcome.cta": "請點擊此處來確認你的電子郵件地址", "invitation.text1": "%1 邀請你加入 %2", + "invitation.text2": "Your invitation will expire in %1 days.", "invitation.ctr": "點擊這裡來建立你的帳號", "reset.text1": "我們收到一個重設密碼的請求,你忘掉了密碼嗎?如果不是,請忽略這封郵件。", "reset.text2": "要繼續重置密碼,請點擊以下鏈接:", diff --git a/public/language/zh-TW/error.json b/public/language/zh-TW/error.json index adf948e1af..7792a7d7af 100644 --- a/public/language/zh-TW/error.json +++ b/public/language/zh-TW/error.json @@ -116,6 +116,8 @@ "cant-delete-chat-message": "你不被允許刪除這條訊息", "chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting", "chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting", + "chat-deleted-already": "This chat message has already been deleted.", + "chat-restored'already": "This chat message has already been restored.", "already-voting-for-this-post": "你已經對這個張貼投過票了", "reputation-system-disabled": "信譽系統已停用。", "downvoting-disabled": "反向投票已停用", @@ -142,5 +144,6 @@ "invalid-home-page-route": "無效的首頁路由", "invalid-session": "會話階段錯誤", "invalid-session-text": "看起來你的登入會話階段已經無效,或是不符合於伺服器。請重新整理這個頁面。", - "no-topics-selected": "No topics selected!" + "no-topics-selected": "No topics selected!", + "cant-move-to-same-topic": "Can't move post to same topic!" } \ No newline at end of file diff --git a/public/language/zh-TW/global.json b/public/language/zh-TW/global.json index 414562a77d..af5689896b 100644 --- a/public/language/zh-TW/global.json +++ b/public/language/zh-TW/global.json @@ -106,5 +106,6 @@ "cookies.learn_more": "Learn More", "edited": "Edited", "disabled": "Disabled", - "select": "Select" + "select": "Select", + "user-search-prompt": "Type something here to find users..." } \ No newline at end of file diff --git a/public/language/zh-TW/modules.json b/public/language/zh-TW/modules.json index b3fef620d5..f71d06242c 100644 --- a/public/language/zh-TW/modules.json +++ b/public/language/zh-TW/modules.json @@ -1,5 +1,5 @@ { - "chat.chatting_with": "和聊天中", + "chat.chatting_with": "Chat with", "chat.placeholder": "在這裡輸入訊息,按 Enter 發送", "chat.send": "發送", "chat.no_active": "暫無聊天", @@ -12,6 +12,7 @@ "chat.recent-chats": "最近的聊天記錄", "chat.contacts": "通訊錄", "chat.message-history": "消息記錄", + "chat.options": "Chat options", "chat.pop-out": "彈出聊天室", "chat.minimize": "Minimize", "chat.maximize": "放到最大", @@ -20,7 +21,17 @@ "chat.three_months": "3個月", "chat.delete_message_confirm": "你確定要刪除這個訊息?", "chat.add-users-to-room": "將使用者加入聊天室中", + "chat.retrieving-users": "Retrieving users...", + "chat.manage-room": "Manage Chat 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.", "chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?", + "chat.rename-room": "Rename room", + "chat.rename-placeholder": "Enter your room name here", + "chat.rename-help": "The room name set here will be viewable by all participants in the room.", + "chat.leave": "Leave Chat", + "chat.leave-prompt": "Are you sure you wish to leave this chat?", + "chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.", + "chat.in-room": "In this room", "composer.compose": "撰寫", "composer.show_preview": "顯示預覽", "composer.hide_preview": "隱藏預覽", diff --git a/public/language/zh-TW/reset_password.json b/public/language/zh-TW/reset_password.json index f7d83c8dd1..75c9192e59 100644 --- a/public/language/zh-TW/reset_password.json +++ b/public/language/zh-TW/reset_password.json @@ -9,7 +9,7 @@ "repeat_password": "再次確認新密碼", "enter_email": "請輸入你的電子郵件地址,我們會寄送郵件告訴你如何重置你的帳戶。", "enter_email_address": "輸入電子郵件地址", - "password_reset_sent": "密碼重設郵件已發送。", + "password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.", "invalid_email": "無效的電子郵件 / 電子郵件不存在!", "password_too_short": "輸入的密碼太短,請使用另一個不同的密碼", "passwords_do_not_match": "你已經輸入的兩個密碼不一樣", diff --git a/public/language/zh-TW/search.json b/public/language/zh-TW/search.json index 81f5249d3b..b032146124 100644 --- a/public/language/zh-TW/search.json +++ b/public/language/zh-TW/search.json @@ -5,6 +5,9 @@ "in": "在", "titles": "標題", "titles-posts": "標題與張貼", + "match-words": "Match words", + "all": "All", + "any": "Any", "posted-by": "張貼由", "in-categories": "在類別中", "search-child-categories": "搜尋子類別", diff --git a/public/language/zh-TW/topic.json b/public/language/zh-TW/topic.json index 7a28c95076..a965cce19b 100644 --- a/public/language/zh-TW/topic.json +++ b/public/language/zh-TW/topic.json @@ -32,6 +32,7 @@ "moved": "移動", "copy-ip": "Copy IP", "ban-ip": "Ban IP", + "view-history": "Edit History", "bookmark_instructions": "點擊這裡返回到這個討論串的最後一篇張貼文", "flag_title": "檢舉這篇文章, 交給仲裁者來審閱.", "merged_message": "This topic has been merged into %2", @@ -61,6 +62,7 @@ "thread_tools.lock": "鎖定主題", "thread_tools.unlock": "解除主題鎖定", "thread_tools.move": "移動主題", + "thread_tools.move-posts": "Move Posts", "thread_tools.move_all": "移動全部", "thread_tools.select_category": "Select Category", "thread_tools.fork": "分叉主題", @@ -95,6 +97,7 @@ "fork_success": "成功分叉成新的主題!點擊這裡進入新的主題。", "delete_posts_instruction": "點擊你想要刪除/清除的張貼", "merge_topics_instruction": "Click the topics you want to merge", + "move_posts_instruction": "Click the posts you want to move", "composer.title_placeholder": "輸入標題...", "composer.handle_placeholder": "名字", "composer.discard": "放棄", @@ -121,5 +124,8 @@ "stale.warning": "你正回覆的主題是非常舊的一篇。你想要改為建立一個新主題,然後參考到這篇你回覆的?", "stale.create": "建立新主題", "stale.reply_anyway": "無論如何都回覆這個主題", - "link_back": "回覆: [%1](%2)" + "link_back": "回覆: [%1](%2)", + "diffs.title": "Post Edit History", + "diffs.description": "This post has %1 revisions. Click one of the revisions below to see the post content at that point in time.", + "diffs.no-revisions-description": "This post has %1 revisions." } \ No newline at end of file diff --git a/public/language/zh-TW/user.json b/public/language/zh-TW/user.json index 1b18927b7f..5cccec7321 100644 --- a/public/language/zh-TW/user.json +++ b/public/language/zh-TW/user.json @@ -1,6 +1,7 @@ { "banned": "封鎖", "offline": "下線", + "deleted": "Deleted", "username": "使用者名稱", "joindate": "加入時間", "postcount": "文章數量", @@ -11,7 +12,7 @@ "ban_account_confirm": "你確定要禁用這個使用者?", "unban_account": "取消禁用帳號", "delete_account": "刪除帳戶", - "delete_account_confirm": "你確定要刪除自己的帳戶?
此操作不能復原,你將無法恢復任何資料

輸入你的帳號,來確認你希望刪除這個帳戶。", + "delete_account_confirm": "Are you sure you want to delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete_this_account_confirm": "你確定要刪除這個帳戶?
此操作是不能還原的,你將無法回復任何資料
", "account-deleted": "帳號已刪除", "fullname": "全名", @@ -52,7 +53,6 @@ "change_password": "更改密碼", "change_password_error": "無效的密碼!", "change_password_error_wrong_current": "目前的密碼不正確!", - "change_password_error_length": "密碼太短!", "change_password_error_match": "密碼必須要一致!", "change_password_error_privileges": "你沒有變更此密碼的權限!", "change_password_success": "你的密碼已經更新!", diff --git a/public/less/admin/admin.less b/public/less/admin/admin.less index e5bff2c1f3..a2f2ee5891 100644 --- a/public/less/admin/admin.less +++ b/public/less/admin/admin.less @@ -10,6 +10,7 @@ @import "./general/dashboard"; @import "./general/navigation"; @import "./manage/categories"; +@import "./manage/privileges"; @import "./manage/tags"; @import "./manage/groups"; @import "./manage/registration"; @@ -30,7 +31,6 @@ @import "./modules/alerts"; @import "./modules/selectable"; -@import "./modules/snackbar"; @import "./modules/nprogress"; @import "./modules/search"; diff --git a/public/less/admin/general/dashboard.less b/public/less/admin/general/dashboard.less index 6bbb49fc86..c1f25e8ea1 100644 --- a/public/less/admin/general/dashboard.less +++ b/public/less/admin/general/dashboard.less @@ -53,12 +53,16 @@ .graph-legend { .box-header-font; - display: block; + display: inline-block; + max-width: 100%; position: absolute; - top: 19px; - left: 50px; + top: 2rem; + left: 7rem; list-style-type: none; - padding: 0; + padding: 0.5rem 1rem; + margin: 0; + background: rgba(255, 255, 255, 0.66); + border: 1px solid #ddd; li { div { @@ -155,4 +159,4 @@ .updatePageviewsGraph.active { font-weight: bold; } -} \ No newline at end of file +} diff --git a/public/less/admin/header.less b/public/less/admin/header.less index 7dd9540c38..3d73e08a1e 100644 --- a/public/less/admin/header.less +++ b/public/less/admin/header.less @@ -16,10 +16,31 @@ font-weight: 300; } - #user_label { - position: absolute; - right: 30px; - bottom: 125px; + .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: 0; + + &.alert-info { + background-color: #eee; + color: #333; + } + } .dropdown { margin-right: 0px; @@ -29,8 +50,8 @@ } } - .fa-home { - margin-top: 12px; + .fa { + line-height: 44px; font-size: 25px; } @@ -46,9 +67,6 @@ } #acp-search { - margin-top: 2px; - margin-right: 20px; - input { padding: 10px 20px; width: 250px; @@ -94,11 +112,4 @@ } } } - - .reconnect-spinner { - left: auto; - right: 380px; - bottom: initial; - top: 14px; - } } diff --git a/public/less/admin/manage/privileges.less b/public/less/admin/manage/privileges.less new file mode 100644 index 0000000000..a912a4115a --- /dev/null +++ b/public/less/admin/manage/privileges.less @@ -0,0 +1,7 @@ +.page-manage-privileges { + .ui-autocomplete { + height: 500px; + overflow-y: auto; + overflow-x: hidden; + } +} \ No newline at end of file diff --git a/public/less/admin/mobile.less b/public/less/admin/mobile.less index c192351885..021145b1ae 100644 --- a/public/less/admin/mobile.less +++ b/public/less/admin/mobile.less @@ -45,7 +45,6 @@ width: 22px; background: none; border: none; - vertical-align: 10%; margin-right: 10px; margin-left: -5px; outline: none !important; @@ -86,6 +85,23 @@ .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 { @@ -99,9 +115,9 @@ } .menu-section-list { - padding:0; + padding: 0; margin: 10px 0; - list-style:none; + list-style: none; a { display: block; diff --git a/public/less/admin/modules/alerts.less b/public/less/admin/modules/alerts.less index 8d52e439e1..6463576efc 100644 --- a/public/less/admin/modules/alerts.less +++ b/public/less/admin/modules/alerts.less @@ -1,35 +1,95 @@ .alert-window { - position:fixed; - width:300px; - z-index:10; - .toaster-alert { - .pointer; - } + position: fixed; + width: 300px; + z-index: 10002; + + right: 20px; + bottom: 0px; .alert { - img { - float:left; - padding-right:10px; + .close { + color: inherit; } - } -} -.alert-left-top { - left:20px; - top:70px; -} + &::before { + position: relative; + top: -15px; + left: -15px; + display: block; + height: 2px; + width: 0; + transition: inherit; + } -.alert-left-bottom { - left:20px; - bottom:20px; -} + &.alert-info::before { + background-color: @brand-info; + } -.alert-right-top { - right:20px; - top:70px; -} + &.alert-warning::before { + background-color: @brand-warning; + } + + &.alert-success::before { + background-color: @brand-success; + } -.alert-right-bottom { - right:20px; - bottom:20px; + &.alert-danger::before { + background-color: @brand-danger; + } + + &.animate { + &.alert-info::before { + background-color: lighten(@brand-info, 25%); + } + + &.alert-warning::before { + background-color: lighten(@brand-warning, 25%); + } + + &.alert-success::before { + background-color: lighten(@brand-success, 25%); + } + + &.alert-danger::before { + background-color: lighten(@brand-danger, 25%); + } + + &::before { + width: ~"calc(100% + 50px)"; + } + } + + background-color: white; + border: 0; + border-left: 5px solid !important; + box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.25), 0px 2px 10px 0px rgba(0, 0, 0, 0.25); + + strong { + text-transform: uppercase; + } + + p { + padding: 10px 0px 0px; + } + + &.alert-info { + color: @brand-info; + border-color: @brand-info; + } + + &.alert-warning { + color: @brand-warning; + border-color: @brand-warning; + } + + &.alert-success { + color: @brand-success; + border-color: @brand-success; + } + + &.alert-danger { + color: @brand-danger; + border-color: @brand-danger; + } + } } diff --git a/public/less/admin/modules/snackbar.less b/public/less/admin/modules/snackbar.less deleted file mode 100644 index b27cfdb14e..0000000000 --- a/public/less/admin/modules/snackbar.less +++ /dev/null @@ -1,65 +0,0 @@ -#snackbar-container { - position:fixed; - left:20px; - bottom:0; - z-index:99999; - - strong { - margin-right: 30px; - } -} - -.snackbar { - overflow:hidden; - clear:both; - min-width:288px; - max-width:568px; - cursor:pointer; - opacity:0; -} - -.snackbar.snackbar-opened { - height:auto; - opacity:1; -} - -@media (max-width:767px) { - #snackbar-container { - left:0!important; - right:0; - width:100%; - - strong { - display: block; - } - } - - #snackbar-container .snackbar { - min-width:100%; - } - - #snackbar-container [class="snackbar snackbar-opened"]~.snackbar.toast { - margin-top:20px; - } - - #snackbar-container [class="snackbar snackbar-opened"] { - border-radius:0; - margin-bottom:0; - } -} - -.snackbar { - background-color: #323232; - color: #FFFFFF; - font-size: 14px; - border-radius: 2px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - height: 0; - .transition(.25s ease-in-out opacity); -} - -.snackbar.snackbar-opened { - padding: 10px 15px; - margin-bottom: 20px; - height: auto; -} diff --git a/public/src/admin/admin.js b/public/src/admin/admin.js index be224d2812..ee2432fa5c 100644 --- a/public/src/admin/admin.js +++ b/public/src/admin/admin.js @@ -38,7 +38,6 @@ } $('[component="logout"]').on('click', app.logout); - app.alert = launchSnackbar; configureSlidemenu(); setupNProgress(); @@ -120,11 +119,11 @@ } function setupRestartLinks() { - $('.reload').off('click').on('click', function () { - bootbox.confirm('[[admin/admin:alert.confirm-reload]]', function (confirm) { + $('.rebuild-and-restart').off('click').on('click', function () { + bootbox.confirm('[[admin/admin:alert.confirm-rebuild-and-restart]]', function (confirm) { if (confirm) { require(['admin/modules/instance'], function (instance) { - instance.reload(); + instance.rebuildAndRestart(); }); } }); @@ -141,24 +140,6 @@ }); } - function launchSnackbar(params) { - var message = (params.title ? '' + params.title + '' : '') + (params.message ? params.message : ''); - - require(['translator'], function (translator) { - translator.translate(message, function (html) { - var bar = $.snackbar({ - content: html, - timeout: params.timeout || 3000, - htmlAllowed: true, - }); - - if (params.clickfn) { - bar.on('click', params.clickfn); - } - }); - }); - } - function configureSlidemenu() { var env = utils.findBootstrapEnvironment(); diff --git a/public/src/admin/appearance/themes.js b/public/src/admin/appearance/themes.js index c0a96831bb..0a5f81d236 100644 --- a/public/src/admin/appearance/themes.js +++ b/public/src/admin/appearance/themes.js @@ -33,7 +33,9 @@ define('admin/appearance/themes', ['translator', 'benchpress'], function (transl message: '[[admin/appearance/themes:restart-to-activate]]', timeout: 5000, clickfn: function () { - socket.emit('admin.restart'); + require(['admin/modules/instance'], function (instance) { + instance.rebuildAndRestart(); + }); }, }); }); diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 1debd9b168..aa0bac657b 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -49,7 +49,7 @@ define('admin/extend/plugins', ['jqueryui', 'translator', 'benchpress'], functio timeout: 5000, clickfn: function () { require(['admin/modules/instance'], function (instance) { - instance.restart(); + instance.rebuildAndRestart(); }); }, }); @@ -217,7 +217,7 @@ define('admin/extend/plugins', ['jqueryui', 'translator', 'benchpress'], functio timeout: 5000, clickfn: function () { require(['admin/modules/instance'], function (instance) { - instance.reload(); + instance.rebuildAndRestart(); }); }, }); diff --git a/public/src/admin/general/dashboard.js b/public/src/admin/general/dashboard.js index ac5cf47546..b071e6412f 100644 --- a/public/src/admin/general/dashboard.js +++ b/public/src/admin/general/dashboard.js @@ -8,7 +8,6 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator', 'benchpress' graphs: false, }; var isMobile = false; - var isPrerelease = /^v?\d+\.\d+\.\d+-.+$/; var graphData = { rooms: {}, traffic: {}, @@ -42,42 +41,6 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator', 'benchpress' isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); - $.get('https://api.github.com/repos/NodeBB/NodeBB/tags', function (releases) { - // Re-sort the releases, as they do not follow Semver (wrt pre-releases) - releases = releases.sort(function (a, b) { - a = a.name.replace(/^v/, ''); - b = b.name.replace(/^v/, ''); - return semver.lt(a, b) ? 1 : -1; - }).filter(function (version) { - return !isPrerelease.test(version.name); // filter out automated prerelease versions - }); - - var version = $('#version').html(); - var latestVersion = releases[0].name.slice(1); - var checkEl = $('.version-check'); - var text; - - // Alter box colour accordingly - if (semver.eq(latestVersion, version)) { - checkEl.removeClass('alert-info').addClass('alert-success'); - text = '[[admin/general/dashboard:up-to-date]]'; - } else if (semver.gt(latestVersion, version)) { - checkEl.removeClass('alert-info').addClass('alert-warning'); - if (!isPrerelease.test(version)) { - text = '[[admin/general/dashboard:upgrade-available, ' + latestVersion + ']]'; - } else { - text = '[[admin/general/dashboard:prerelease-upgrade-available, ' + latestVersion + ']]'; - } - } else if (isPrerelease.test(version)) { - checkEl.removeClass('alert-info').addClass('alert-info'); - text = '[[admin/general/dashboard:prerelease-warning]]'; - } - - translator.translate(text, function (text) { - checkEl.append(text); - }); - }); - $('[data-toggle="tooltip"]').tooltip(); setupRealtimeButton(); @@ -237,6 +200,10 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator', 'benchpress' }, type: 'linear', position: 'left', + scaleLabel: { + display: true, + labelString: translations[0], + }, }, { id: 'right-y-axis', ticks: { @@ -245,6 +212,10 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator', 'benchpress' }, type: 'linear', position: 'right', + scaleLabel: { + display: true, + labelString: translations[1], + }, }], }, tooltips: { diff --git a/public/src/admin/modules/instance.js b/public/src/admin/modules/instance.js index a8b38062d9..bdb2aad21b 100644 --- a/public/src/admin/modules/instance.js +++ b/public/src/admin/modules/instance.js @@ -1,24 +1,27 @@ 'use strict'; - -define('admin/modules/instance', function () { +define('admin/modules/instance', [ + // need to preload the compiled alert template + // otherwise it can be unloaded when rebuild & restart is run + // the client can't fetch the template file, resulting in an error + config.relative_path + '/assets/templates/alert.js', +], function () { var instance = {}; - instance.reload = function (callback) { + instance.rebuildAndRestart = function (callback) { app.alert({ - alert_id: 'instance_reload', + alert_id: 'instance_rebuild_and_restart', type: 'info', - title: 'Reloading... ', - message: 'NodeBB is reloading.', - timeout: 5000, + title: 'Rebuilding... ', + message: 'NodeBB is rebuilding front-end assets (css, javascript, etc).', }); $(window).one('action:reconnected', function () { app.alert({ - alert_id: 'instance_reload', + alert_id: 'instance_rebuild_and_restart', type: 'success', title: ' Success', - message: 'NodeBB has reloaded successfully.', + message: 'NodeBB has rebuilt and restarted successfully.', timeout: 5000, }); @@ -27,16 +30,22 @@ define('admin/modules/instance', function () { } }); - socket.emit('admin.reload'); + socket.emit('admin.reload', function () { + app.alert({ + alert_id: 'instance_rebuild_and_restart', + type: 'info', + title: 'Build Complete!... ', + message: 'NodeBB is restarting.', + }); + }); }; instance.restart = function (callback) { app.alert({ alert_id: 'instance_restart', type: 'info', - title: 'Rebuilding... ', - message: 'NodeBB is rebuilding front-end assets (css, javascript, etc).', - timeout: 10000, + title: 'Restarting... ', + message: 'NodeBB is restarting.', }); $(window).one('action:reconnected', function () { @@ -44,8 +53,8 @@ define('admin/modules/instance', function () { alert_id: 'instance_restart', type: 'success', title: ' Success', - message: 'NodeBB has successfully restarted.', - timeout: 10000, + message: 'NodeBB has restarted successfully.', + timeout: 5000, }); if (typeof callback === 'function') { @@ -53,15 +62,7 @@ define('admin/modules/instance', function () { } }); - socket.emit('admin.restart', function () { - app.alert({ - alert_id: 'instance_restart', - type: 'info', - title: 'Build Complete!... ', - message: 'NodeBB is reloading.', - timeout: 10000, - }); - }); + socket.emit('admin.restart'); }; return instance; diff --git a/public/src/client/account/edit.js b/public/src/client/account/edit.js index 027e328037..8b270a8fd2 100644 --- a/public/src/client/account/edit.js +++ b/public/src/client/account/edit.js @@ -158,22 +158,45 @@ define('forum/account/edit', ['forum/account/header', 'translator', 'components' function handleAccountDelete() { $('#deleteAccountBtn').on('click', function () { translator.translate('[[user:delete_account_confirm]]', function (translated) { - var modal = bootbox.confirm(translated + '

', function (confirm) { + var modal = bootbox.confirm(translated + '

', function (confirm) { if (!confirm) { return; } - if ($('#confirm-username').val() !== app.user.username) { - app.alertError('[[error:invalid-username]]'); - return false; - } - socket.emit('user.deleteAccount', {}, function (err) { + var confirmBtn = modal.find('.btn-primary'); + confirmBtn.html(''); + confirmBtn.prop('disabled', true); + + socket.emit('user.checkPassword', { + uid: parseInt(ajaxify.data.uid, 10), + password: $('#confirm-password').val(), + }, function (err, ok) { + function restoreButton() { + translator.translate('[[modules:bootbox.confirm]]', function (confirmText) { + confirmBtn.text(confirmText); + confirmBtn.prop('disabled', false); + }); + } + if (err) { + restoreButton(); return app.alertError(err.message); + } else if (!ok) { + restoreButton(); + return app.alertError('[[error:invalid-password]]'); } - window.location.href = config.relative_path + '/'; + confirmBtn.html(''); + socket.emit('user.deleteAccount', {}, function (err) { + if (err) { + return app.alertError(err.message); + } + + window.location.href = config.relative_path + '/'; + }); }); + + return false; }); modal.on('shown.bs.modal', function () { @@ -245,7 +268,7 @@ define('forum/account/edit', ['forum/account/header', 'translator', 'components' pictureCropper.handleImageCrop({ url: url, socketMethod: 'user.uploadCroppedPicture', - aspectRatio: '1 / 1', + aspectRatio: 1, allowSkippingCrop: false, paramName: 'uid', paramValue: ajaxify.data.theirid, diff --git a/public/src/client/account/edit/password.js b/public/src/client/account/edit/password.js index 6aa66a13d8..4f4353d6f8 100644 --- a/public/src/client/account/edit/password.js +++ b/public/src/client/account/edit/password.js @@ -23,7 +23,9 @@ define('forum/account/edit/password', ['forum/account/header', 'translator', 'zx var passwordStrength = zxcvbn(password.val()); passwordvalid = false; if (password.val().length < ajaxify.data.minimumPasswordLength) { - showError(password_notify, '[[user:change_password_error_length]]'); + showError(password_notify, '[[reset_password:password_too_short]]'); + } else if (password.val().length > 512) { + showError(password_notify, '[[error:password-too-long]]'); } else if (!utils.isPasswordValid(password.val())) { showError(password_notify, '[[user:change_password_error]]'); } else if (password.val() === ajaxify.data.username) { diff --git a/public/src/client/chats.js b/public/src/client/chats.js index 76ca7e2e34..4b1e3b0fd5 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -119,9 +119,8 @@ define('forum/chats', [ Chats.addCharactersLeftHandler = function (parent) { var element = parent.find('[component="chat/input"]'); - element.on('keyup', function () { - parent.find('[component="chat/message/length"]').text(element.val().length); - parent.find('[component="chat/message/remaining"]').text(config.maximumChatMessageLength - element.val().length); + element.on('change keyup paste', function () { + messages.updateRemainingLength(parent); }); }; @@ -455,7 +454,7 @@ define('forum/chats', [ if (ajaxify.data.roomId) { socket.emit('modules.chats.markRead', ajaxify.data.roomId); $('[data-roomid="' + ajaxify.data.roomId + '"]').toggleClass('unread', false); - $('.expanded-chat input').focus(); + $('.expanded-chat [component="chat/input"]').focus(); } $('.chats-list li').removeClass('bg-info'); $('.chats-list li[data-roomid="' + ajaxify.data.roomId + '"]').addClass('bg-info'); diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index 6a772dd6e5..9828f4d065 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -18,7 +18,7 @@ define('forum/chats/messages', ['components', 'sounds', 'translator', 'benchpres inputEl.val(''); inputEl.removeAttr('data-mid'); - + messages.updateRemainingLength(inputEl.parent()); $(window).trigger('action:chat.sent', { roomId: roomId, message: msg, @@ -32,6 +32,7 @@ define('forum/chats/messages', ['components', 'sounds', 'translator', 'benchpres }, function (err) { if (err) { inputEl.val(msg); + messages.updateRemainingLength(inputEl.parent()); if (err.message === '[[error:email-not-confirmed-chat]]') { return app.showEmailConfirmWarning(err); } @@ -56,12 +57,19 @@ define('forum/chats/messages', ['components', 'sounds', 'translator', 'benchpres if (err) { inputEl.val(msg); inputEl.attr('data-mid', mid); + messages.updateRemainingLength(inputEl.parent()); return app.alertError(err.message); } }); } }; + messages.updateRemainingLength = function (parent) { + var element = parent.find('[component="chat/input"]'); + parent.find('[component="chat/message/length"]').text(element.val().length); + parent.find('[component="chat/message/remaining"]').text(config.maximumChatMessageLength - element.val().length); + }; + messages.appendChatMessage = function (chatContentEl, data) { var lastSpeaker = parseInt(chatContentEl.find('.chat-message').last().attr('data-uid'), 10); var lasttimestamp = parseInt(chatContentEl.find('.chat-message').last().attr('data-timestamp'), 10); diff --git a/public/src/client/register.js b/public/src/client/register.js index 5d1794e9d3..0423f543d3 100644 --- a/public/src/client/register.js +++ b/public/src/client/register.js @@ -178,8 +178,8 @@ define('forum/register', ['translator', 'zxcvbn'], function (translator, zxcvbn) var passwordStrength = zxcvbn(password); if (password.length < ajaxify.data.minimumPasswordLength) { - showError(password_notify, '[[user:change_password_error_length]]'); - } else if (password.length > 4096) { + showError(password_notify, '[[reset_password:password_too_short]]'); + } else if (password.length > 512) { showError(password_notify, '[[error:password-too-long]]'); } else if (!utils.isPasswordValid(password)) { showError(password_notify, '[[user:change_password_error]]'); diff --git a/public/src/client/reset_code.js b/public/src/client/reset_code.js index b62a682273..bc305147c7 100644 --- a/public/src/client/reset_code.js +++ b/public/src/client/reset_code.js @@ -1,7 +1,7 @@ 'use strict'; -define('forum/reset_code', function () { +define('forum/reset_code', ['zxcvbn'], function (zxcvbn) { var ResetCode = {}; ResetCode.init = function () { @@ -12,10 +12,15 @@ define('forum/reset_code', function () { var repeat = $('#repeat'); resetEl.on('click', function () { + var strength = zxcvbn(password.val()); if (password.val().length < ajaxify.data.minimumPasswordLength) { app.alertError('[[reset_password:password_too_short]]'); + } else if (password.val().length > 512) { + app.alertError('[[error:password-too-long]]'); } else if (password.val() !== repeat.val()) { app.alertError('[[reset_password:passwords_do_not_match]]'); + } else if (strength.score < ajaxify.data.minimumPasswordStrength) { + app.alertError('[[user:weak_password]]'); } else { resetEl.prop('disabled', true).html(' Changing Password'); socket.emit('user.reset.commit', { diff --git a/public/src/client/search.js b/public/src/client/search.js index 38a34fc818..ccc10f8f8f 100644 --- a/public/src/client/search.js +++ b/public/src/client/search.js @@ -37,6 +37,7 @@ define('forum/search', ['search', 'autocomplete', 'storage'], function (searchMo }; searchData.term = $('#search-input').val(); if (searchData.in === 'posts' || searchData.in === 'titlesposts' || searchData.in === 'titles') { + searchData.matchWords = form.find('#match-words-filter').val(); searchData.by = form.find('#posted-by-user').val(); searchData.categories = form.find('#posted-in-categories').val(); searchData.searchChildren = form.find('#search-children').is(':checked'); @@ -79,6 +80,10 @@ define('forum/search', ['search', 'autocomplete', 'storage'], function (searchMo updateFormItemVisiblity(formData.in); } + if (formData.matchWords) { + $('#match-words-filter').val(formData.matchWords); + } + if (formData.by) { $('#posted-by-user').val(formData.by); } diff --git a/public/src/client/topic/delete-posts.js b/public/src/client/topic/delete-posts.js index c2fde4ec25..fb2c9f7f43 100644 --- a/public/src/client/topic/delete-posts.js +++ b/public/src/client/topic/delete-posts.js @@ -77,17 +77,11 @@ define('forum/topic/delete-posts', ['components', 'postSelect'], function (compo } function closeModal() { - postSelect.pids.forEach(function (pid) { - components.get('post', 'pid', pid).toggleClass('bg-success', false); - }); - if (modal) { modal.remove(); modal = null; } - - components.get('topic').off('click', '[data-pid]'); - postSelect.enableClicksOnPosts(); + postSelect.disable(); } return DeletePosts; diff --git a/public/src/client/topic/diffs.js b/public/src/client/topic/diffs.js index 63dd2b7b28..3d57131624 100644 --- a/public/src/client/topic/diffs.js +++ b/public/src/client/topic/diffs.js @@ -1,6 +1,6 @@ 'use strict'; -define('forum/topic/diffs', ['benchpress', 'translator'], function (Benchpress, translator) { +define('forum/topic/diffs', ['forum/topic/images', 'benchpress', 'translator'], function (Images, Benchpress, translator) { var Diffs = {}; Diffs.open = function (pid) { @@ -13,6 +13,8 @@ define('forum/topic/diffs', ['benchpress', 'translator'], function (Benchpress, Benchpress.parse('partials/modals/post_history', { diffs: timestamps.map(function (timestamp) { + timestamp = parseInt(timestamp, 10); + return { timestamp: timestamp, pretty: new Date(timestamp).toLocaleString(config.userLang.replace('_', '-'), localeStringOpts), @@ -24,6 +26,7 @@ define('forum/topic/diffs', ['benchpress', 'translator'], function (Benchpress, var modal = bootbox.dialog({ title: '[[topic:diffs.title]]', message: html, + size: 'large', }); if (!timestamps.length) { @@ -57,6 +60,8 @@ define('forum/topic/diffs', ['benchpress', 'translator'], function (Benchpress, posts: [data], }, function (html) { postContainer.empty().append(html); + Images.unloadImages(html); + Images.loadImages(); }); }); }; diff --git a/public/src/client/topic/fork.js b/public/src/client/topic/fork.js index b34d50d55f..f4190b61ac 100644 --- a/public/src/client/topic/fork.js +++ b/public/src/client/topic/fork.js @@ -89,17 +89,12 @@ define('forum/topic/fork', ['components', 'postSelect'], function (components, p } function closeForkModal() { - postSelect.pids.forEach(function (pid) { - components.get('post', 'pid', pid).toggleClass('bg-success', false); - }); - if (forkModal) { forkModal.remove(); forkModal = null; } - components.get('topic').off('click', '[data-pid]'); - postSelect.enableClicksOnPosts(); + postSelect.disable(); } return Fork; diff --git a/public/src/client/topic/move-post.js b/public/src/client/topic/move-post.js index 0c08e030da..c14361aa67 100644 --- a/public/src/client/topic/move-post.js +++ b/public/src/client/topic/move-post.js @@ -1,56 +1,95 @@ 'use strict'; -define('forum/topic/move-post', [], function () { +define('forum/topic/move-post', ['components', 'postSelect'], function (components, postSelect) { var MovePost = {}; - MovePost.openMovePostModal = function (button) { + var moveModal; + var moveCommit; + + MovePost.init = function () { + $('.topic').on('click', '[component="topic/move-posts"]', onMovePostsClicked); + $(window).on('action:ajaxify.start', onAjaxifyStart); + }; + + function onAjaxifyStart() { + closeMoveModal(); + $(window).off('action:ajaxify.start', onAjaxifyStart); + } + + function onMovePostsClicked() { + MovePost.openMovePostModal(); + } + + function showPostsSelected() { + if (postSelect.pids.length) { + moveModal.find('#pids').translateHtml('[[topic:fork_pid_count, ' + postSelect.pids.length + ']]'); + } else { + moveModal.find('#pids').translateHtml('[[topic:fork_no_pids]]'); + } + } + + function checkMoveButtonEnable() { + if (moveModal.find('#topicId').val().length && postSelect.pids.length) { + moveCommit.removeAttr('disabled'); + } else { + moveCommit.attr('disabled', true); + } + } + + MovePost.openMovePostModal = function (postEl) { app.parseAndTranslate('partials/move_post_modal', {}, function (html) { - var dialog = bootbox.dialog({ - title: '[[topic:move_post]]', - message: html, - show: true, - buttons: { - submit: { - label: '[[topic:confirm_move]]', - className: 'btn-primary submit-btn', - callback: function () { - var topicIdEl = dialog.find('#topicId'); - if (!topicIdEl.val()) { - return; - } - - movePost(button.parents('[data-pid]'), button.parents('[data-pid]').attr('data-pid'), topicIdEl.val(), function () { - topicIdEl.val(''); - }); - }, - }, - }, - }); - dialog.find('.submit-btn').attr('disabled', true); + moveModal = html; - dialog.find('#topicId').on('keyup change', function () { - dialog.find('.submit-btn').attr('disabled', !dialog.find('#topicId').val()); + moveCommit = moveModal.find('#move_posts_confirm'); + + $(document.body).append(moveModal); + + moveModal.find('.close,#move_posts_cancel').on('click', closeMoveModal); + moveModal.find('#topicId').on('keyup', checkMoveButtonEnable); + postSelect.init(onPostToggled); + showPostsSelected(); + + if (postEl) { + postSelect.togglePostSelection(postEl, onPostToggled); + } + + moveCommit.on('click', function () { + movePosts(); }); }); }; - function movePost(post, pid, tid, callback) { - socket.emit('posts.movePost', { pid: pid, tid: tid }, function (err) { + function onPostToggled() { + checkMoveButtonEnable(); + showPostsSelected(); + } + + function movePosts() { + var tid = moveModal.find('#topicId').val(); + socket.emit('posts.movePosts', { pids: postSelect.pids, tid: tid }, function (err) { if (err) { - app.alertError(err.message); - return callback(); + return app.alertError(err.message); } - - post.fadeOut(500, function () { - post.remove(); + postSelect.pids.forEach(function (pid) { + components.get('post', 'pid', pid).fadeOut(500, function () { + $(this).remove(); + }); }); - app.alertSuccess('[[topic:post_moved]]'); - callback(); + closeMoveModal(); }); } + function closeMoveModal() { + if (moveModal) { + moveModal.remove(); + moveModal = null; + } + + postSelect.disable(); + } + return MovePost; }); diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index a164f97ee2..5798386951 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -195,7 +195,7 @@ define('forum/topic/postTools', [ }); postContainer.on('click', '[component="post/move"]', function () { - movePost.openMovePostModal($(this)); + movePost.openMovePostModal($(this).parents('[data-pid]')); }); postContainer.on('click', '[component="post/ban-ip"]', function () { diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index b44d571919..9c4d698b01 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -219,7 +219,7 @@ define('forum/topic/posts', [ Posts._infiniteScrollTimeout = setTimeout(function () { delete Posts._infiniteScrollTimeout; }, 1000); - var replies = components.get('post').not('[data-index=0]').not('.new'); + var replies = components.get('topic').find(components.get('post').not('[data-index=0]').not('.new')); var afterEl = direction > 0 ? replies.last() : replies.first(); var after = parseInt(afterEl.attr('data-index'), 10) || 0; diff --git a/public/src/client/topic/threadTools.js b/public/src/client/topic/threadTools.js index e220e6305d..e8b6839d82 100644 --- a/public/src/client/topic/threadTools.js +++ b/public/src/client/topic/threadTools.js @@ -5,10 +5,11 @@ define('forum/topic/threadTools', [ 'forum/topic/fork', 'forum/topic/move', 'forum/topic/delete-posts', + 'forum/topic/move-post', 'components', 'translator', 'benchpress', -], function (fork, move, deletePosts, components, translator, Benchpress) { +], function (fork, move, deletePosts, movePosts, components, translator, Benchpress) { var ThreadTools = {}; ThreadTools.init = function (tid) { @@ -80,6 +81,7 @@ define('forum/topic/threadTools', [ deletePosts.init(); fork.init(); + movePosts.init(); $('.topic').on('click', '[component="topic/following"]', function () { changeWatching('follow'); diff --git a/public/src/client/topic/votes.js b/public/src/client/topic/votes.js index 007fa5e6dd..ee4813d173 100644 --- a/public/src/client/topic/votes.js +++ b/public/src/client/topic/votes.js @@ -62,7 +62,7 @@ define('forum/topic/votes', ['components', 'translator', 'benchpress'], function Votes.toggleVote = function (button, className, method) { - var post = button.parents('[data-pid]'); + var post = button.closest('[data-pid]'); var currentState = post.find(className).length; socket.emit(currentState ? 'posts.unvote' : method, { diff --git a/public/src/modules/autocomplete.js b/public/src/modules/autocomplete.js index 738252b038..edd86a1700 100644 --- a/public/src/modules/autocomplete.js +++ b/public/src/modules/autocomplete.js @@ -14,7 +14,10 @@ define('autocomplete', function () { }, select: onselect, source: function (request, response) { - socket.emit('user.search', { query: request.term }, function (err, result) { + socket.emit('user.search', { + query: request.term, + paginate: false, + }, function (err, result) { if (err) { return app.alertError(err.message); } diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index 7dc3015c05..f8f44b15cd 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -258,6 +258,7 @@ define('chat', [ Chats.addRenameHandler(chatModal.attr('data-roomid'), chatModal.find('[data-action="rename"]'), chatModal.attr('data-name')); Chats.addLeaveHandler(chatModal.attr('data-roomid'), chatModal.find('[data-action="leave"]')); Chats.addSendHandlers(chatModal.attr('data-roomid'), chatModal.find('.chat-input'), chatModal.find('[data-action="send"]')); + Chats.addMemberHandler(chatModal.attr('data-roomid'), chatModal.find('[data-action="members"]')); Chats.createAutoComplete(chatModal.find('[component="chat/input"]')); @@ -281,7 +282,7 @@ define('chat', [ }; module.focusInput = function (chatModal) { - chatModal.find('#chat-message-input').focus(); + chatModal.find('[component="chat/input"]').focus(); }; module.close = function (chatModal) { diff --git a/public/src/modules/postSelect.js b/public/src/modules/postSelect.js index 5dae2995ea..cab894c5bb 100644 --- a/public/src/modules/postSelect.js +++ b/public/src/modules/postSelect.js @@ -9,13 +9,20 @@ define('postSelect', ['components'], function (components) { PostSelect.init = function (onSelect) { PostSelect.pids.length = 0; components.get('topic').on('click', '[data-pid]', function () { - togglePostSelection($(this), onSelect); + PostSelect.togglePostSelection($(this), onSelect); }); disableClicksOnPosts(); }; + PostSelect.disable = function () { + PostSelect.pids.forEach(function (pid) { + components.get('post', 'pid', pid).toggleClass('bg-success', false); + }); + components.get('topic').off('click', '[data-pid]'); + enableClicksOnPosts(); + }; - function togglePostSelection(post, callback) { + PostSelect.togglePostSelection = function (post, callback) { var newPid = post.attr('data-pid'); if (parseInt(post.attr('data-index'), 10) === 0) { @@ -37,7 +44,7 @@ define('postSelect', ['components'], function (components) { } callback(); } - } + }; function disableClicks() { @@ -48,10 +55,9 @@ define('postSelect', ['components'], function (components) { components.get('post').on('click', 'button,a', disableClicks); } - PostSelect.enableClicksOnPosts = function () { + function enableClicksOnPosts() { components.get('post').off('click', 'button,a', disableClicks); - }; - + } return PostSelect; }); diff --git a/public/src/modules/search.js b/public/src/modules/search.js index daf9fae820..bcab5d1142 100644 --- a/public/src/modules/search.js +++ b/public/src/modules/search.js @@ -41,6 +41,10 @@ define('search', ['navigator', 'translator', 'storage'], function (nav, translat in: searchIn, }; + if (data.matchWords) { + query.matchWords = data.matchWords; + } + if (postedBy && (searchIn === 'posts' || searchIn === 'titles' || searchIn === 'titlesposts')) { query.by = postedBy; } diff --git a/public/src/modules/translator.js b/public/src/modules/translator.js index 9171d65ada..65fd44df52 100644 --- a/public/src/modules/translator.js +++ b/public/src/modules/translator.js @@ -4,7 +4,7 @@ function loadClient(language, namespace) { return Promise.resolve(jQuery.getJSON(config.relative_path + '/assets/language/' + language + '/' + namespace + '.json?' + config['cache-buster'])); } - var warn = console.warn; + var warn = function () { console.warn.apply(console, arguments); }; if (typeof define === 'function' && define.amd) { // AMD. Register as a named module define('translator', [], function () { diff --git a/public/vendor/snackbar/snackbar.min.js b/public/vendor/snackbar/snackbar.min.js deleted file mode 100644 index 7955e8bb16..0000000000 --- a/public/vendor/snackbar/snackbar.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* SnackbarJS - MIT LICENSE (https://github.com/FezVrasta/snackbarjs/blob/master/LICENSE.md) */ -!function(t){"function"==typeof define&&define.amd&&t(jQuery)}(function(t){function a(t){return"undefined"!=typeof t&&null!==t?!0:!1}t(document).ready(function(){t("body").append("
")}),t(document).on("click","[data-toggle=snackbar]",function(){t(this).snackbar("toggle")}).on("click","#snackbar-container .snackbar",function(){t(this).snackbar("hide")}),t.snackbar=function(n){if(a(n)&&n===Object(n)){var e,o=!1;a(n.id)?t("#"+n.id).length?e=t("#"+n.id):(e=t("
").attr("id",""+n.id).attr("class","snackbar"),o=!0):(e=t("
").attr("id","snackbar"+Date.now()).attr("class","snackbar"),o=!0);var i=e.hasClass("snackbar-opened");a(n.style)?(i?e.attr("class","snackbar snackbar-opened "+n.style):e.attr("class","snackbar "+n.style),e.attr("data-style",n.style)):i?e.attr("class","snackbar snackbar-opened"):e.attr("class","snackbar"),n.htmlAllowed=a(n.htmlAllowed)?n.htmlAllowed:!1,n.timeout=a(n.timeout)?n.timeout:3e3,e.attr("data-timeout",n.timeout),n.content=n.htmlAllowed?n.content:t("

"+n.content+"

").text(),a(n.htmlAllowed)&&e.attr("data-html-allowed",n.htmlAllowed),a(n.content)&&(e.find(".snackbar-content").length?e.find(".snackbar-content").html(n.content):e.prepend(""+n.content+""),e.attr("data-content",n.content)),o?e.appendTo("#snackbar-container"):e.insertAfter("#snackbar-container .snackbar:last-child"),a(n.action)&&"toggle"==n.action&&(n.action=i?"hide":"show");var s=Date.now();e.data("animationId1",s),setTimeout(function(){e.data("animationId1")===s&&(a(n.action)&&"show"!=n.action?a(n.action)&&"hide"==n.action&&e.removeClass("snackbar-opened"):e.addClass("snackbar-opened"))},50);var c=Date.now();return e.data("animationId2",c),0!==n.timeout&&setTimeout(function(){e.data("animationId2")===c&&e.removeClass("snackbar-opened")},n.timeout),e}return!1},t.fn.snackbar=function(n){if("undefined"!=typeof n){var e={};if(this.hasClass("snackbar"))return e={id:this.attr("id"),content:t(this).attr("data-content"),style:t(this).attr("data-style"),timeout:t(this).attr("data-timeout"),htmlAllowed:t(this).attr("data-html-allowed")},("show"===n||"hide"===n||"toggle"==n)&&(e.action=n),t.snackbar(e);a(n)&&"show"!==n&&"hide"!==n&&"toggle"!=n||(e={content:t(this).attr("data-content"),style:t(this).attr("data-style"),timeout:t(this).attr("data-timeout"),htmlAllowed:t(this).attr("data-html-allowed")}),a(n)&&(e.id=this.attr("data-snackbar-id"),("show"===n||"hide"===n||"toggle"==n)&&(e.action=n));var o=t.snackbar(e);return this.attr("data-snackbar-id",o.attr("id")),o}}}); \ No newline at end of file diff --git a/src/admin/versions.js b/src/admin/versions.js new file mode 100644 index 0000000000..bc29002f94 --- /dev/null +++ b/src/admin/versions.js @@ -0,0 +1,55 @@ +'use strict'; + +var semver = require('semver'); +var request = require('request'); + +var meta = require('../meta'); + +var versionCache = ''; +var versionCacheLastModified = ''; + +var isPrerelease = /^v?\d+\.\d+\.\d+-.+$/; + +function getLatestVersion(callback) { + var headers = { + Accept: 'application/vnd.github.v3+json', + 'User-Agent': 'NodeBB Admin Control Panel/' + meta.config.title, + }; + + if (versionCacheLastModified) { + headers['If-Modified-Since'] = versionCacheLastModified; + } + + request('https://api.github.com/repos/NodeBB/NodeBB/tags', { + json: true, + headers: headers, + }, function (err, res, releases) { + if (err) { + return callback(err); + } + + if (res.statusCode === 304) { + return callback(null, versionCache); + } + + if (res.statusCode !== 200) { + return callback(Error(res.statusMessage)); + } + + releases = releases.filter(function (version) { + return !isPrerelease.test(version.name); // filter out automated prerelease versions + }).map(function (version) { + return version.name.replace(/^v/, ''); + }).sort(function (a, b) { + return semver.lt(a, b) ? 1 : -1; + }); + + versionCache = releases[0]; + versionCacheLastModified = res.headers['last-modified']; + + callback(null, versionCache); + }); +} + +exports.getLatestVersion = getLatestVersion; +exports.isPrerelease = isPrerelease; diff --git a/src/categories/delete.js b/src/categories/delete.js index 87ae9813d9..4e3a7060ce 100644 --- a/src/categories/delete.js +++ b/src/categories/delete.js @@ -58,9 +58,9 @@ module.exports = function (Categories) { ], next); }, function (next) { - async.eachSeries(privileges.privilegeList, function (privilege, next) { - groups.destroy('cid:' + cid + ':privileges:' + privilege, next); - }, next); + groups.destroy(privileges.privilegeList.map(function (privilege) { + return 'cid:' + cid + ':privileges:' + privilege; + }), next); }, ], function (err) { callback(err); diff --git a/src/cli/index.js b/src/cli/index.js index e4679a4e19..cece70d554 100644 --- a/src/cli/index.js +++ b/src/cli/index.js @@ -105,6 +105,8 @@ if (!configExists && process.argv[2] !== 'setup') { return; } +process.env.CONFIG = configFile; + // running commands program .command('start') diff --git a/src/cli/upgrade.js b/src/cli/upgrade.js index befd627daf..38df2594cb 100644 --- a/src/cli/upgrade.js +++ b/src/cli/upgrade.js @@ -7,7 +7,6 @@ var packageInstall = require('./package-install'); var upgrade = require('../upgrade'); var build = require('../meta/build'); var db = require('../database'); -var meta = require('../meta'); var upgradePlugins = require('./upgrade-plugins').upgradePlugins; var steps = { @@ -100,7 +99,7 @@ function runUpgrade(upgrades, options) { async.series([ db.init, - meta.configs.init, + require('../meta').configs.init, async.apply(upgrade.runParticular, upgrades), ], function (err) { if (err) { diff --git a/src/controllers/admin/dashboard.js b/src/controllers/admin/dashboard.js index b5ae760727..6d804faf47 100644 --- a/src/controllers/admin/dashboard.js +++ b/src/controllers/admin/dashboard.js @@ -2,7 +2,10 @@ var async = require('async'); var nconf = require('nconf'); +var semver = require('semver'); +var winston = require('winston'); +var versions = require('../../admin/versions'); var db = require('../../database'); var meta = require('../../meta'); var plugins = require('../../plugins'); @@ -13,9 +16,7 @@ dashboardController.get = function (req, res, next) { async.waterfall([ function (next) { async.parallel({ - stats: function (next) { - getStats(next); - }, + stats: getStats, notices: function (next) { var notices = [ { @@ -41,11 +42,26 @@ dashboardController.get = function (req, res, next) { plugins.fireHook('filter:admin.notices', notices, next); }, + latestVersion: function (next) { + versions.getLatestVersion(function (err, result) { + if (err) { + winston.error('[acp] Failed to fetch latest version', err); + } + + next(null, err ? null : result); + }); + }, }, next); }, function (results) { + var version = nconf.get('version'); + res.render('admin/general/dashboard', { - version: nconf.get('version'), + version: version, + lookupFailed: results.latestVersion === null, + latestVersion: results.latestVersion, + upgradeAvailable: results.latestVersion && semver.gt(results.latestVersion, version), + currentPrerelease: versions.isPrerelease.test(version), notices: results.notices, stats: results.stats, canRestart: !!process.send, diff --git a/src/controllers/admin/settings.js b/src/controllers/admin/settings.js index 860de1290d..678a9e4e8c 100644 --- a/src/controllers/admin/settings.js +++ b/src/controllers/admin/settings.js @@ -4,6 +4,7 @@ var async = require('async'); var meta = require('../../meta'); var emailer = require('../../emailer'); +var plugins = require('../../plugins'); var settingsController = module.exports; @@ -14,7 +15,9 @@ settingsController.get = function (req, res, next) { case 'email': renderEmail(req, res, next); break; - + case 'user': + renderUser(req, res, next); + break; default: res.render('admin/settings/' + term); } @@ -22,20 +25,60 @@ settingsController.get = function (req, res, next) { function renderEmail(req, res, next) { - async.parallel({ - emails: async.apply(emailer.getTemplates, meta.config), - services: emailer.listServices, - }, function (err, results) { - if (err) { - return next(err); - } - - res.render('admin/settings/email', { - emails: results.emails, - sendable: results.emails.filter(function (email) { - return email.path.indexOf('_plaintext') === -1 && email.path.indexOf('partials') === -1; - }), - services: results.services, - }); - }); + async.waterfall([ + function (next) { + async.parallel({ + emails: async.apply(emailer.getTemplates, meta.config), + services: emailer.listServices, + }, next); + }, + function (results) { + res.render('admin/settings/email', { + emails: results.emails, + sendable: results.emails.filter(function (email) { + return email.path.indexOf('_plaintext') === -1 && email.path.indexOf('partials') === -1; + }), + services: results.services, + }); + }, + ], next); +} + +function renderUser(req, res, next) { + var types = [ + 'notificationType_upvote', + 'notificationType_new-topic', + 'notificationType_new-reply', + 'notificationType_follow', + 'notificationType_new-chat', + 'notificationType_group-invite', + ]; + + var privilegedTypes = [ + 'notificationType_new-register', + 'notificationType_post-queue', + 'notificationType_new-post-flag', + 'notificationType_new-user-flag', + ]; + + async.waterfall([ + function (next) { + plugins.fireHook('filter:user.notificationTypes', { + userData: {}, + types: types, + privilegedTypes: privilegedTypes, + }, next); + }, + function (results) { + var notificationSettings = results.types.concat(results.privilegedTypes).map(function (type) { + return { + name: type, + label: '[[notifications:' + type + ']]', + }; + }); + res.render('admin/settings/user', { + notificationSettings: notificationSettings, + }); + }, + ], next); } diff --git a/src/controllers/admin/uploads.js b/src/controllers/admin/uploads.js index 7256e35b7b..b802404fb5 100644 --- a/src/controllers/admin/uploads.js +++ b/src/controllers/admin/uploads.js @@ -96,7 +96,7 @@ function filesToData(currentDir, files, callback) { name: file, path: path.join(currentDir, file).replace(nconf.get('upload_path'), ''), url: url, - fileCount: filesInDir.length - 1, // ignore .gitignore + fileCount: Math.max(0, filesInDir.length - 1), // ignore .gitignore size: stat.size, sizeHumanReadable: (stat.size / 1024).toFixed(1) + 'KiB', isDirectory: stat.isDirectory(), diff --git a/src/controllers/api.js b/src/controllers/api.js index c64d054595..ed8ad64700 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -61,6 +61,7 @@ apiController.loadConfig = function (req, callback) { config.searchEnabled = plugins.hasListeners('filter:search.query'); config.bootswatchSkin = meta.config.bootswatchSkin || 'noskin'; config.defaultBootswatchSkin = meta.config.bootswatchSkin || 'noskin'; + config.enablePostHistory = parseInt(meta.config.enablePostHistory || 1, 10) === 1; if (config.useOutgoingLinksPage) { config.outgoingLinksWhitelist = meta.config['outgoingLinks:whitelist']; diff --git a/src/controllers/index.js b/src/controllers/index.js index 9dccc94aa3..550130ce92 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -50,6 +50,7 @@ Controllers.reset = function (req, res, next) { displayExpiryNotice: req.session.passwordExpired, code: req.params.code, minimumPasswordLength: parseInt(meta.config.minimumPasswordLength, 10), + minimumPasswordStrength: parseInt(meta.config.minimumPasswordStrength, 10), breadcrumbs: helpers.buildBreadcrumbs([ { text: '[[reset_password:reset_password]]', diff --git a/src/controllers/popular.js b/src/controllers/popular.js index fae1bbaa16..cdb0bebe5b 100644 --- a/src/controllers/popular.js +++ b/src/controllers/popular.js @@ -38,8 +38,8 @@ popularController.get = function (req, res, next) { }; if (!req.loggedIn) { - if (anonCache[term] && (Date.now() - lastUpdateTime) < 60 * 60 * 1000) { - return res.render('popular', anonCache[term]); + if (anonCache[term] && anonCache[term][page] && (Date.now() - lastUpdateTime) < 60 * 60 * 1000) { + return res.render('popular', anonCache[term][page]); } } var settings; @@ -74,7 +74,8 @@ popularController.get = function (req, res, next) { } if (!req.loggedIn) { - anonCache[term] = data; + anonCache[term] = anonCache[term] || {}; + anonCache[term][page] = data; lastUpdateTime = Date.now(); } diff --git a/src/controllers/search.js b/src/controllers/search.js index 4c37b6258d..4032357ffd 100644 --- a/src/controllers/search.js +++ b/src/controllers/search.js @@ -30,6 +30,7 @@ searchController.search = function (req, res, next) { var data = { query: req.query.term, searchIn: req.query.in || 'posts', + matchWords: req.query.matchWords || 'all', postedBy: req.query.by, categories: req.query.categories, searchChildren: req.query.searchChildren, diff --git a/src/controllers/uploads.js b/src/controllers/uploads.js index 4417513612..3d225c22fe 100644 --- a/src/controllers/uploads.js +++ b/src/controllers/uploads.js @@ -118,6 +118,7 @@ function resizeImage(fileObj, callback) { target: path.join(dirname, basename + '-resized' + extname), extension: extname, width: parseInt(meta.config.maximumImageWidth, 10) || 760, + quality: parseInt(meta.config.resizeImageQuality, 10) || 60, }, next); }, function (next) { diff --git a/src/database/mongo.js b/src/database/mongo.js index be6789389b..fa8e881707 100644 --- a/src/database/mongo.js +++ b/src/database/mongo.js @@ -264,7 +264,9 @@ function getCollectionStats(db, callback) { mongoModule.close = function (callback) { callback = callback || function () {}; - db.close(callback); + db.close(function (err) { + callback(err); + }); }; mongoModule.socketAdapter = function () { diff --git a/src/database/mongo/hash.js b/src/database/mongo/hash.js index 5eca32fd4e..55ae9c7ea8 100644 --- a/src/database/mongo/hash.js +++ b/src/database/mongo/hash.js @@ -1,5 +1,6 @@ 'use strict'; +var async = require('async'); var pubsub = require('../../pubsub'); module.exports = function (db, module) { @@ -286,6 +287,36 @@ module.exports = function (db, module) { field = helpers.fieldToString(field); data[field] = value; + if (Array.isArray(key)) { + var bulk = db.collection('objects').initializeUnorderedBulkOp(); + key.forEach(function (key) { + bulk.find({ _key: key }).upsert().update({ $inc: data }); + }); + + async.waterfall([ + function (next) { + bulk.execute(function (err) { + next(err); + }); + }, + function (next) { + key.forEach(function (key) { + module.delObjectCache(key); + }); + + module.getObjectsFields(key, [field], next); + }, + function (data, next) { + data = data.map(function (data) { + return data && data[field]; + }); + next(null, data); + }, + ], callback); + return; + } + + db.collection('objects').findAndModify({ _key: key }, {}, { $inc: data }, { new: true, upsert: true }, function (err, result) { if (err) { return callback(err); diff --git a/src/database/mongo/list.js b/src/database/mongo/list.js index 0c5e2955e5..06be2808a0 100644 --- a/src/database/mongo/list.js +++ b/src/database/mongo/list.js @@ -100,4 +100,13 @@ module.exports = function (db, module) { callback(null, data.array); }); }; + + module.listLength = function (key, callback) { + db.collection('objects').aggregate([ + { $match: { _key: key } }, + { $project: { count: { $size: '$array' } } }, + ], function (err, result) { + callback(err, Array.isArray(result) && result.length && result[0].count); + }); + }; }; diff --git a/src/database/mongo/main.js b/src/database/mongo/main.js index b8ceaa4f6f..55a29e6ff9 100644 --- a/src/database/mongo/main.js +++ b/src/database/mongo/main.js @@ -66,7 +66,21 @@ module.exports = function (db, module) { if (!key) { return callback(); } - module.getObjectField(key, 'data', callback); + module.getObject(key, function (err, objectData) { + if (err) { + return callback(err); + } + // fallback to old field name 'value' for backwards compatibility #6340 + var value = null; + if (objectData) { + if (objectData.hasOwnProperty('data')) { + value = objectData.data; + } else if (objectData.hasOwnProperty('value')) { + value = objectData.value; + } + } + callback(null, value); + }); }; module.set = function (key, value, callback) { diff --git a/src/database/mongo/sets.js b/src/database/mongo/sets.js index 6d6abbfbab..3315922b4a 100644 --- a/src/database/mongo/sets.js +++ b/src/database/mongo/sets.js @@ -47,7 +47,7 @@ module.exports = function (db, module) { var bulk = db.collection('objects').initializeUnorderedBulkOp(); for (var i = 0; i < keys.length; i += 1) { - bulk.find({ _key: keys[i] }).upsert().updateOne({ $addToSet: { + bulk.find({ _key: keys[i] }).upsert().updateOne({ $addToSet: { members: { $each: value, }, @@ -69,9 +69,15 @@ module.exports = function (db, module) { array[index] = helpers.valueToString(element); }); - db.collection('objects').update({ _key: key }, { $pullAll: { members: value } }, function (err) { - callback(err); - }); + if (Array.isArray(key)) { + db.collection('objects').updateMany({ _key: { $in: key } }, { $pullAll: { members: value } }, function (err) { + callback(err); + }); + } else { + db.collection('objects').update({ _key: key }, { $pullAll: { members: value } }, function (err) { + callback(err); + }); + } }; module.setsRemove = function (keys, value, callback) { @@ -81,15 +87,7 @@ module.exports = function (db, module) { } value = helpers.valueToString(value); - var bulk = db.collection('objects').initializeUnorderedBulkOp(); - - for (var i = 0; i < keys.length; i += 1) { - bulk.find({ _key: keys[i] }).updateOne({ $pull: { - members: value, - } }); - } - - bulk.execute(function (err) { + db.collection('objects').update({ _key: { $in: keys } }, { $pull: { members: value } }, { multi: true }, function (err) { callback(err); }); }; diff --git a/src/database/mongo/sorted.js b/src/database/mongo/sorted.js index ca1d53f63b..58eddb940e 100644 --- a/src/database/mongo/sorted.js +++ b/src/database/mongo/sorted.js @@ -384,7 +384,7 @@ module.exports = function (db, module) { if (!Array.isArray(keys) || !keys.length) { return callback(null, []); } - db.collection('objects').find({ _key: { $in: keys } }, { _id: 0, _key: 1, value: 1 }).toArray(function (err, data) { + db.collection('objects').find({ _key: { $in: keys } }, { _id: 0, _key: 1, value: 1 }).sort({ score: 1 }).toArray(function (err, data) { if (err) { return callback(err); } diff --git a/src/database/mongo/sorted/remove.js b/src/database/mongo/sorted/remove.js index 0a3fd87b6e..c9bf121e10 100644 --- a/src/database/mongo/sorted/remove.js +++ b/src/database/mongo/sorted/remove.js @@ -11,10 +11,14 @@ module.exports = function (db, module) { if (!key) { return callback(); } - - if (Array.isArray(value)) { + if (Array.isArray(key) && Array.isArray(value)) { + db.collection('objects').remove({ _key: { $in: key }, value: { $in: value } }, done); + } else if (Array.isArray(value)) { value = value.map(helpers.valueToString); db.collection('objects').remove({ _key: key, value: { $in: value } }, done); + } else if (Array.isArray(key)) { + value = helpers.valueToString(value); + db.collection('objects').remove({ _key: { $in: key }, value: value }, done); } else { value = helpers.valueToString(value); db.collection('objects').remove({ _key: key, value: value }, done); diff --git a/src/database/redis.js b/src/database/redis.js index e88663cf70..4bbd6ed0da 100644 --- a/src/database/redis.js +++ b/src/database/redis.js @@ -73,7 +73,7 @@ redisModule.connect = function (options, callback) { callback = callback || function () {}; var redis_socket_or_host = nconf.get('redis:host'); var cxn; - + var callbackCalled = false; options = options || {}; if (nconf.get('redis:password')) { @@ -92,11 +92,17 @@ redisModule.connect = function (options, callback) { cxn.on('error', function (err) { winston.error(err.stack); - callback(err); + if (!callbackCalled) { + callbackCalled = true; + callback(err); + } }); cxn.on('ready', function () { - callback(); + if (!callbackCalled) { + callbackCalled = true; + callback(); + } }); if (nconf.get('redis:password')) { @@ -140,7 +146,9 @@ redisModule.checkCompatibilityVersion = function (version, callback) { redisModule.close = function (callback) { callback = callback || function () {}; - redisClient.quit(callback); + redisClient.quit(function (err) { + callback(err); + }); }; redisModule.info = function (cxn, callback) { diff --git a/src/database/redis/hash.js b/src/database/redis/hash.js index 6f3c799027..9dd6276f88 100644 --- a/src/database/redis/hash.js +++ b/src/database/redis/hash.js @@ -129,6 +129,14 @@ module.exports = function (redisClient, module) { if (!key || isNaN(value)) { return callback(null, null); } - redisClient.hincrby(key, field, value, callback); + if (Array.isArray(key)) { + var multi = redisClient.multi(); + key.forEach(function (key) { + multi.hincrby(key, field, value); + }); + multi.exec(callback); + } else { + redisClient.hincrby(key, field, value, callback); + } }; }; diff --git a/src/database/redis/list.js b/src/database/redis/list.js index f8108a194d..ba127d3100 100644 --- a/src/database/redis/list.js +++ b/src/database/redis/list.js @@ -56,4 +56,8 @@ module.exports = function (redisClient, module) { } redisClient.lrange(key, start, stop, callback); }; + + module.listLength = function (key, callback) { + redisClient.llen(key, callback); + }; }; diff --git a/src/database/redis/sets.js b/src/database/redis/sets.js index a5716438e4..1da6f4ff22 100644 --- a/src/database/redis/sets.js +++ b/src/database/redis/sets.js @@ -25,7 +25,17 @@ module.exports = function (redisClient, module) { module.setRemove = function (key, value, callback) { callback = callback || function () {}; - redisClient.srem(key, value, function (err) { + if (!Array.isArray(value)) { + value = [value]; + } + if (!Array.isArray(key)) { + key = [key]; + } + var multi = redisClient.multi(); + key.forEach(function (key) { + multi.srem(key, value); + }); + multi.exec(function (err) { callback(err); }); }; diff --git a/src/database/redis/sorted/remove.js b/src/database/redis/sorted/remove.js index eacb6ca861..886bd7cdb9 100644 --- a/src/database/redis/sorted/remove.js +++ b/src/database/redis/sorted/remove.js @@ -13,9 +13,19 @@ module.exports = function (redisClient, module) { value = [value]; } - helpers.multiKeyValues(redisClient, 'zrem', key, value, function (err) { - callback(err); - }); + if (Array.isArray(key)) { + var multi = redisClient.multi(); + key.forEach(function (key) { + multi.zrem(key, value); + }); + multi.exec(function (err) { + callback(err); + }); + } else { + helpers.multiKeyValues(redisClient, 'zrem', key, value, function (err) { + callback(err); + }); + } }; module.sortedSetsRemove = function (keys, value, callback) { diff --git a/src/emailer.js b/src/emailer.js index a841eb1f91..db49bdf0f8 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -33,9 +33,9 @@ Emailer.transports = { var app; var viewsDir = nconf.get('views_dir'); -var emailsPath = path.join(viewsDir, 'emails'); Emailer.getTemplates = function (config, cb) { + var emailsPath = path.join(viewsDir, 'emails'); async.waterfall([ function (next) { file.walk(emailsPath, next); @@ -229,7 +229,7 @@ Emailer.sendToEmail = function (template, email, language, params, callback) { to: email, from: meta.config['email:from'] || 'no-reply@' + getHostname(), from_name: meta.config['email:from_name'] || 'NodeBB', - subject: results.subject, + subject: '[' + meta.config.title + '] ' + results.subject, html: results.html, plaintext: htmlToText.fromString(results.html, { ignoreImage: true, diff --git a/src/flags.js b/src/flags.js index d508568329..e88277eb4d 100644 --- a/src/flags.js +++ b/src/flags.js @@ -95,7 +95,7 @@ Flags.get = function (flagId, callback) { // Final object return construction next(err, Object.assign(data.base, { description: validator.escape(data.base.description), - datetimeISO: new Date(parseInt(data.base.datetime, 10)).toISOString(), + datetimeISO: utils.toISOString(data.base.datetime), target_readable: data.base.type.charAt(0).toUpperCase() + data.base.type.slice(1) + ' ' + data.base.targetId, target: payload.targetObj, history: data.history, @@ -210,9 +210,9 @@ Flags.list = function (filters, uid, callback) { } next(null, Object.assign(flagObj, { - description: validator.escape(flagObj.description), + description: validator.escape(String(flagObj.description)), target_readable: flagObj.type.charAt(0).toUpperCase() + flagObj.type.slice(1) + ' ' + flagObj.targetId, - datetimeISO: new Date(parseInt(flagObj.datetime, 10)).toISOString(), + datetimeISO: utils.toISOString(flagObj.datetime), })); }); }, function (err, flags) { @@ -304,7 +304,7 @@ Flags.getNotes = function (flagId, callback) { uid: noteObj[0], content: noteObj[1], datetime: note.score, - datetimeISO: new Date(parseInt(note.score, 10)).toISOString(), + datetimeISO: utils.toISOString(note.score), }; } catch (e) { return next(e); @@ -588,7 +588,7 @@ Flags.getHistory = function (flagId, callback) { uid: entry.value[0], fields: changeset, datetime: entry.score, - datetimeISO: new Date(parseInt(entry.score, 10)).toISOString(), + datetimeISO: utils.toISOString(entry.score), }; }); diff --git a/src/groups.js b/src/groups.js index fffa3d8ebd..780eda46c4 100644 --- a/src/groups.js +++ b/src/groups.js @@ -144,7 +144,7 @@ Groups.get = function (groupName, options, callback) { Groups.escapeGroupData(groupData); groupData.descriptionParsed = descriptionParsed; - groupData.userTitleEnabled = groupData.userTitleEnabled ? !!parseInt(groupData.userTitleEnabled, 10) : true; + groupData.userTitleEnabled = groupData.userTitleEnabled ? parseInt(groupData.userTitleEnabled, 10) === 1 : true; groupData.createtimeISO = utils.toISOString(groupData.createtime); groupData.members = results.members; groupData.membersNextStart = stop + 1; diff --git a/src/groups/data.js b/src/groups/data.js index 919a257368..f791b1f5f1 100644 --- a/src/groups/data.js +++ b/src/groups/data.js @@ -2,6 +2,7 @@ var async = require('async'); var validator = require('validator'); +var winston = require('winston'); var db = require('../database'); var plugins = require('../plugins'); @@ -68,17 +69,22 @@ module.exports = function (Groups) { }; Groups.getGroupFields = function (groupName, fields, callback) { - Groups.getMultipleGroupFields([groupName], fields, function (err, groups) { + Groups.getGroupsFields([groupName], fields, function (err, groups) { callback(err, groups ? groups[0] : null); }); }; - Groups.getMultipleGroupFields = function (groups, fields, callback) { - db.getObjectsFields(groups.map(function (group) { + Groups.getGroupsFields = function (groupNames, fields, callback) { + db.getObjectsFields(groupNames.map(function (group) { return 'group:' + group; }), fields, callback); }; + Groups.getMultipleGroupFields = function (groups, fields, callback) { + winston.warn('[deprecated] Groups.getMultipleGroupFields is deprecated please use Groups.getGroupsFields'); + Groups.getGroupsFields(groups, fields, callback); + }; + Groups.setGroupField = function (groupName, field, value, callback) { async.waterfall([ function (next) { diff --git a/src/groups/delete.js b/src/groups/delete.js index b0203aa60e..ed55a1f383 100644 --- a/src/groups/delete.js +++ b/src/groups/delete.js @@ -7,44 +7,61 @@ var db = require('./../database'); var batch = require('../batch'); module.exports = function (Groups) { - Groups.destroy = function (groupName, callback) { + Groups.destroy = function (groupNames, callback) { + if (!Array.isArray(groupNames)) { + groupNames = [groupNames]; + } + var groupObj; + var groupsData; async.waterfall([ function (next) { - Groups.getGroupsData([groupName], next); + Groups.getGroupsData(groupNames, next); }, - function (groupsData, next) { - if (!groupsData[0]) { + function (_groupsData, next) { + groupsData = _groupsData.filter(Boolean); + if (!groupsData.length) { return callback(); } + // backwards compatibility groupObj = groupsData[0]; async.parallel([ function (next) { - db.deleteAll([ - 'group:' + groupName, - 'group:' + groupName + ':members', - 'group:' + groupName + ':pending', - 'group:' + groupName + ':invited', - 'group:' + groupName + ':owners', - 'group:' + groupName + ':member:pids', - ], next); + var keys = []; + groupNames.forEach(function (groupName) { + keys.push('group:' + groupName, + 'group:' + groupName + ':members', + 'group:' + groupName + ':pending', + 'group:' + groupName + ':invited', + 'group:' + groupName + ':owners', + 'group:' + groupName + ':member:pids' + ); + }); + + db.deleteAll(keys, next); }, function (next) { - db.sortedSetsRemove([ + db.sortedSetRemove([ 'groups:createtime', 'groups:visible:createtime', 'groups:visible:memberCount', - ], groupName, next); + ], groupNames, next); }, function (next) { - db.sortedSetRemove('groups:visible:name', groupName.toLowerCase() + ':' + groupName, next); + var keys = groupNames.map(function (groupName) { + return groupName.toLowerCase() + ':' + groupName; + }); + db.sortedSetRemove('groups:visible:name', keys, next); }, function (next) { - db.deleteObjectField('groupslug:groupname', utils.slugify(groupName), next); + var fields = groupNames.map(function (groupName) { + return utils.slugify(groupName); + }); + db.deleteObjectFields('groupslug:groupname', fields, next); }, function (next) { - removeGroupFromOtherGroups(groupName, next); + removeGroupsFromOtherGroups(groupNames, next); }, ], function (err) { next(err); @@ -53,17 +70,18 @@ module.exports = function (Groups) { function (next) { Groups.resetCache(); plugins.fireHook('action:group.destroy', { group: groupObj }); + plugins.fireHook('action:groups.destroy', { groups: groupsData }); next(); }, ], callback); }; - function removeGroupFromOtherGroups(groupName, callback) { - batch.processSortedSet('groups:createtime', function (groupNames, next) { - var keys = groupNames.map(function (group) { + function removeGroupsFromOtherGroups(groupNames, callback) { + batch.processSortedSet('groups:createtime', function (otherGroups, next) { + var keys = otherGroups.map(function (group) { return 'group:' + group + ':members'; }); - db.sortedSetsRemove(keys, groupName, next); + db.sortedSetRemove(keys, groupNames, next); }, { batch: 500, }, callback); diff --git a/src/groups/membership.js b/src/groups/membership.js index 864fdea81f..09e86e12f6 100644 --- a/src/groups/membership.js +++ b/src/groups/membership.js @@ -142,19 +142,21 @@ module.exports = function (Groups) { Groups.acceptMembership = function (groupName, uid, callback) { async.waterfall([ - async.apply(db.setRemove, 'group:' + groupName + ':pending', uid), - async.apply(db.setRemove, 'group:' + groupName + ':invited', uid), + async.apply(db.setsRemove, ['group:' + groupName + ':pending', 'group:' + groupName + ':invited'], uid), async.apply(Groups.join, groupName, uid), ], callback); }; - Groups.rejectMembership = function (groupName, uid, callback) { - async.parallel([ - async.apply(db.setRemove, 'group:' + groupName + ':pending', uid), - async.apply(db.setRemove, 'group:' + groupName + ':invited', uid), - ], function (err) { - callback(err); + Groups.rejectMembership = function (groupNames, uid, callback) { + if (!Array.isArray(groupNames)) { + groupNames = [groupNames]; + } + var sets = []; + groupNames.forEach(function (groupName) { + sets.push('group:' + groupName + ':pending', 'group:' + groupName + ':invited'); }); + + db.setsRemove(sets, uid, callback); }; Groups.invite = function (groupName, uid, callback) { @@ -212,52 +214,70 @@ module.exports = function (Groups) { ], callback); } - Groups.leave = function (groupName, uid, callback) { + Groups.leave = function (groupNames, uid, callback) { callback = callback || function () {}; + if (!Array.isArray(groupNames)) { + groupNames = [groupNames]; + } + async.waterfall([ function (next) { - Groups.isMember(uid, groupName, next); + async.parallel({ + isMembers: async.apply(Groups.isMemberOfGroups, uid, groupNames), + exists: async.apply(Groups.exists, groupNames), + }, next); }, - function (isMember, next) { - if (!isMember) { - return callback(); - } + function (result, next) { + groupNames = groupNames.filter(function (groupName, index) { + return result.isMembers[index] && result.exists[index]; + }); - Groups.exists(groupName, next); - }, - function (exists, next) { - if (!exists) { + if (!groupNames.length) { return callback(); } + async.parallel([ - async.apply(db.sortedSetRemove, 'group:' + groupName + ':members', uid), - async.apply(db.setRemove, 'group:' + groupName + ':owners', uid), - async.apply(db.decrObjectField, 'group:' + groupName, 'memberCount'), + async.apply(db.sortedSetRemove, groupNames.map(groupName => 'group:' + groupName + ':members'), uid), + async.apply(db.setRemove, groupNames.map(groupName => 'group:' + groupName + ':owners'), uid), + async.apply(db.decrObjectField, groupNames.map(groupName => 'group:' + groupName), 'memberCount'), ], next); }, function (results, next) { - clearCache(uid, groupName); - Groups.getGroupFields(groupName, ['hidden', 'memberCount'], next); + clearCache(uid, groupNames); + Groups.getGroupsFields(groupNames, ['name', 'hidden', 'memberCount'], next); }, function (groupData, next) { if (!groupData) { return callback(); } - if (Groups.isPrivilegeGroup(groupName) && parseInt(groupData.memberCount, 10) === 0) { - Groups.destroy(groupName, next); - } else if (parseInt(groupData.hidden, 10) !== 1) { - db.sortedSetAdd('groups:visible:memberCount', groupData.memberCount, groupName, next); - } else { - next(); + var tasks = []; + + var emptyPrivilegeGroups = groupData.filter(function (groupData) { + return groupData && Groups.isPrivilegeGroup(groupData.name) && parseInt(groupData.memberCount, 10) === 0; + }); + if (emptyPrivilegeGroups.length) { + tasks.push(async.apply(Groups.destroy, emptyPrivilegeGroups)); + } + + var visibleGroups = groupData.filter(function (groupData) { + return groupData && parseInt(groupData.hidden, 10) !== 1; + }); + if (visibleGroups.length) { + tasks.push(async.apply(db.sortedSetAdd, 'groups:visible:memberCount', visibleGroups.map(groupData => groupData.memberCount), visibleGroups.map(groupData => groupData.name))); } + + async.parallel(tasks, function (err) { + next(err); + }); }, function (next) { - clearGroupTitleIfSet(groupName, uid, next); + clearGroupTitleIfSet(groupNames, uid, next); }, function (next) { plugins.fireHook('action:group.leave', { - groupName: groupName, + groupName: groupNames[0], + groupNames: groupNames, uid: uid, }); next(); @@ -265,8 +285,11 @@ module.exports = function (Groups) { ], callback); }; - function clearGroupTitleIfSet(groupName, uid, callback) { - if (groupName === 'registered-users' || Groups.isPrivilegeGroup(groupName)) { + function clearGroupTitleIfSet(groupNames, uid, callback) { + groupNames = groupNames.filter(function (groupName) { + return groupName !== 'registered-users' && !Groups.isPrivilegeGroup(groupName); + }); + if (!groupNames.length) { return callback(); } async.waterfall([ @@ -274,7 +297,7 @@ module.exports = function (Groups) { db.getObjectField('user:' + uid, 'groupTitle', next); }, function (groupTitle, next) { - if (groupTitle === groupName) { + if (groupNames.includes(groupTitle)) { db.deleteObjectField('user:' + uid, 'groupTitle', next); } else { next(); @@ -289,16 +312,14 @@ module.exports = function (Groups) { db.getSortedSetRange('groups:createtime', 0, -1, next); }, function (groups, next) { - async.each(groups, function (groupName, next) { - async.parallel([ - function (next) { - Groups.leave(groupName, uid, next); - }, - function (next) { - Groups.rejectMembership(groupName, uid, next); - }, - ], next); - }, next); + async.parallel([ + function (next) { + Groups.leave(groups, uid, next); + }, + function (next) { + Groups.rejectMembership(groups, uid, next); + }, + ], next); }, ], callback); }; @@ -335,13 +356,22 @@ module.exports = function (Groups) { cache.reset(); }); - function clearCache(uid, groupName) { - pubsub.publish('group:cache:del', { uid: uid, groupName: groupName }); - cache.del(uid + ':' + groupName); + function clearCache(uid, groupNames) { + if (!Array.isArray(groupNames)) { + groupNames = [groupNames]; + } + pubsub.publish('group:cache:del', { uid: uid, groupNames: groupNames }); + groupNames.forEach(function (groupName) { + cache.del(uid + ':' + groupName); + }); } pubsub.on('group:cache:del', function (data) { - cache.del(data.uid + ':' + data.groupName); + if (data && data.groupNames) { + data.groupNames.forEach(function (groupName) { + cache.del(data.uid + ':' + groupName); + }); + } }); Groups.isMember = function (uid, groupName, callback) { diff --git a/src/image.js b/src/image.js index f2afb21003..f99a73e3bc 100644 --- a/src/image.js +++ b/src/image.js @@ -20,6 +20,7 @@ image.resizeImage = function (data, callback) { extension: data.extension, width: data.width, height: data.height, + quality: data.quality, }, function (err) { callback(err); }); @@ -74,6 +75,9 @@ image.resizeImage = function (data, callback) { } }, function (image, next) { + if (data.quality) { + image.quality(data.quality); + } image.write(data.target || data.path, next); }, ], function (err) { diff --git a/src/install.js b/src/install.js index 9113103c52..24fd9580d6 100644 --- a/src/install.js +++ b/src/install.js @@ -451,11 +451,11 @@ function enableDefaultPlugins(next) { if (customDefaults && customDefaults.length) { try { - customDefaults = JSON.parse(customDefaults); + customDefaults = Array.isArray(customDefaults) ? customDefaults : JSON.parse(customDefaults); defaultEnabled = defaultEnabled.concat(customDefaults); } catch (e) { // Invalid value received - winston.warn('[install/enableDefaultPlugins] Invalid defaultPlugins value received. Ignoring.'); + winston.info('[install/enableDefaultPlugins] Invalid defaultPlugins value received. Ignoring.'); } } diff --git a/src/messaging.js b/src/messaging.js index 02ca02683e..6b0462eb0e 100644 --- a/src/messaging.js +++ b/src/messaging.js @@ -272,11 +272,12 @@ Messaging.canMessageUser = function (uid, toUid, callback) { async.parallel({ settings: async.apply(user.getSettings, toUid), isAdmin: async.apply(user.isAdministrator, uid), + isModerator: async.apply(user.isModeratorOfAnyCategory, uid), isFollowing: async.apply(user.isFollowing, toUid, uid), }, next); }, function (results, next) { - if (results.settings.restrictChat && !results.isAdmin && !results.isFollowing) { + if (results.settings.restrictChat && !results.isAdmin && !results.isModerator && !results.isFollowing) { return next(new Error('[[error:chat-restricted]]')); } diff --git a/src/meta/js.js b/src/meta/js.js index a6dc73331e..c2ccdabedf 100644 --- a/src/meta/js.js +++ b/src/meta/js.js @@ -85,7 +85,6 @@ JS.scripts = { 'public/vendor/semver/semver.browser.js', 'public/vendor/jquery/serializeObject/jquery.ba-serializeobject.min.js', 'public/vendor/jquery/deserialize/jquery.deserialize.min.js', - 'public/vendor/snackbar/snackbar.min.js', 'public/vendor/slideout/slideout.min.js', 'public/vendor/nprogress.min.js', ], diff --git a/src/meta/minifier.js b/src/meta/minifier.js index e14761a707..26bf048e93 100644 --- a/src/meta/minifier.js +++ b/src/meta/minifier.js @@ -2,7 +2,7 @@ var fs = require('fs'); var os = require('os'); -var uglifyjs = require('uglify-js'); +var uglify = require('uglify-es'); var async = require('async'); var winston = require('winston'); var less = require('less'); @@ -164,91 +164,84 @@ function concat(data, callback) { actions.concat = concat; function minifyJS_batch(data, callback) { - async.each(data.files, function (ref, next) { - var srcPath = ref.srcPath; - var destPath = ref.destPath; - var filename = ref.filename; - - fs.readFile(srcPath, 'utf8', function (err, file) { + async.each(data.files, function (fileObj, next) { + fs.readFile(fileObj.srcPath, 'utf8', function (err, source) { if (err) { return next(err); } - var scripts = {}; - scripts[filename] = file; - - try { - var minified = uglifyjs.minify(scripts, { - sourceMap: { - filename: filename, - url: filename + '.map', - includeSources: true, - }, - compress: false, - }); - - async.parallel([ - async.apply(fs.writeFile, destPath, minified.code), - async.apply(fs.writeFile, destPath + '.map', minified.map), - ], next); - } catch (e) { - next(e); - } + var filesToMinify = [ + { + srcPath: fileObj.srcPath, + filename: fileObj.filename, + source: source, + }, + ]; + minifyAndSave({ + files: filesToMinify, + destPath: fileObj.destPath, + filename: fileObj.filename, + }, next); }); }, callback); } actions.minifyJS_batch = minifyJS_batch; function minifyJS(data, callback) { - async.mapLimit(data.files, 1000, function (ref, next) { - var srcPath = ref.srcPath; - var filename = ref.filename; - - fs.readFile(srcPath, 'utf8', function (err, file) { + async.mapLimit(data.files, 1000, function (fileObj, next) { + fs.readFile(fileObj.srcPath, 'utf8', function (err, source) { if (err) { return next(err); } next(null, { - srcPath: srcPath, - filename: filename, - source: file, + srcPath: fileObj.srcPath, + filename: fileObj.filename, + source: source, }); }); - }, function (err, files) { + }, function (err, filesToMinify) { if (err) { return callback(err); } - var scripts = {}; - files.forEach(function (ref) { - if (!ref) { - return; - } - - scripts[ref.filename] = ref.source; - }); - - var minified = uglifyjs.minify(scripts, { - sourceMap: { - filename: data.filename, - url: data.filename + '.map', - includeSources: true, - }, - compress: false, - }); + minifyAndSave({ + files: filesToMinify, + destPath: data.destPath, + filename: data.filename, + }, callback); + }); +} +actions.minifyJS = minifyJS; - if (minified.error) { - return callback(minified.error); +function minifyAndSave(data, callback) { + var scripts = {}; + data.files.forEach(function (ref) { + if (!ref) { + return; } - async.parallel([ - async.apply(fs.writeFile, data.destPath, minified.code), - async.apply(fs.writeFile, data.destPath + '.map', minified.map), - ], callback); + scripts[ref.filename] = ref.source; + }); + + var minified = uglify.minify(scripts, { + sourceMap: { + filename: data.filename, + url: data.filename + '.map', + includeSources: true, + }, + compress: false, }); + + if (minified.error) { + return callback(minified.error); + } + + async.parallel([ + async.apply(fs.writeFile, data.destPath, minified.code), + async.apply(fs.writeFile, data.destPath + '.map', minified.map), + ], callback); } -actions.minifyJS = minifyJS; Minifier.js = {}; Minifier.js.bundle = function (data, minify, fork, callback) { @@ -280,7 +273,9 @@ function buildCSS(data, callback) { clean({ processImportFrom: ['local'], }), - ] : [autoprefixer]).process(lessOutput.css).then(function (result) { + ] : [autoprefixer]).process(lessOutput.css, { + from: undefined, + }).then(function (result) { process.nextTick(callback, null, { code: result.css }); }, function (err) { process.nextTick(callback, err); diff --git a/src/middleware/admin.js b/src/middleware/admin.js index 3086f045cc..1c72a31906 100644 --- a/src/middleware/admin.js +++ b/src/middleware/admin.js @@ -2,10 +2,14 @@ var async = require('async'); var winston = require('winston'); +var jsesc = require('jsesc'); +var nconf = require('nconf'); +var semver = require('semver'); + var user = require('../user'); var meta = require('../meta'); var plugins = require('../plugins'); -var jsesc = require('jsesc'); +var versions = require('../admin/versions'); var controllers = { api: require('../controllers/api'), @@ -54,6 +58,15 @@ module.exports = function (middleware) { configs: function (next) { meta.configs.list(next); }, + latestVersion: function (next) { + versions.getLatestVersion(function (err, result) { + if (err) { + winston.error('[acp] Failed to fetch latest version', err); + } + + next(null, err ? null : result); + }); + }, }, next); }, function (results, next) { @@ -67,6 +80,8 @@ module.exports = function (middleware) { }); acpPath = acpPath.join(' > '); + var version = nconf.get('version'); + var templateValues = { config: res.locals.config, configJSON: jsesc(JSON.stringify(res.locals.config), { isScriptContext: true }), @@ -81,6 +96,9 @@ module.exports = function (middleware) { env: !!process.env.NODE_ENV, title: (acpPath || 'Dashboard') + ' | NodeBB Admin Control Panel', bodyClass: data.bodyClass, + version: version, + latestVersion: results.latestVersion, + upgradeAvailable: results.latestVersion && semver.gt(results.latestVersion, version), }; templateValues.template = { name: res.locals.template }; diff --git a/src/middleware/header.js b/src/middleware/header.js index 00f01b1aba..f845d8b4bb 100644 --- a/src/middleware/header.js +++ b/src/middleware/header.js @@ -258,7 +258,7 @@ module.exports = function (middleware) { }; function modifyTitle(obj) { - var title = controllers.helpers.buildTitle('[[pages:home]]'); + var title = controllers.helpers.buildTitle(meta.config.homePageTitle || '[[pages:home]]'); obj.browserTitle = title; if (obj.metaTags) { diff --git a/src/middleware/headers.js b/src/middleware/headers.js index 035608eab6..60af68a894 100644 --- a/src/middleware/headers.js +++ b/src/middleware/headers.js @@ -14,7 +14,18 @@ module.exports = function (middleware) { }; if (meta.config['access-control-allow-origin']) { - headers['Access-Control-Allow-Origin'] = encodeURI(meta.config['access-control-allow-origin']); + var origins = meta.config['access-control-allow-origin'].split(','); + origins = origins.map(function (origin) { + return origin && origin.trim(); + }); + + if (origins.includes(req.get('origin'))) { + headers['Access-Control-Allow-Origin'] = encodeURI(req.get('origin')); + } + } + + if (meta.config['access-control-allow-credentials']) { + headers['Access-Control-Allow-Credentials'] = meta.config['access-control-allow-credentials']; } if (process.env.NODE_ENV === 'development') { diff --git a/src/middleware/render.js b/src/middleware/render.js index 1ab21ea351..4063fbae5a 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -133,7 +133,7 @@ module.exports = function (middleware) { var parts = clean.split('/').slice(0, 3); parts.forEach(function (p, index) { try { - p = decodeURIComponent(p); + p = utils.slugify(decodeURIComponent(p)); } catch (err) { winston.error(err); p = ''; diff --git a/src/posts/diffs.js b/src/posts/diffs.js index 1472e913e4..782115b74b 100644 --- a/src/posts/diffs.js +++ b/src/posts/diffs.js @@ -5,73 +5,113 @@ var validator = require('validator'); var diff = require('diff'); var db = require('../database'); +var meta = require('../meta'); var plugins = require('../plugins'); var translator = require('../translator'); -module.exports = function (Posts) { - Posts.diffs = {}; +var Diffs = {}; - Posts.diffs.exists = function (pid, callback) { - db.sortedSetCard('post:' + pid + ':diffs', function (err, numDiffs) { - return callback(err, numDiffs > 0); - }); - }; +Diffs.exists = function (pid, callback) { + if (parseInt(meta.config.enablePostHistory || 1, 10) !== 1) { + return callback(null, 0); + } - Posts.diffs.list = function (pid, callback) { - db.getSortedSetRangeWithScores('post:' + pid + ':diffs', 0, -1, function (err, diffs) { - callback(err, diffs ? diffs.map(function (diffObj) { - return diffObj.score; - }).reverse() : null); - }); - }; + db.listLength('post:' + pid + ':diffs', function (err, numDiffs) { + return callback(err, !!numDiffs); + }); +}; + +Diffs.get = function (pid, since, callback) { + async.waterfall([ + async.apply(db.getListRange.bind(db), 'post:' + pid + ':diffs', 0, -1), + function (timestamps, next) { + // Pass those made after `since`, and create keys + const keys = timestamps.filter(function (timestamp) { + return (parseInt(timestamp, 10) || 0) > since; + }).map(function (timestamp) { + return 'diff:' + pid + '.' + timestamp; + }); + + db.getObjects(keys, next); + }, + ], callback); +}; + +Diffs.list = function (pid, callback) { + db.getListRange('post:' + pid + ':diffs', 0, -1, callback); +}; + +Diffs.save = function (pid, oldContent, newContent, callback) { + const now = Date.now(); + const patch = diff.createPatch('', newContent, oldContent); + async.parallel([ + async.apply(db.listPrepend.bind(db), 'post:' + pid + ':diffs', now), + async.apply(db.setObject.bind(db), 'diff:' + pid + '.' + now, { + pid: pid, + patch: patch, + }), + ], function (err) { + // No return arguments passed back + callback(err); + }); +}; - Posts.diffs.save = function (pid, oldContent, newContent, callback) { - db.sortedSetAdd('post:' + pid + ':diffs', Date.now(), diff.createPatch('', newContent, oldContent), callback); - }; +Diffs.load = function (pid, since, uid, callback) { + var Posts = require('../posts'); - Posts.diffs.load = function (pid, since, uid, callback) { - // Retrieves all diffs made since `since` and replays them to reconstruct what the post looked like at `since` - since = parseInt(since, 10); + // Retrieves all diffs made since `since` and replays them to reconstruct what the post looked like at `since` + since = parseInt(since, 10); - if (isNaN(since) || since > Date.now()) { - return callback(new Error('[[error:invalid-data]]')); + if (isNaN(since) || since > Date.now()) { + return callback(new Error('[[error:invalid-data]]')); + } + + async.parallel({ + post: async.apply(Posts.getPostSummaryByPids, [pid], uid, { + parse: false, + }), + diffs: async.apply(Posts.diffs.get, pid, since), + }, function (err, data) { + if (err) { + return callback(err); } - async.parallel({ - post: async.apply(Posts.getPostSummaryByPids, [pid], uid, { - parse: false, - }), - diffs: async.apply(db.getSortedSetRangeByScore.bind(db), 'post:' + pid + ':diffs', 0, -1, since, Date.now()), - }, function (err, data) { - if (err) { - return callback(err); - } - - data.post = data.post[0]; - data.post.content = validator.unescape(data.post.content); - - // Replace content with re-constructed content from that point in time - data.post.content = data.diffs.reverse().reduce(function (content, diffString) { - return diff.applyPatch(content, diffString, { - fuzzFactor: 1, - }); - }, data.post.content); - - // Clear editor data (as it is outdated for this content) - delete data.post.edited; - data.post.editor = null; - - data.post.content = String(data.post.content || ''); - - async.waterfall([ - function (next) { - plugins.fireHook('filter:parse.post', { postData: data.post }, next); - }, - function (data, next) { - data.postData.content = translator.escape(data.postData.content); - next(null, data.postData); - }, - ], callback); + postDiffLoad(data); + + async.waterfall([ + function (next) { + plugins.fireHook('filter:parse.post', { postData: data.post }, next); + }, + function (data, next) { + data.postData.content = translator.escape(data.postData.content); + next(null, data.postData); + }, + ], callback); + }); +}; + +function postDiffLoad(data) { + data.post = data.post[0]; + data.post.content = validator.unescape(data.post.content); + + // Replace content with re-constructed content from that point in time + data.post.content = data.diffs.reduce(function (content, currentDiff) { + return diff.applyPatch(content, currentDiff.patch, { + fuzzFactor: 1, }); - }; + }, data.post.content); + + // Clear editor data (as it is outdated for this content) + delete data.post.edited; + data.post.editor = null; + + data.post.content = String(data.post.content || ''); +} + +module.exports = function (Posts) { + Posts.diffs = {}; + + Object.keys(Diffs).forEach(function (property) { + Posts.diffs[property] = Diffs[property]; + }); }; diff --git a/src/posts/edit.js b/src/posts/edit.js index 2ca8e3b534..1f9ffcf5ad 100644 --- a/src/posts/edit.js +++ b/src/posts/edit.js @@ -5,6 +5,7 @@ var validator = require('validator'); var _ = require('lodash'); var db = require('../database'); +var meta = require('../meta'); var topics = require('../topics'); var user = require('../user'); var privileges = require('../privileges'); @@ -66,6 +67,10 @@ module.exports = function (Posts) { Posts.setPostFields(data.pid, postData, next); }, function (next) { + if (parseInt(meta.config.enablePostHistory || 1, 10) !== 1) { + return setImmediate(next); + } + Posts.diffs.save(data.pid, oldContent, data.content, next); }, function (next) { diff --git a/src/search.js b/src/search.js index 893731d473..f0726f60d6 100644 --- a/src/search.js +++ b/src/search.js @@ -56,8 +56,14 @@ function searchInContent(data, callback) { }, function (results, next) { function doSearch(type, searchIn, next) { - if (searchIn.indexOf(data.searchIn) !== -1) { - search.searchQuery(type, data.query, results.searchCids, results.searchUids, next); + if (searchIn.includes(data.searchIn)) { + plugins.fireHook('filter:search.query', { + index: type, + content: data.query, + matchWords: data.matchWords || 'all', + cid: results.searchCids, + uid: results.searchUids, + }, next); } else { next(null, []); } @@ -430,13 +436,3 @@ function getSearchUids(data, callback) { callback(null, []); } } - -search.searchQuery = function (index, content, cids, uids, callback) { - plugins.fireHook('filter:search.query', { - index: index, - content: content, - cid: cids, - uid: uids, - }, callback); -}; - diff --git a/src/sitemap.js b/src/sitemap.js index 8ed9971e7b..588d39e07e 100644 --- a/src/sitemap.js +++ b/src/sitemap.js @@ -30,7 +30,7 @@ sitemap.render = function (callback) { db.getObjectField('global', 'topicCount', next); }, function (topicCount, next) { - var numPages = Math.max(0, topicCount / topicsPerPage); + var numPages = Math.ceil(Math.max(0, topicCount / topicsPerPage)); for (var x = 1; x <= numPages; x += 1) { returnData.topics.push(x); } diff --git a/src/socket.io/admin.js b/src/socket.io/admin.js index 668dea0dbc..2eab0eb8d1 100644 --- a/src/socket.io/admin.js +++ b/src/socket.io/admin.js @@ -58,7 +58,7 @@ SocketAdmin.before = function (socket, method, data, next) { ], next); }; -SocketAdmin.reload = function (socket, data, callback) { +SocketAdmin.restart = function (socket, data, callback) { events.log({ type: 'restart', uid: socket.uid, @@ -68,7 +68,7 @@ SocketAdmin.reload = function (socket, data, callback) { callback(); }; -SocketAdmin.restart = function (socket, data, callback) { +SocketAdmin.reload = function (socket, data, callback) { async.waterfall([ function (next) { require('../meta/build').buildAll(next); @@ -228,9 +228,8 @@ SocketAdmin.settings.clearSitemapCache = function (socket, data, callback) { }; SocketAdmin.email.test = function (socket, data, callback) { - var site_title = meta.config.title || 'NodeBB'; var payload = { - subject: '[' + site_title + '] Test Email', + subject: 'Test Email', }; switch (data.template) { diff --git a/src/socket.io/admin/categories.js b/src/socket.io/admin/categories.js index 7bd491c8cd..6ccc20c873 100644 --- a/src/socket.io/admin/categories.js +++ b/src/socket.io/admin/categories.js @@ -76,9 +76,19 @@ Categories.setPrivilege = function (socket, data, callback) { if (Array.isArray(data.privilege)) { async.each(data.privilege, function (privilege, next) { groups[data.set ? 'join' : 'leave']('cid:' + data.cid + ':privileges:' + privilege, data.member, next); - }, callback); + }, onSetComplete); } else { - groups[data.set ? 'join' : 'leave']('cid:' + data.cid + ':privileges:' + data.privilege, data.member, callback); + groups[data.set ? 'join' : 'leave']('cid:' + data.cid + ':privileges:' + data.privilege, data.member, onSetComplete); + } + + function onSetComplete() { + events.log({ + uid: socket.uid, + ip: socket.ip, + privilege: data.privilege, + action: data.set ? 'grant' : 'rescind', + target: data.member, + }, callback); } }; diff --git a/src/socket.io/posts/move.js b/src/socket.io/posts/move.js index 6ef596c1c2..fb1cc20756 100644 --- a/src/socket.io/posts/move.js +++ b/src/socket.io/posts/move.js @@ -7,29 +7,34 @@ var socketHelpers = require('../helpers'); module.exports = function (SocketPosts) { SocketPosts.movePost = function (socket, data, callback) { + SocketPosts.movePosts(socket, { pids: [data.pid], tid: data.tid }, callback); + }; + + SocketPosts.movePosts = function (socket, data, callback) { if (!socket.uid) { return callback(new Error('[[error:not-logged-in]]')); } - if (!data || !data.pid || !data.tid) { + if (!data || !Array.isArray(data.pids) || !data.tid) { return callback(new Error('[[error:invalid-data]]')); } + async.eachSeries(data.pids, function (pid, next) { + async.waterfall([ + function (next) { + privileges.posts.canMove(pid, socket.uid, next); + }, + function (canMove, next) { + if (!canMove) { + return next(new Error('[[error:no-privileges]]')); + } - async.waterfall([ - function (next) { - privileges.posts.canMove(data.pid, socket.uid, next); - }, - function (canMove, next) { - if (!canMove) { - return next(new Error('[[error:no-privileges]]')); - } - - topics.movePostToTopic(data.pid, data.tid, next); - }, - function (next) { - socketHelpers.sendNotificationToPostOwner(data.pid, socket.uid, 'move', 'notifications:moved_your_post'); - next(); - }, - ], callback); + topics.movePostToTopic(pid, data.tid, next); + }, + function (next) { + socketHelpers.sendNotificationToPostOwner(pid, socket.uid, 'move', 'notifications:moved_your_post'); + next(); + }, + ], next); + }, callback); }; }; diff --git a/src/socket.io/user.js b/src/socket.io/user.js index 1ed67276c4..36026a7f28 100644 --- a/src/socket.io/user.js +++ b/src/socket.io/user.js @@ -88,15 +88,20 @@ SocketUser.reset.send = function (socket, email, callback) { } user.reset.send(email, function (err) { - if (err && err.message !== '[[error:invalid-email]]') { - return callback(err); - } - if (err && err.message === '[[error:invalid-email]]') { - winston.verbose('[user/reset] Invalid email attempt: ' + email); - return setTimeout(callback, 2500); + if (err) { + switch (err.message) { + case '[[error:invalid-email]]': + winston.warn('[user/reset] Invalid email attempt: ' + email + ' by IP ' + socket.ip + (socket.uid ? ' (uid: ' + socket.uid + ')' : '')); + err = null; + break; + + case '[[error:reset-rate-limited]]': + err = null; + break; + } } - callback(); + setTimeout(callback.bind(err), 2500); }); }; diff --git a/src/socket.io/user/profile.js b/src/socket.io/user/profile.js index d9c89df6a0..9d88713028 100644 --- a/src/socket.io/user/profile.js +++ b/src/socket.io/user/profile.js @@ -103,6 +103,13 @@ module.exports = function (SocketUser) { ], callback); } + SocketUser.checkPassword = function (socket, data, callback) { + isPrivilegedOrSelfAndPasswordMatch(socket.uid, data, function (err) { + // Return a bool (without delayed response to prevent brute-force checking of password validity) + setTimeout(callback.bind(null, null, !err), 1000); + }); + }; + SocketUser.changePassword = function (socket, data, callback) { if (!socket.uid) { return callback(new Error('[[error:invalid-uid]]')); diff --git a/src/socket.io/user/search.js b/src/socket.io/user/search.js index 83f380a8c8..87463e3ed1 100644 --- a/src/socket.io/user/search.js +++ b/src/socket.io/user/search.js @@ -26,6 +26,7 @@ module.exports = function (SocketUser) { onlineOnly: data.onlineOnly, bannedOnly: data.bannedOnly, flaggedOnly: data.flaggedOnly, + paginate: data.paginate, uid: socket.uid, }, next); }, diff --git a/src/start.js b/src/start.js index b7084dabde..c8b0905b32 100644 --- a/src/start.js +++ b/src/start.js @@ -153,11 +153,21 @@ function restart() { function shutdown(code) { winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.'); - require('./database').close(); - winston.info('[app] Database connection closed.'); - require('./webserver').server.close(); - winston.info('[app] Web server closed to connections.'); - - winston.info('[app] Shutdown complete.'); - process.exit(code || 0); + async.waterfall([ + function (next) { + require('./webserver').destroy(next); + }, + function (next) { + winston.info('[app] Web server closed to connections.'); + require('./database').close(next); + }, + ], function (err) { + if (err) { + winston.error(err); + return process.exit(code || 0); + } + winston.info('[app] Database connection closed.'); + winston.info('[app] Shutdown complete.'); + process.exit(code || 0); + }); } diff --git a/src/topics/delete.js b/src/topics/delete.js index 6121868c00..135a82be00 100644 --- a/src/topics/delete.js +++ b/src/topics/delete.js @@ -116,7 +116,7 @@ module.exports = function (Topics) { function (_mainPid, next) { mainPid = _mainPid; batch.processSortedSet('tid:' + tid + ':posts', function (pids, next) { - async.eachLimit(pids, 10, function (pid, next) { + async.eachSeries(pids, function (pid, next) { posts.purge(pid, uid, next); }, next); }, { alwaysStartAt: 0 }, next); diff --git a/src/topics/suggested.js b/src/topics/suggested.js index 0d7947e4d4..187af3706a 100644 --- a/src/topics/suggested.js +++ b/src/topics/suggested.js @@ -76,6 +76,7 @@ module.exports = function (Topics) { search.search({ query: topicData.title, searchIn: 'titles', + matchWords: 'any', categories: [topicData.cid], uid: uid, page: 1, diff --git a/src/upgrades/1.8.1/diffs_zset_to_listhash.js b/src/upgrades/1.8.1/diffs_zset_to_listhash.js new file mode 100644 index 0000000000..b7a2bba296 --- /dev/null +++ b/src/upgrades/1.8.1/diffs_zset_to_listhash.js @@ -0,0 +1,57 @@ +'use strict'; + +var db = require('../../database'); +const batch = require('../../batch'); + +var async = require('async'); + +module.exports = { + name: 'Reformatting post diffs to be stored in lists and hash instead of single zset', + timestamp: Date.UTC(2017, 2, 15), + method: function (callback) { + var progress = this.progress; + + batch.processSortedSet('posts:pid', function (pids, next) { + async.each(pids, function (pid, next) { + db.getSortedSetRangeWithScores('post:' + pid + ':diffs', 0, -1, function (err, diffs) { + if (err) { + return next(err); + } + + if (!diffs || !diffs.length) { + progress.incr(); + return next(); + } + + // For each diff, push to list + async.each(diffs, function (diff, next) { + async.series([ + async.apply(db.delete.bind(db), 'post:' + pid + ':diffs'), + async.apply(db.listPrepend.bind(db), 'post:' + pid + ':diffs', diff.score), + async.apply(db.setObject.bind(db), 'diff:' + pid + '.' + diff.score, { + pid: pid, + patch: diff.value, + }), + ], next); + }, function (err) { + if (err) { + return next(err); + } + + progress.incr(); + return next(); + }); + }); + }, function (err) { + if (err) { + // Probably type error, ok to incr and continue + progress.incr(); + } + + return next(); + }); + }, { + progress: progress, + }, callback); + }, +}; diff --git a/src/user.js b/src/user.js index 6661dca8a7..caf47fdcb9 100644 --- a/src/user.js +++ b/src/user.js @@ -110,6 +110,9 @@ User.getUsers = function (uids, uid, callback) { }; User.getStatus = function (userData) { + if (parseInt(userData.uid, 10) <= 0) { + return 'offline'; + } var isOnline = (Date.now() - parseInt(userData.lastonline, 10)) < 300000; return isOnline ? (userData.status || 'online') : 'offline'; }; diff --git a/src/user/create.js b/src/user/create.js index 8b684cdacb..f2a9b87f55 100644 --- a/src/user/create.js +++ b/src/user/create.js @@ -8,6 +8,8 @@ var plugins = require('../plugins'); var groups = require('../groups'); var meta = require('../meta'); +var zxcvbn = require('zxcvbn'); + module.exports = function (User) { User.create = function (data, callback) { data.username = data.username.trim(); @@ -178,19 +180,30 @@ module.exports = function (User) { }); }; - User.isPasswordValid = function (password, callback) { + User.isPasswordValid = function (password, minStrength, callback) { + if (typeof minStrength === 'function' && !callback) { + callback = minStrength; + minStrength = meta.config.minimumPasswordStrength; + } + + // Sanity checks: Checks if defined and is string if (!password || !utils.isPasswordValid(password)) { return callback(new Error('[[error:invalid-password]]')); } if (password.length < meta.config.minimumPasswordLength) { - return callback(new Error('[[user:change_password_error_length]]')); + return callback(new Error('[[reset_password:password_too_short]]')); } - if (password.length > 4096) { + if (password.length > 512) { return callback(new Error('[[error:password-too-long]]')); } + var strength = zxcvbn(password); + if (strength.score < minStrength) { + return callback(new Error('[[user:weak_password]]')); + } + callback(); }; diff --git a/src/user/delete.js b/src/user/delete.js index 0f1ad61047..ace9dd969c 100644 --- a/src/user/delete.js +++ b/src/user/delete.js @@ -50,15 +50,12 @@ module.exports = function (User) { var userData; async.waterfall([ function (next) { - User.exists(uid, next); + db.getObject('user:' + uid, next); }, - function (exists, next) { - if (!exists) { + function (_userData, next) { + if (!_userData || !_userData.username) { return callback(); } - User.getUserFields(uid, ['username', 'userslug', 'fullname', 'email'], next); - }, - function (_userData, next) { userData = _userData; plugins.fireHook('static:user.delete', { uid: uid }, next); }, diff --git a/src/user/digest.js b/src/user/digest.js index 876e1b7a07..3c74fcdfaa 100644 --- a/src/user/digest.js +++ b/src/user/digest.js @@ -134,7 +134,7 @@ Digest.send = function (data, callback) { }); emailsSent += 1; emailer.send('digest', userObj.uid, { - subject: '[' + meta.config.title + '] [[email:digest.subject, ' + (now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate()) + ']]', + subject: '[[email:digest.subject, ' + (now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate()) + ']]', username: userObj.username, userslug: userObj.userslug, notifications: notifications, diff --git a/src/user/invite.js b/src/user/invite.js index e211a67bc7..a7d6401982 100644 --- a/src/user/invite.js +++ b/src/user/invite.js @@ -60,7 +60,8 @@ module.exports = function (User) { var token = utils.generateUUID(); var registerLink = nconf.get('url') + '/register?token=' + token + '&email=' + encodeURIComponent(email); - var expireIn = (parseInt(meta.config.inviteExpiration, 10) || 1) * 86400000; + var expireDays = (parseInt(meta.config.inviteExpiration, 10) || 7); + var expireIn = expireDays * 86400000; async.waterfall([ function (next) { @@ -93,6 +94,7 @@ module.exports = function (User) { subject: subject, username: username, template: 'invitation', + expireDays: expireDays, }; // Append default data to this email payload diff --git a/src/user/notifications.js b/src/user/notifications.js index 04bc0fae9f..851a2d2e94 100644 --- a/src/user/notifications.js +++ b/src/user/notifications.js @@ -96,16 +96,10 @@ function deleteUserNids(nids, uid, callback) { if (!nids.length) { return setImmediate(callback); } - async.parallel([ - function (next) { - db.sortedSetRemove('uid:' + uid + ':notifications:read', nids, next); - }, - function (next) { - db.sortedSetRemove('uid:' + uid + ':notifications:unread', nids, next); - }, - ], function (err) { - callback(err); - }); + db.sortedSetRemove([ + 'uid:' + uid + ':notifications:read', + 'uid:' + uid + ':notifications:unread', + ], nids, callback); } function getNotifications(uid, start, stop, callback) { diff --git a/src/user/password.js b/src/user/password.js index 7c9e927275..d644fd2e8f 100644 --- a/src/user/password.js +++ b/src/user/password.js @@ -28,7 +28,7 @@ module.exports = function (User) { return callback(null, true); } - User.isPasswordValid(password, next); + User.isPasswordValid(password, 0, next); }, function (next) { Password.compare(password, hashedPassword, next); diff --git a/src/user/reset.js b/src/user/reset.js index 5b6e183b27..c287776ec5 100644 --- a/src/user/reset.js +++ b/src/user/reset.js @@ -51,7 +51,7 @@ function canGenerate(uid, callback) { }, function (score, next) { if (score > Date.now() - (1000 * 60)) { - return next(new Error('[[error:cant-reset-password-more-than-once-a-minute]]')); + return next(new Error('[[error:reset-rate-limited]]')); } next(); }, diff --git a/src/user/settings.js b/src/user/settings.js index 4268db7515..c654d2dd99 100644 --- a/src/user/settings.js +++ b/src/user/settings.js @@ -137,14 +137,22 @@ module.exports = function (User) { incomingChatSound: data.incomingChatSound, outgoingChatSound: data.outgoingChatSound, upvoteNotifFreq: data.upvoteNotifFreq, - notificationType_upvote: data.notificationType_upvote, - 'notificationType_new-topic': data['notificationType_new-topic'], - 'notificationType_new-reply': data['notificationType_new-reply'], - notificationType_follow: data.notificationType_follow, - 'notificationType_new-chat': data['notificationType_new-chat'], - 'notificationType_group-invite': data['notificationType_group-invite'], }; + var notificationTypes = [ + 'notificationType_upvote', 'notificationType_new-topic', 'notificationType_new-reply', + 'notificationType_follow', 'notificationType_new-chat', 'notificationType_group-invite', + 'notificationType_new-register', 'notificationType_post-queue', 'notificationType_new-post-flag', + 'notificationType_new-user-flag', + ]; + + notificationTypes.forEach(function (notificationType) { + if (data[notificationType]) { + settings[notificationType] = data[notificationType]; + } + }); + + if (data.bootswatchSkin) { settings.bootswatchSkin = data.bootswatchSkin; } diff --git a/src/views/admin/footer.tpl b/src/views/admin/footer.tpl index de228ce0d7..1f6d36eb70 100644 --- a/src/views/admin/footer.tpl +++ b/src/views/admin/footer.tpl @@ -3,10 +3,7 @@
-
-
-
-
+
diff --git a/src/views/admin/settings/uploads.tpl b/src/views/admin/settings/uploads.tpl index 9ccb2c6c9b..e523c928c5 100644 --- a/src/views/admin/settings/uploads.tpl +++ b/src/views/admin/settings/uploads.tpl @@ -28,6 +28,14 @@

+
+ + +

+ [[admin/settings/uploads:resize-image-quality-help]] +

+
+
diff --git a/src/views/admin/settings/user.tpl b/src/views/admin/settings/user.tpl index 02286cc636..5b1a003068 100644 --- a/src/views/admin/settings/user.tpl +++ b/src/views/admin/settings/user.tpl @@ -176,7 +176,7 @@
- +

[[admin/settings/user:invite-expiration-help]]

@@ -292,77 +292,14 @@
+ +
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- +
- @@ -370,6 +307,8 @@
+ + diff --git a/src/views/emails/invitation.tpl b/src/views/emails/invitation.tpl index da800eebdb..799ac67fd5 100644 --- a/src/views/emails/invitation.tpl +++ b/src/views/emails/invitation.tpl @@ -19,6 +19,7 @@

[[email:greeting_no_name]]

[[email:invitation.text1, {username}, {site_title}]]

+

[[email:invitation.text2, {expireDays}]]

diff --git a/src/webserver.js b/src/webserver.js index 23c3315f3d..89e710c9c2 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -55,6 +55,25 @@ server.on('error', function (err) { throw err; }); +// see https://github.com/isaacs/server-destroy/blob/master/index.js +var connections = {}; +server.on('connection', function (conn) { + var key = conn.remoteAddress + ':' + conn.remotePort; + connections[key] = conn; + conn.on('close', function () { + delete connections[key]; + }); +}); + +module.exports.destroy = function (callback) { + server.close(callback); + for (var key in connections) { + if (connections.hasOwnProperty(key)) { + connections[key].destroy(); + } + } +}; + module.exports.listen = function (callback) { callback = callback || function () { }; emailer.registerApp(app); @@ -250,7 +269,7 @@ function setupAutoLocale(app, callback) { function listen(callback) { callback = callback || function () { }; var port = nconf.get('port'); - var isSocket = isNaN(port); + var isSocket = isNaN(port) && !Array.isArray(port); var socketPath = isSocket ? nconf.get('port') : ''; if (Array.isArray(port)) { diff --git a/src/widgets/index.js b/src/widgets/index.js index 1d60664247..d950429ce5 100644 --- a/src/widgets/index.js +++ b/src/widgets/index.js @@ -9,6 +9,7 @@ var plugins = require('../plugins'); var translator = require('../translator'); var db = require('../database'); var apiController = require('../controllers/api'); +var meta = require('../meta'); var widgets = module.exports; @@ -61,15 +62,17 @@ widgets.render = function (uid, options, callback) { }; function renderWidget(widget, uid, options, callback) { + var userLang; async.waterfall([ function (next) { if (options.res.locals.isAPI) { apiController.loadConfig(options.req, next); } else { - next(null, options.res.locals.config); + next(null, options.res.locals.config || {}); } }, function (config, next) { + userLang = config.userLang || meta.config.defaultLang || 'en-GB'; var templateData = _.assign({ }, options.templateData, { config: config }); plugins.fireHook('filter:widget.render:' + widget.widget, { uid: uid, @@ -95,13 +98,14 @@ function renderWidget(widget, uid, options, callback) { Benchpress.compileParse(widget.data.container, { title: widget.data.title, body: html, + template: data.templateData.template, }, next); } else { next(null, html); } }, function (html, next) { - translator.translate(html, function (translatedHtml) { + translator.translate(html, userLang, function (translatedHtml) { next(null, { html: translatedHtml }); }); }, diff --git a/test/database/hash.js b/test/database/hash.js index cd64acba56..b053b111ed 100644 --- a/test/database/hash.js +++ b/test/database/hash.js @@ -406,6 +406,16 @@ describe('Hash methods', function () { done(); }); }); + + it('should decrement multiple objects field by 1 and return an array of new values', function (done) { + db.decrObjectField(['testObject13', 'testObject14', 'decrTestObject'], 'age', function (err, data) { + assert.ifError(err); + assert.equal(data[0], 97); + assert.equal(data[1], -1); + assert.equal(data[2], -1); + done(); + }); + }); }); describe('incrObjectFieldBy()', function () { diff --git a/test/database/keys.js b/test/database/keys.js index cdd8cc9ab4..6b187b4e3d 100644 --- a/test/database/keys.js +++ b/test/database/keys.js @@ -27,6 +27,14 @@ describe('Key methods', function () { }); }); + it('should return null if key does not exist', function (done) { + db.get('doesnotexist', function (err, value) { + assert.ifError(err); + assert.equal(value, null); + done(); + }); + }); + it('should return true if key exist', function (done) { db.exists('testKey', function (err, exists) { assert.ifError(err); diff --git a/test/database/list.js b/test/database/list.js index 063a316b2d..23768eb85d 100644 --- a/test/database/list.js +++ b/test/database/list.js @@ -200,4 +200,19 @@ describe('List methods', function () { }); }); }); + + + it('should get the length of a list', function (done) { + db.listAppend('getLengthList', 1, function (err) { + assert.ifError(err); + db.listAppend('getLengthList', 2, function (err) { + assert.ifError(err); + db.listLength('getLengthList', function (err, length) { + assert.ifError(err); + assert.equal(length, 2); + done(); + }); + }); + }); + }); }); diff --git a/test/database/sets.js b/test/database/sets.js index eeafe0ba57..daef0a6d4c 100644 --- a/test/database/sets.js +++ b/test/database/sets.js @@ -188,6 +188,42 @@ describe('Set methods', function () { }); }); }); + + it('should remove multiple elements from set', function (done) { + db.setAdd('multiRemoveSet', [1, 2, 3, 4, 5], function (err) { + assert.ifError(err); + db.setRemove('multiRemoveSet', [1, 3, 5], function (err) { + assert.ifError(err); + db.getSetMembers('multiRemoveSet', function (err, members) { + assert.ifError(err); + assert(members.includes('2')); + assert(members.includes('4')); + done(); + }); + }); + }); + }); + + it('should remove multiple values from multiple keys', function (done) { + db.setAdd('multiSetTest1', ['one', 'two', 'three', 'four'], function (err) { + assert.ifError(err); + db.setAdd('multiSetTest2', ['three', 'four', 'five', 'six'], function (err) { + assert.ifError(err); + db.setRemove(['multiSetTest1', 'multiSetTest2'], ['three', 'four', 'five', 'doesnt exist'], function (err) { + assert.ifError(err); + db.getSetsMembers(['multiSetTest1', 'multiSetTest2'], function (err, members) { + assert.ifError(err); + assert.equal(members[0].length, 2); + assert.equal(members[1].length, 1); + assert(members[0].includes('one')); + assert(members[0].includes('two')); + assert(members[1].includes('six')); + done(); + }); + }); + }); + }); + }); }); describe('setsRemove()', function () { diff --git a/test/database/sorted.js b/test/database/sorted.js index 08799513b2..948ab29f32 100644 --- a/test/database/sorted.js +++ b/test/database/sorted.js @@ -642,6 +642,62 @@ describe('Sorted Set methods', function () { }); }); }); + + it('should remove multiple values from multiple keys', function (done) { + db.sortedSetAdd('multiTest1', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], function (err) { + assert.ifError(err); + db.sortedSetAdd('multiTest2', [3, 4, 5, 6], ['three', 'four', 'five', 'six'], function (err) { + assert.ifError(err); + db.sortedSetRemove(['multiTest1', 'multiTest2'], ['two', 'three', 'four', 'five', 'doesnt exist'], function (err) { + assert.ifError(err); + db.getSortedSetsMembers(['multiTest1', 'multiTest2'], function (err, members) { + assert.ifError(err); + assert.equal(members[0].length, 1); + assert.equal(members[1].length, 1); + assert.deepEqual(members, [['one'], ['six']]); + done(); + }); + }); + }); + }); + }); + + it('should remove value from multiple keys', function (done) { + db.sortedSetAdd('multiTest3', [1, 2, 3, 4], ['one', 'two', 'three', 'four'], function (err) { + assert.ifError(err); + db.sortedSetAdd('multiTest4', [3, 4, 5, 6], ['three', 'four', 'five', 'six'], function (err) { + assert.ifError(err); + db.sortedSetRemove(['multiTest3', 'multiTest4'], 'three', function (err) { + assert.ifError(err); + db.getSortedSetsMembers(['multiTest3', 'multiTest4'], function (err, members) { + assert.ifError(err); + assert.deepEqual(members, [['one', 'two', 'four'], ['four', 'five', 'six']]); + done(); + }); + }); + }); + }); + }); + + it('should remove multiple values from multiple keys', function (done) { + db.sortedSetAdd('multiTest5', [1], ['one'], function (err) { + assert.ifError(err); + db.sortedSetAdd('multiTest6', [2], ['two'], function (err) { + assert.ifError(err); + db.sortedSetAdd('multiTest7', [3], ['three'], function (err) { + assert.ifError(err); + db.sortedSetRemove(['multiTest5', 'multiTest6', 'multiTest7'], ['one', 'two', 'three'], function (err) { + assert.ifError(err); + db.getSortedSetsMembers(['multiTest5', 'multiTest6', 'multiTest7'], function (err, members) { + assert.ifError(err); + assert.deepEqual(members, [[], [], []]); + done(); + }); + }); + }); + }); + }); + }); }); describe('sortedSetsRemove()', function () { diff --git a/test/emailer.js b/test/emailer.js index 40a41e6a3d..86f96997c5 100644 --- a/test/emailer.js +++ b/test/emailer.js @@ -5,6 +5,7 @@ var assert = require('assert'); var fs = require('fs'); var path = require('path'); +var db = require('./mocks/databasemock'); var Plugins = require('../src/plugins'); var Emailer = require('../src/emailer'); var Meta = require('../src/meta'); @@ -52,7 +53,7 @@ describe('emailer', function () { method: function (data, next) { assert(data); assert.equal(data.to, email); - assert.equal(data.subject, params.subject); + assert.equal(data.subject, '[NodeBB] ' + params.subject); next(error); }, diff --git a/test/meta.js b/test/meta.js index 451184d63b..008be48975 100644 --- a/test/meta.js +++ b/test/meta.js @@ -2,6 +2,8 @@ var assert = require('assert'); var async = require('async'); +var request = require('request'); +var nconf = require('nconf'); var db = require('./mocks/databasemock'); var meta = require('../src/meta'); @@ -300,4 +302,59 @@ describe('meta', function () { process.execArgv = oldArgv; }); }); + + describe('Access-Control-Allow-Origin', function () { + it('Access-Control-Allow-Origin header should be empty', function (done) { + var jar = request.jar(); + request.get(nconf.get('url') + '/api/search?term=bug', { + form: {}, + json: true, + jar: jar, + }, function (err, response, body) { + assert.ifError(err); + assert.equal(response.headers['access-control-allow-origin'], undefined); + done(); + }); + }); + + it('should set proper Access-Control-Allow-Origin header', function (done) { + var jar = request.jar(); + var oldValue = meta.config['access-control-allow-origin']; + meta.config['access-control-allow-origin'] = 'test.com, mydomain.com'; + request.get(nconf.get('url') + '/api/search?term=bug', { + form: { + }, + json: true, + jar: jar, + headers: { + origin: 'mydomain.com', + }, + }, function (err, response, body) { + assert.ifError(err); + assert.equal(response.headers['access-control-allow-origin'], 'mydomain.com'); + meta.config['access-control-allow-origin'] = oldValue; + done(err); + }); + }); + + it('Access-Control-Allow-Origin header should be empty if origin does not match', function (done) { + var jar = request.jar(); + var oldValue = meta.config['access-control-allow-origin']; + meta.config['access-control-allow-origin'] = 'test.com, mydomain.com'; + request.get(nconf.get('url') + '/api/search?term=bug', { + form: { + }, + json: true, + jar: jar, + headers: { + origin: 'notallowed.com', + }, + }, function (err, response, body) { + assert.ifError(err); + assert.equal(response.headers['access-control-allow-origin'], undefined); + meta.config['access-control-allow-origin'] = oldValue; + done(err); + }); + }); + }); }); diff --git a/test/mocks/databasemock.js b/test/mocks/databasemock.js index 6553363dc4..6d3f858998 100644 --- a/test/mocks/databasemock.js +++ b/test/mocks/databasemock.js @@ -12,6 +12,7 @@ var nconf = require('nconf'); var url = require('url'); var errorText; +var packageInfo = require('../../package'); nconf.file({ file: path.join(__dirname, '../../config.json') }); nconf.defaults({ @@ -120,6 +121,8 @@ before(function (done) { nconf.set('theme_config', path.join(nconf.get('themes_path'), 'nodebb-theme-persona', 'theme.json')); nconf.set('bcrypt_rounds', 1); + nconf.set('version', packageInfo.version); + meta.dependencies.check(next); }, function (next) { diff --git a/test/user.js b/test/user.js index cc3097a228..f96205a5e4 100644 --- a/test/user.js +++ b/test/user.js @@ -71,7 +71,7 @@ describe('User', function () { it('should error with invalid password', function (done) { User.create({ username: 'test', password: '1' }, function (err) { - assert.equal(err.message, '[[user:change_password_error_length]]'); + assert.equal(err.message, '[[reset_password:password_too_short]]'); done(); }); });