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?
المنتدى يعمل على أحدث إصدار
", - "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": "هل أن متأكد أنك تريد حذف حسابك؟NodeBB не може да се свърже с пакетния мениджър. Искате ли да продължите с инсталацията на най-новата версия?
Вие използвате най-новата версия
", - "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": "Наистина ли искате да изтриете акаунта си?NodeBB could not reach the package manager, proceed with installation of latest version?
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": "আপনি কি নিশ্চিত যে আপনি আপনার একাউন্ট মুছে ফেলতে চান ?NodeBB se nemohl připojit ke správce balíčku, pokračovat v instalaci poslední verze?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB konnte den Paket-Manager nicht erreichen. Willst Du mit der Installation der neuesten Version fortfahren
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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": "Είσαι σίγουρος/η πως θέλεις να διαγράψεις τον λογαριασμό σου;NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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.NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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": "آیا مطمئنید که میخواهید حساب کاربری خود را حذف کنید؟NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB n'a pas pu joindre le gestionnaire de paquets, procéder à l'installation de la dernière version ?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?%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?
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": "אתה בטוח שאתה רוצה למחוק את חשבונך?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBBはパッケージマネージャに到達できませんでした。最新バージョンのインストールを続行しましたか?
あなたは最新の状態です。
", - "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": "本当に自分のアカウントを削除しますか?NodeBB가 페키지 매니저 접근에 실패하였습니다. 최신 버젼을 설치하시겠습니까?
최신 버전입니다
", - "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": "정말 계정을 삭제 하시겠습니까?NodeBB could not reach the package manager, proceed with installation of latest version?
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ą?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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.<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?
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 odpowiedziachO NodeBB não pôde encontrar o administrador de pacotes, proceder com a instalação da última versão?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?<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?
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": "Вы уверены, что хотите удалить учётную запись?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB sa nemohol pripojiť k správcovi balíčku, pokračovať v inštalácii poslednej verzie?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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?NodeBB could not reach the package manager, proceed with installation of latest version?
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": "Да ли заиста желите да избришете свој налог?NodeBB could not reach the package manager, proceed with installation of latest version?
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?<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?
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 ไม่สามารถเข้าถึงตัวจัดการแพคเกจดำเนินการติดตั้งเวอร์ชันล่าสุดได้หรือไม่?
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.NodeBB paket yöneticisine ulaşamadı, en yeni sürüm yüklenmeye devam edilsin mi?
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?NodeBB не вдалося зв'язатися з менеджером пакетів, приступити до установки останньої версії?
Ваша версія актуальна
", - "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": "Не сповіщати мене про нові відповіді.NodeBB could not reach the package manager, proceed with installation of latest version?
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.NodeBB 联系不到包管理器, 继续安装最新版本?
正在使用 最新版本
", - "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": "不要在有新回复时通知我。NodeBB could not reach the package manager, proceed with installation of latest version?
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": "你確定要刪除自己的帳戶?"+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(" "),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 @@+ [[admin/settings/uploads:resize-image-quality-help]] +
+[[admin/settings/user:invite-expiration-help]]
@@ -292,77 +292,14 @@[[email:invitation.text1, {username}, {site_title}]]
+[[email:invitation.text2, {expireDays}]]