From aaacdb8413c9bc3f3d47c249c0d0287eac1cad88 Mon Sep 17 00:00:00 2001 From: Peter Jaszkowiak Date: Wed, 8 Feb 2017 11:41:24 -0700 Subject: [PATCH 01/20] Fix #5416, uploads path config setting - Finish moving uploads route to `/assets/uploads` - Remove `upload_url` config setting, it was broken --- app.js | 3 +++ public/src/app.js | 2 +- src/controllers/admin/uploads.js | 4 ++-- src/controllers/index.js | 12 +++++------ src/file.js | 29 ++++++++++++++----------- src/groups/cover.js | 2 +- src/meta/sounds.js | 37 ++++++++++++++++++++++---------- src/meta/tags.js | 12 +++++------ src/middleware/index.js | 2 +- src/routes/index.js | 5 +++++ src/socket.io/user/picture.js | 2 +- src/start.js | 4 ---- src/topics/thumb.js | 4 ++-- test/mocks/databasemock.js | 7 ++---- test/uploads.js | 10 ++++----- test/user.js | 2 +- 16 files changed, 79 insertions(+), 58 deletions(-) diff --git a/app.js b/app.js index 77da25936d..9d99f09156 100644 --- a/app.js +++ b/app.js @@ -99,6 +99,7 @@ function loadConfig(callback) { nconf.defaults({ base_dir: __dirname, themes_path: path.join(__dirname, 'node_modules'), + upload_path: 'public/uploads', views_dir: path.join(__dirname, 'build/public/templates'), version: pkg.version }); @@ -112,6 +113,8 @@ function loadConfig(callback) { nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path'))); nconf.set('core_templates_path', path.join(__dirname, 'src/views')); nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-persona/templates')); + + nconf.set('upload_path', path.resolve(nconf.get('base_dir'), nconf.get('upload_path'))); if (nconf.get('url')) { nconf.set('url_parsed', url.parse(nconf.get('url'))); diff --git a/public/src/app.js b/public/src/app.js index 00d5e7c017..0006db25d5 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -558,7 +558,7 @@ app.cacheBuster = null; var scriptEl = document.createElement('script'); scriptEl.type = 'text/javascript'; - scriptEl.src = config.relative_path + '/vendor/jquery/js/jquery-ui.js' + '?' + config['cache-buster']; + scriptEl.src = config.relative_path + '/assets/vendor/jquery/js/jquery-ui.js' + '?' + config['cache-buster']; scriptEl.onload = callback; document.head.appendChild(scriptEl); }; diff --git a/src/controllers/admin/uploads.js b/src/controllers/admin/uploads.js index 25b2ae34fd..346e7765e4 100644 --- a/src/controllers/admin/uploads.js +++ b/src/controllers/admin/uploads.js @@ -70,7 +70,7 @@ uploadsController.uploadTouchIcon = function (req, res, next) { async.series([ async.apply(file.saveFileToLocal, 'touchicon-' + size + '.png', 'system', uploadedFile.path), async.apply(image.resizeImage, { - path: path.join(nconf.get('base_dir'), nconf.get('upload_path'), 'system', 'touchicon-' + size + '.png'), + path: path.join(nconf.get('upload_path'), 'system', 'touchicon-' + size + '.png'), extension: 'png', width: size, height: size @@ -106,7 +106,7 @@ uploadsController.uploadSound = function (req, res, next) { } var soundsPath = path.join(__dirname, '../../../build/public/sounds'), - filePath = path.join(__dirname, '../../../public/uploads/sounds', uploadedFile.name); + filePath = path.join(nconf.get('upload_path'), 'sounds', uploadedFile.name); file.link(filePath, path.join(soundsPath, path.basename(filePath))); diff --git a/src/controllers/index.js b/src/controllers/index.js index 7b97c878d6..11ea6c8e95 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -290,32 +290,32 @@ Controllers.manifest = function (req, res) { if (meta.config['brand:touchIcon']) { manifest.icons.push({ - src: nconf.get('relative_path') + '/uploads/system/touchicon-36.png', + src: nconf.get('relative_path') + '/assets/uploads/system/touchicon-36.png', sizes: '36x36', type: 'image/png', density: 0.75 }, { - src: nconf.get('relative_path') + '/uploads/system/touchicon-48.png', + src: nconf.get('relative_path') + '/assets/uploads/system/touchicon-48.png', sizes: '48x48', type: 'image/png', density: 1.0 }, { - src: nconf.get('relative_path') + '/uploads/system/touchicon-72.png', + src: nconf.get('relative_path') + '/assets/uploads/system/touchicon-72.png', sizes: '72x72', type: 'image/png', density: 1.5 }, { - src: nconf.get('relative_path') + '/uploads/system/touchicon-96.png', + src: nconf.get('relative_path') + '/assets/uploads/system/touchicon-96.png', sizes: '96x96', type: 'image/png', density: 2.0 }, { - src: nconf.get('relative_path') + '/uploads/system/touchicon-144.png', + src: nconf.get('relative_path') + '/assets/uploads/system/touchicon-144.png', sizes: '144x144', type: 'image/png', density: 3.0 }, { - src: nconf.get('relative_path') + '/uploads/system/touchicon-192.png', + src: nconf.get('relative_path') + '/assets/uploads/system/touchicon-192.png', sizes: '192x192', type: 'image/png', density: 4.0 diff --git a/src/file.js b/src/file.js index d8fa128e5e..5e13c5b2a9 100644 --- a/src/file.js +++ b/src/file.js @@ -5,6 +5,7 @@ var nconf = require('nconf'); var path = require('path'); var winston = require('winston'); var jimp = require('jimp'); +var mkdirp = require('mkdirp'); var utils = require('../public/src/utils'); @@ -20,27 +21,31 @@ file.saveFileToLocal = function (filename, folder, tempPath, callback) { }); filename = filename.join('.'); - var uploadPath = path.join(nconf.get('base_dir'), nconf.get('upload_path'), folder, filename); + var uploadPath = path.join(nconf.get('upload_path'), folder, filename); winston.verbose('Saving file ' + filename + ' to : ' + uploadPath); + mkdirp(path.dirname(uploadPath), function (err) { + if (err) { + callback(err); + } - var is = fs.createReadStream(tempPath); - var os = fs.createWriteStream(uploadPath); - is.on('end', function () { - callback(null, { - url: nconf.get('upload_url') + '/' + folder + '/' + filename, - path: uploadPath + var is = fs.createReadStream(tempPath); + var os = fs.createWriteStream(uploadPath); + is.on('end', function () { + callback(null, { + url: '/assets/uploads/' + folder + '/' + filename, + path: uploadPath + }); }); - }); - os.on('error', callback); - - is.pipe(os); + os.on('error', callback); + is.pipe(os); + }); }; file.base64ToLocal = function (imageData, uploadPath, callback) { var buffer = new Buffer(imageData.slice(imageData.indexOf('base64') + 7), 'base64'); - uploadPath = path.join(nconf.get('base_dir'), nconf.get('upload_path'), uploadPath); + uploadPath = path.join(nconf.get('upload_path'), uploadPath); fs.writeFile(uploadPath, buffer, { encoding: 'base64' diff --git a/src/groups/cover.js b/src/groups/cover.js index 65ff0368cb..3512a235d5 100644 --- a/src/groups/cover.js +++ b/src/groups/cover.js @@ -105,7 +105,7 @@ module.exports = function (Groups) { md5sum = md5sum.digest('hex'); // Save image - var tempPath = path.join(nconf.get('base_dir'), nconf.get('upload_path'), md5sum) + '.png'; + var tempPath = path.join(nconf.get('upload_path'), md5sum + '.png'); var buffer = new Buffer(imageData.slice(imageData.indexOf('base64') + 7), 'base64'); fs.writeFile(tempPath, buffer, { diff --git a/src/meta/sounds.js b/src/meta/sounds.js index e44f43cccc..d237a51273 100644 --- a/src/meta/sounds.js +++ b/src/meta/sounds.js @@ -32,11 +32,23 @@ module.exports = function (Meta) { fs.readdir(path.join(__dirname, '../../build/public/sounds'), next); }, function (sounds, next) { - fs.readdir(path.join(__dirname, '../../public/uploads/sounds'), function (err, uploaded) { - next(err, sounds.concat(uploaded)); + fs.readdir(path.join(nconf.get('upload_path'), 'sounds'), function (err, uploaded) { + if (err) { + if (err.code === 'ENOENT') { + return next(null, sounds); + } + return next(err); + } + next(null, sounds.concat(uploaded)); }); } ], function (err, files) { + if (err) { + winston.error('Could not get local sound files:' + err.message); + console.log(err.stack); + return callback(null, []); + } + var localList = {}; // Filter out hidden files @@ -44,15 +56,9 @@ module.exports = function (Meta) { return !filename.startsWith('.'); }); - if (err) { - winston.error('Could not get local sound files:' + err.message); - console.log(err.stack); - return callback(null, []); - } - // Return proper paths files.forEach(function (filename) { - localList[filename] = nconf.get('relative_path') + '/sounds/' + filename; + localList[filename] = nconf.get('relative_path') + '/assets/sounds/' + filename; }); callback(null, localList); @@ -93,13 +99,22 @@ module.exports = function (Meta) { async.waterfall([ function (next) { - fs.readdir(path.join(__dirname, '../../public/uploads/sounds'), next); + fs.readdir(path.join(nconf.get('upload_path'), 'sounds'), function (err, files) { + if (err) { + if (err.code === 'ENOENT') { + return next(null, []); + } + return next(err); + } + + next(null, files); + }); }, function (uploaded, next) { uploaded = uploaded.filter(function (filename) { return !filename.startsWith('.'); }).map(function (filename) { - return path.join(__dirname, '../../public/uploads/sounds', filename); + return path.join(nconf.get('upload_path'), 'sounds', filename); }); plugins.fireHook('filter:sounds.get', uploaded, function (err, filePaths) { diff --git a/src/meta/tags.js b/src/meta/tags.js index 1d64a7f93d..f7e349f353 100644 --- a/src/meta/tags.js +++ b/src/meta/tags.js @@ -60,27 +60,27 @@ module.exports = function (Meta) { }, { rel: 'icon', sizes: '36x36', - href: nconf.get('relative_path') + '/uploads/system/touchicon-36.png' + href: nconf.get('relative_path') + '/assets/uploads/system/touchicon-36.png' }, { rel: 'icon', sizes: '48x48', - href: nconf.get('relative_path') + '/uploads/system/touchicon-48.png' + href: nconf.get('relative_path') + '/assets/uploads/system/touchicon-48.png' }, { rel: 'icon', sizes: '72x72', - href: nconf.get('relative_path') + '/uploads/system/touchicon-72.png' + href: nconf.get('relative_path') + '/assets/uploads/system/touchicon-72.png' }, { rel: 'icon', sizes: '96x96', - href: nconf.get('relative_path') + '/uploads/system/touchicon-96.png' + href: nconf.get('relative_path') + '/assets/uploads/system/touchicon-96.png' }, { rel: 'icon', sizes: '144x144', - href: nconf.get('relative_path') + '/uploads/system/touchicon-144.png' + href: nconf.get('relative_path') + '/assets/uploads/system/touchicon-144.png' }, { rel: 'icon', sizes: '192x192', - href: nconf.get('relative_path') + '/uploads/system/touchicon-192.png' + href: nconf.get('relative_path') + '/assets/uploads/system/touchicon-192.png' }); } plugins.fireHook('filter:meta.getLinkTags', defaultLinks, next); diff --git a/src/middleware/index.js b/src/middleware/index.js index c36f5767ed..105142d15e 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -162,7 +162,7 @@ middleware.privateUploads = function (req, res, next) { if (req.user || parseInt(meta.config.privateUploads, 10) !== 1) { return next(); } - if (req.path.startsWith('/uploads/files')) { + if (req.path.startsWith('/assets/uploads/files')) { return res.status(403).json('not-allowed'); } next(); diff --git a/src/routes/index.js b/src/routes/index.js index 0b9e6fce9a..84e0ce5301 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -144,6 +144,11 @@ module.exports = function (app, middleware, hotswapIds) { app.use(middleware.privateUploads); + if (path.resolve(__dirname, '../../public/uploads') !== nconf.get('upload_path')) { + app.use(relativePath + '/assets/uploads', express.static(nconf.get('upload_path'), { + maxAge: app.enabled('cache') ? 5184000000 : 0 + })); + } app.use(relativePath + '/assets', express.static(path.join(__dirname, '../../build/public'), { maxAge: app.enabled('cache') ? 5184000000 : 0 })); diff --git a/src/socket.io/user/picture.js b/src/socket.io/user/picture.js index eacc5197aa..deceb70f8a 100644 --- a/src/socket.io/user/picture.js +++ b/src/socket.io/user/picture.js @@ -86,7 +86,7 @@ module.exports = function (SocketUser) { function (userData, next) { if (userData.uploadedpicture && !userData.uploadedpicture.startsWith('http')) { var pathToFile = path.join(nconf.get('base_dir'), 'public', userData.uploadedpicture); - if (pathToFile.startsWith(path.join(nconf.get('base_dir'), nconf.get('upload_path')))) { + if (pathToFile.startsWith(nconf.get('upload_path'))) { require('fs').unlink(pathToFile, function (err) { if (err) { winston.error(err); diff --git a/src/start.js b/src/start.js index d314596036..0a8ed18e67 100644 --- a/src/start.js +++ b/src/start.js @@ -88,9 +88,6 @@ start.start = function () { function setupConfigs() { // nconf defaults, if not set in config - if (!nconf.get('upload_path')) { - nconf.set('upload_path', '/public/uploads'); - } if (!nconf.get('sessionKey')) { nconf.set('sessionKey', 'express.sid'); } @@ -102,7 +99,6 @@ function setupConfigs() { nconf.set('use_port', !!urlObject.port); nconf.set('relative_path', relativePath); nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || (nconf.get('PORT_ENV_VAR') ? nconf.get(nconf.get('PORT_ENV_VAR')) : false) || 4567); - nconf.set('upload_url', nconf.get('upload_path').replace(/^\/public/, '')); } function printStartupInfo() { diff --git a/src/topics/thumb.js b/src/topics/thumb.js index 7d22365293..a5ca38ed3e 100644 --- a/src/topics/thumb.js +++ b/src/topics/thumb.js @@ -41,7 +41,7 @@ module.exports = function (Topics) { extension = '.' + mime.extension(type); } filename = Date.now() + '-topic-thumb' + extension; - pathToUpload = path.join(nconf.get('base_dir'), nconf.get('upload_path'), 'files', filename); + pathToUpload = path.join(nconf.get('upload_path'), 'files', filename); request(data.thumb).pipe(fs.createWriteStream(pathToUpload)).on('close', next); }, @@ -59,7 +59,7 @@ module.exports = function (Topics) { }, function (next) { if (!plugins.hasListeners('filter:uploadImage')) { - data.thumb = path.join(nconf.get('upload_url'), 'files', filename); + data.thumb = '/assets/uploads/files/' + filename; return callback(); } diff --git a/test/mocks/databasemock.js b/test/mocks/databasemock.js index fa17493ae2..db28b8025c 100644 --- a/test/mocks/databasemock.js +++ b/test/mocks/databasemock.js @@ -19,7 +19,7 @@ nconf.defaults({ base_dir: path.join(__dirname,'../..'), themes_path: path.join(__dirname, '../../node_modules'), - upload_url: path.join(path.sep, '../../uploads', path.sep), + upload_path: 'public/uploads', views_dir: path.join(__dirname, '../../build/public/templates'), relative_path: '' }); @@ -121,9 +121,6 @@ }, function (next) { // nconf defaults, if not set in config - if (!nconf.get('upload_path')) { - nconf.set('upload_path', '/public/uploads'); - } if (!nconf.get('sessionKey')) { nconf.set('sessionKey', 'express.sid'); } @@ -135,7 +132,7 @@ nconf.set('use_port', !!urlObject.port); nconf.set('relative_path', relativePath); nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || (nconf.get('PORT_ENV_VAR') ? nconf.get(nconf.get('PORT_ENV_VAR')) : false) || 4567); - nconf.set('upload_url', nconf.get('upload_path').replace(/^\/public/, '')); + nconf.set('upload_path', path.join(nconf.get('base_dir'), nconf.get('upload_path'))); nconf.set('core_templates_path', path.join(__dirname, '../../src/views')); nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-persona/templates')); diff --git a/test/uploads.js b/test/uploads.js index 0938555f65..43e39d2f26 100644 --- a/test/uploads.js +++ b/test/uploads.js @@ -72,7 +72,7 @@ describe('Upload Controllers', function () { assert.equal(res.statusCode, 200); assert(Array.isArray(body)); assert.equal(body.length, 1); - assert.equal(body[0].url, '/uploads/profile/' + regularUid + '-profileimg.png'); + assert.equal(body[0].url, '/assets/uploads/profile/' + regularUid + '-profileimg.png'); done(); }); }); @@ -122,7 +122,7 @@ describe('Upload Controllers', function () { assert.ifError(err); assert.equal(res.statusCode, 200); assert(Array.isArray(body)); - assert.equal(body[0].url, '/uploads/system/site-logo.png'); + assert.equal(body[0].url, '/assets/uploads/system/site-logo.png'); done(); }); }); @@ -132,7 +132,7 @@ describe('Upload Controllers', function () { assert.ifError(err); assert.equal(res.statusCode, 200); assert(Array.isArray(body)); - assert.equal(body[0].url, '/uploads/category/category-1.png'); + assert.equal(body[0].url, '/assets/uploads/category/category-1.png'); done(); }); }); @@ -142,7 +142,7 @@ describe('Upload Controllers', function () { assert.ifError(err); assert.equal(res.statusCode, 200); assert(Array.isArray(body)); - assert.equal(body[0].url, '/uploads/system/favicon.ico'); + assert.equal(body[0].url, '/assets/uploads/system/favicon.ico'); done(); }); }); @@ -152,7 +152,7 @@ describe('Upload Controllers', function () { assert.ifError(err); assert.equal(res.statusCode, 200); assert(Array.isArray(body)); - assert.equal(body[0].url, '/uploads/system/touchicon-orig.png'); + assert.equal(body[0].url, '/assets/uploads/system/touchicon-orig.png'); done(); }); }); diff --git a/test/user.js b/test/user.js index b0ed74887b..43b5b3f847 100644 --- a/test/user.js +++ b/test/user.js @@ -503,7 +503,7 @@ describe('User', function () { }; User.uploadPicture(uid, picture, function (err, uploadedPicture) { assert.ifError(err); - assert.equal(uploadedPicture.url, '/uploads/profile/' + uid + '-profileimg.png'); + assert.equal(uploadedPicture.url, '/assets/uploads/profile/' + uid + '-profileimg.png'); assert.equal(uploadedPicture.path, path.join(nconf.get('base_dir'), 'public', 'uploads', 'profile', uid + '-profileimg.png')); done(); }); From 0fffde67b5edad84fe545bc98ba66f24d7e61221 Mon Sep 17 00:00:00 2001 From: Peter Jaszkowiak Date: Wed, 8 Feb 2017 14:24:09 -0700 Subject: [PATCH 02/20] Undeprecate `/uploads` --- src/routes/index.js | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/routes/index.js b/src/routes/index.js index 84e0ce5301..52d0735877 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -144,21 +144,25 @@ module.exports = function (app, middleware, hotswapIds) { app.use(middleware.privateUploads); + var statics = [ + { route: '/assets', path: path.join(__dirname, '../../build/public') }, + { route: '/assets', path: path.join(__dirname, '../../public') }, + { route: '/plugins', path: path.join(__dirname, '../../build/public/plugins') }, + ]; + var staticOptions = { + maxAge: app.enabled('cache') ? 5184000000 : 0, + }; + if (path.resolve(__dirname, '../../public/uploads') !== nconf.get('upload_path')) { - app.use(relativePath + '/assets/uploads', express.static(nconf.get('upload_path'), { - maxAge: app.enabled('cache') ? 5184000000 : 0 - })); + statics.unshift({ route: '/assets/uploads', path: nconf.get('upload_path') }); } - app.use(relativePath + '/assets', express.static(path.join(__dirname, '../../build/public'), { - maxAge: app.enabled('cache') ? 5184000000 : 0 - })); - app.use(relativePath + '/assets', express.static(path.join(__dirname, '../../public'), { - maxAge: app.enabled('cache') ? 5184000000 : 0 - })); - // TODO: deprecate? - app.use(relativePath + '/plugins', express.static(path.join(__dirname, '../../build/public/plugins'), { - maxAge: app.enabled('cache') ? 5184000000 : 0 - })); + + statics.forEach(function (obj) { + app.use(relativePath + obj.route, express.static(obj.path, staticOptions)); + }); + app.use(relativePath + '/uploads', function (req, res) { + res.redirect(relativePath + '/assets/uploads' + req.path + '?' + meta.config['cache-buster']); + }); // DEPRECATED var deprecatedPaths = [ @@ -170,7 +174,6 @@ module.exports = function (app, middleware, hotswapIds) { '/logo.png', '/favicon.ico', '/vendor/', - '/uploads/', '/templates/', '/src/', '/images/', From 0409109faaa18714782b510a10836835556c1922 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Thu, 9 Feb 2017 09:21:45 +0000 Subject: [PATCH 03/20] Latest translations and fallbacks --- public/language/de/admin/admin.json | 2 +- .../language/de/admin/advanced/database.json | 4 +-- public/language/sr/notifications.json | 6 ++--- public/language/sr/user.json | 6 ++--- .../language/tr/admin/general/dashboard.json | 26 +++++++++---------- public/language/tr/user.json | 6 ++--- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/public/language/de/admin/admin.json b/public/language/de/admin/admin.json index 70c096f86b..69c5847a82 100644 --- a/public/language/de/admin/admin.json +++ b/public/language/de/admin/admin.json @@ -2,6 +2,6 @@ "alert.confirm-reload": "Bist du sicher, dass du NodeBB neu laden möchtest?", "alert.confirm-restart": "Bist du sicher, dass du NodeBB neu starten möchtest?", - "acp-title": "%1 | NodeBB Admin Control Panel", + "acp-title": "%1 | NodeBB Admin Systemsteuerung", "settings-header-contents": "Inhalte" } \ No newline at end of file diff --git a/public/language/de/admin/advanced/database.json b/public/language/de/admin/advanced/database.json index 71c4feb1a1..5b0d883771 100644 --- a/public/language/de/admin/advanced/database.json +++ b/public/language/de/admin/advanced/database.json @@ -14,9 +14,9 @@ "mongo.storage-size": "Speichergröße", "mongo.index-size": "Indexgröße", "mongo.file-size": "Dateigröße", - "mongo.resident-memory": "Resident Memory", + "mongo.resident-memory": "Permanenter Speicher", "mongo.virtual-memory": "virtueller Speicher", - "mongo.mapped-memory": "Mapped Memory", + "mongo.mapped-memory": "Zugeordneter Speicher", "mongo.raw-info": "MongoDB Rohinfo", "redis": "Redis", diff --git a/public/language/sr/notifications.json b/public/language/sr/notifications.json index b1e9761adb..9af1e5a1ba 100644 --- a/public/language/sr/notifications.json +++ b/public/language/sr/notifications.json @@ -19,9 +19,9 @@ "user_flagged_post_in": "%1 је означио поруку у %2", "user_flagged_post_in_dual": "%1 и %2 су означили поруку у %3", "user_flagged_post_in_multiple": "%1 и осталих %2 су означили поруку у %3", - "user_flagged_user": "%1 flagged a user profile (%2)", - "user_flagged_user_dual": "%1 and %2 flagged a user profile (%3)", - "user_flagged_user_multiple": "%1 and %2 others flagged a user profile (%3)", + "user_flagged_user": "%1 је означио кориснички профил (%2)", + "user_flagged_user_dual": "%1 и %2 су означили кориснички профил (%3)", + "user_flagged_user_multiple": "%1 и %2 осталих су означили кориснички профил (%3)", "user_posted_to": "%1 је послао нови одговор на: %2", "user_posted_to_dual": "%1 и %2 су одговорили на: %3", "user_posted_to_multiple": "%1 и %2 других су одговорили на: %3", diff --git a/public/language/sr/user.json b/public/language/sr/user.json index 4eb21c474e..08c61c887c 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -33,7 +33,7 @@ "chat": "Ђаскање", "chat_with": "Настави ћаскање са %1", "new_chat_with": "Започни ново ћаскање са %1", - "flag-profile": "Flag Profile", + "flag-profile": "Означи профил", "follow": "Прати", "unfollow": "Не прати", "more": "Више", @@ -65,8 +65,8 @@ "remove_uploaded_picture": "Уклоните отпремљену слику", "upload_cover_picture": "Отпреми насловну слику", "remove_cover_picture_confirm": "Да ли сте сигурни да желите да уклоните насловну слику?", - "crop_picture": "Crop picture", - "upload_cropped_picture": "Crop and upload", + "crop_picture": "Изрежи слику", + "upload_cropped_picture": "Изрежи и опреми", "settings": "Подешавања", "show_email": "Прикажи моју лозинку", "show_fullname": "Прикажи моје пуно име", diff --git a/public/language/tr/admin/general/dashboard.json b/public/language/tr/admin/general/dashboard.json index 2f2493e435..e4c022f1d0 100644 --- a/public/language/tr/admin/general/dashboard.json +++ b/public/language/tr/admin/general/dashboard.json @@ -1,20 +1,20 @@ { "forum-traffic": "Forum Trafiği", "page-views": "Sayfa Gösterimi", - "unique-visitors": "Unique Visitors", - "users": "Users", - "posts": "Posts", - "topics": "Topics", - "page-views-last-month": "Page views Last Month", - "page-views-this-month": "Page views This Month", - "page-views-last-day": "Page views in last 24 hours", - - "stats.day": "Day", + "unique-visitors": "Tekil ziyaretçi", + "users": "Kullanıcılar", + "posts": "İletiler", + "topics": "Başlıklar", + "page-views-last-month": "Geçen ay sayfa görüntüleme", + "page-views-this-month": "Bu ay sayfa görüntüleme", + "page-views-last-day": "Son 24 saatteki sayfa görüntüleme", + + "stats.day": "Gün", "stats.week": "Hafta", - "stats.month": "Month", - "stats.all": "All Time", + "stats.month": "Ay", + "stats.all": "Tüm Zamanlar", - "updates": "Updates", + "updates": "Güncellemeler", "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

", @@ -33,7 +33,7 @@ "reload": "Reload", "restart": "Restart", "restart-warning": "Reloading or Restarting your NodeBB will drop all existing connections for a few seconds.", - "maintenance-mode": "Maintenance Mode", + "maintenance-mode": "Bakım Modu", "maintenance-mode-title": "Click here to set up maintenance mode for NodeBB", "realtime-chart-updates": "Realtime Chart Updates", diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 00d4ddad09..89d9d2b0cf 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -33,7 +33,7 @@ "chat": "Sohbet", "chat_with": "%1 ile sohbete devam et", "new_chat_with": "%1 ile yeni sohbete başla", - "flag-profile": "Flag Profile", + "flag-profile": "Bayrak Profili", "follow": "Takip Et", "unfollow": "Takip etme", "more": "Daha Fazla", @@ -65,8 +65,8 @@ "remove_uploaded_picture": "Yüklenmiş fotoğrafı kaldır", "upload_cover_picture": "Kapak fotoğrafı yükle", "remove_cover_picture_confirm": "Kapak görselini silmek istediğinden emin misin?", - "crop_picture": "Crop picture", - "upload_cropped_picture": "Crop and upload", + "crop_picture": "Görsel Kırp", + "upload_cropped_picture": "Kırp ve yükle", "settings": "Ayarlar", "show_email": "E-postamı göster", "show_fullname": "Tam ismimi göster", From ab7867d4b55f96dc9cfea638b120c2e0c023415b Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 13:15:37 +0300 Subject: [PATCH 04/20] topic follow tests, fix filterIgnoring --- src/categories.js | 6 ++--- src/topics/follow.js | 4 +-- test/topics.js | 59 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 6 deletions(-) diff --git a/src/categories.js b/src/categories.js index 4458e09481..5bb5222d38 100644 --- a/src/categories.js +++ b/src/categories.js @@ -350,11 +350,11 @@ var privileges = require('./privileges'); Categories.filterIgnoringUids = function (cid, uids, callback) { async.waterfall([ function (next) { - db.sortedSetScores('cid:' + cid + ':ignorers', uids, next); + db.isSortedSetMembers('cid:' + cid + ':ignorers', uids, next); }, - function (scores, next) { + function (isIgnoring, next) { var readingUids = uids.filter(function (uid, index) { - return uid && !!scores[index]; + return uid && !isIgnoring[index]; }); next(null, readingUids); } diff --git a/src/topics/follow.js b/src/topics/follow.js index 0667218588..4775cdb9bc 100644 --- a/src/topics/follow.js +++ b/src/topics/follow.js @@ -153,9 +153,9 @@ module.exports = function (Topics) { function (next) { db.isSetMembers('tid:' + tid + ':ignorers', uids, next); }, - function (isMembers, next) { + function (isIgnoring, next) { var readingUids = uids.filter(function (uid, index) { - return uid && isMembers[index]; + return uid && !isIgnoring[index]; }); next(null, readingUids); } diff --git a/test/topics.js b/test/topics.js index 3a192b9e94..24b4c973de 100644 --- a/test/topics.js +++ b/test/topics.js @@ -445,7 +445,7 @@ describe('Topic\'s', function () { assert.equal(pinnedTids[1], tid2); done(); }); - }); + }); }); }); @@ -1197,8 +1197,65 @@ describe('Topic\'s', function () { }); }); }); + }); + describe('follow/unfollow', function () { + var socketTopics = require('../src/socket.io/topics'); + var tid; + var followerUid; + before(function (done) { + User.create({username: 'follower'}, function (err, uid) { + if (err) { + return done(err); + } + followerUid = uid; + topics.post({uid: adminUid, title: 'topic title', content: 'some content', cid: topic.categoryId}, function (err, result) { + if (err) { + return done(err); + } + tid = result.topicData.tid; + done(); + }); + }); + }); + it('should filter ignoring uids', function (done) { + socketTopics.changeWatching({uid: followerUid}, {tid: tid, type: 'ignore'}, function (err) { + assert.ifError(err); + topics.filterIgnoringUids(tid, [adminUid, followerUid], function (err, uids) { + assert.ifError(err); + assert.equal(uids.length, 1); + assert.equal(uids[0], adminUid); + done(); + }); + }); + }); + + it('should error with invalid data', function (done) { + socketTopics.changeWatching({uid: followerUid}, {}, function (err) { + assert.equal(err.message, '[[error:invalid-data]]'); + done(); + }); + }) + + it('should error with invalid type', function (done) { + socketTopics.changeWatching({uid: followerUid}, {tid: tid, type: 'derp'}, function (err) { + assert.equal(err.message, '[[error:invalid-command]]'); + done(); + }); + }) + + it('should follow topic', function (done) { + topics.toggleFollow(tid, followerUid, function(err, isFollowing) { + assert.ifError(err); + assert(isFollowing); + topics.isFollowing([tid], followerUid, function (err, isFollowing) { + assert.ifError(err); + assert(isFollowing); + done(); + }); + }); + }); }); From 667582744e3c16d010436c808a0811bf636547fb Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 13:22:03 +0300 Subject: [PATCH 05/20] fix eslint --- test/topics.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/topics.js b/test/topics.js index 24b4c973de..01af1f5f2e 100644 --- a/test/topics.js +++ b/test/topics.js @@ -1236,17 +1236,17 @@ describe('Topic\'s', function () { assert.equal(err.message, '[[error:invalid-data]]'); done(); }); - }) + }); it('should error with invalid type', function (done) { socketTopics.changeWatching({uid: followerUid}, {tid: tid, type: 'derp'}, function (err) { assert.equal(err.message, '[[error:invalid-command]]'); done(); }); - }) + }); it('should follow topic', function (done) { - topics.toggleFollow(tid, followerUid, function(err, isFollowing) { + topics.toggleFollow(tid, followerUid, function (err, isFollowing) { assert.ifError(err); assert(isFollowing); topics.isFollowing([tid], followerUid, function (err, isFollowing) { From 4f02775bdfb7a356a594d9733c4344304c475659 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 14:30:02 +0300 Subject: [PATCH 06/20] replies change --- src/topics/posts.js | 76 +++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 31 deletions(-) diff --git a/src/topics/posts.js b/src/topics/posts.js index 96b1992fc9..9d7ea65828 100644 --- a/src/topics/posts.js +++ b/src/topics/posts.js @@ -389,43 +389,57 @@ module.exports = function (Topics) { }; function getPostReplies(pids, callerUid, callback) { - async.map(pids, function (pid, next) { - db.getSortedSetRange('pid:' + pid + ':replies', 0, -1, function (err, replyPids) { - var uids = [], count = 0; - - async.until(function () { - return count === replyPids.length || uids.length === 6; - }, function (next) { - posts.getPostField(replyPids[count], 'uid', function (err, uid) { - uid = parseInt(uid, 10); - if (uids.indexOf(uid) === -1) { - uids.push(uid); - } - count++; - next(err); - }); - }, function (err) { + var uids = []; + var count = 0; + var replyPids; + async.map(pids, function (pid, _next) { + async.waterfall([ + function (next) { + db.getSortedSetRange('pid:' + pid + ':replies', 0, -1, next); + }, + function (_replyPids, next) { + replyPids = _replyPids; + if (!replyPids.length) { + return _next(null, {count: 0}); + } + async.until(function () { + return count === replyPids.length || uids.length === 6; + }, function (next) { + posts.getPostField(replyPids[count], 'uid', function (err, uid) { + if (err) { + return next(err); + } + uid = parseInt(uid, 10); + if (uids.indexOf(uid) === -1) { + uids.push(uid); + } + count++; + next(); + }); + }, next); + }, + function (next) { async.parallel({ - "users": function (next) { + users: function (next) { user.getUsersWithFields(uids, ['uid', 'username', 'userslug', 'picture'], callerUid, next); }, - "timestampISO": function (next) { - posts.getPostField(replyPids[0], 'timestamp', function (err, timestamp) { - next(err, utils.toISOString(timestamp)); - }); - } - }, function (err, replies) { - if (replies.users.length > 5) { - replies.users.shift(); - replies.hasMore = true; + timestampISO: function (next) { + posts.getPostField(replyPids[replyPids.length - 1], 'timestamp', next); } + }, next); + }, + function (replies, next) { + if (replies.users.length > 5) { + replies.users.shift(); + replies.hasMore = true; + } - replies.count = replyPids.length; + replies.count = replyPids.length; + replies.timestampISO = utils.toISOString(replies.timestampISO); - next(err, replies); - }); - }); - }); + next(null, replies); + } + ], next); }, callback); } }; From 21861fa9311338b963dd67e0721094386751cce0 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 14:31:29 +0300 Subject: [PATCH 07/20] fix next --- src/topics/posts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/topics/posts.js b/src/topics/posts.js index 9d7ea65828..797450b8f5 100644 --- a/src/topics/posts.js +++ b/src/topics/posts.js @@ -439,7 +439,7 @@ module.exports = function (Topics) { next(null, replies); } - ], next); + ], _next); }, callback); } }; From ae5deff3d5b514db30bf292fb120e906e65fb0b3 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 14:36:00 +0300 Subject: [PATCH 08/20] fix uids --- src/topics/posts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/topics/posts.js b/src/topics/posts.js index 797450b8f5..0a5fc4c671 100644 --- a/src/topics/posts.js +++ b/src/topics/posts.js @@ -389,10 +389,10 @@ module.exports = function (Topics) { }; function getPostReplies(pids, callerUid, callback) { - var uids = []; var count = 0; var replyPids; async.map(pids, function (pid, _next) { + var uids = []; async.waterfall([ function (next) { db.getSortedSetRange('pid:' + pid + ':replies', 0, -1, next); From 2c527cdfeb5acbdc41e79911418824a3ac531f26 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 14:38:06 +0300 Subject: [PATCH 09/20] more fixes --- src/topics/posts.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/topics/posts.js b/src/topics/posts.js index 0a5fc4c671..37ea83b2cf 100644 --- a/src/topics/posts.js +++ b/src/topics/posts.js @@ -389,10 +389,10 @@ module.exports = function (Topics) { }; function getPostReplies(pids, callerUid, callback) { - var count = 0; - var replyPids; async.map(pids, function (pid, _next) { + var replyPids; var uids = []; + var count = 0; async.waterfall([ function (next) { db.getSortedSetRange('pid:' + pid + ':replies', 0, -1, next); From b9244110d90e783dc0ffd6bb8a03759f26054410 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 17:29:28 +0300 Subject: [PATCH 10/20] up dbsearch --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a37e9435bc..75a330a271 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "mousetrap": "^1.5.3", "nconf": "~0.8.2", "nodebb-plugin-composer-default": "4.4.0", - "nodebb-plugin-dbsearch": "2.0.1", + "nodebb-plugin-dbsearch": "2.0.2", "nodebb-plugin-emoji-extended": "1.1.1", "nodebb-plugin-emoji-one": "1.1.5", "nodebb-plugin-markdown": "7.1.0", From cc160d77e779638c2db7c68b60c0971b0442adf0 Mon Sep 17 00:00:00 2001 From: pichalite Date: Thu, 9 Feb 2017 17:33:31 +0000 Subject: [PATCH 11/20] Fix scrolling issues on mobile --- public/less/admin/mobile.less | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/public/less/admin/mobile.less b/public/less/admin/mobile.less index e0e8ddb1dc..c192351885 100644 --- a/public/less/admin/mobile.less +++ b/public/less/admin/mobile.less @@ -2,14 +2,19 @@ display: none; } -@media (max-width: 1200px) { - -} - @media (max-width: 991px) { body { height: 100%; } + + #panel { + background-color: inherit; + min-height: 100%; + } + + body, #panel, .slideout-menu { + -webkit-overflow-scrolling: touch; + } .header { height: 58px; From d61665c20a44549ad515d10c2c64697b6e1c1c13 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 9 Feb 2017 12:52:18 -0500 Subject: [PATCH 12/20] updated copy for no-routes-not-found --- public/language/en-GB/admin/advanced/errors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/language/en-GB/admin/advanced/errors.json b/public/language/en-GB/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/en-GB/admin/advanced/errors.json +++ b/public/language/en-GB/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file From b1511a18709c0e4d32031bb6b78f0bee961a5a5c Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 9 Feb 2017 21:15:43 +0300 Subject: [PATCH 13/20] change client route --- src/controllers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/index.js b/src/controllers/index.js index 7b97c878d6..c595b2e1da 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -353,7 +353,7 @@ Controllers.ping = function (req, res) { Controllers.handle404 = function (req, res) { var relativePath = nconf.get('relative_path'); - var isClientScript = new RegExp('^' + relativePath + '\\/src\\/.+\\.js'); + var isClientScript = new RegExp('^' + relativePath + '\\/assets\\/src\\/.+\\.js'); if (plugins.hasListeners('action:meta.override404')) { return plugins.fireHook('action:meta.override404', { From a3e327301bcf3211f13df73cc068ce18a94db294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 9 Feb 2017 20:21:35 +0200 Subject: [PATCH 14/20] update regex --- src/controllers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/index.js b/src/controllers/index.js index 7b97c878d6..c595b2e1da 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -353,7 +353,7 @@ Controllers.ping = function (req, res) { Controllers.handle404 = function (req, res) { var relativePath = nconf.get('relative_path'); - var isClientScript = new RegExp('^' + relativePath + '\\/src\\/.+\\.js'); + var isClientScript = new RegExp('^' + relativePath + '\\/assets\\/src\\/.+\\.js'); if (plugins.hasListeners('action:meta.override404')) { return plugins.fireHook('action:meta.override404', { From a8fd1440d43010c947fa13f313c2685a25540ee5 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 9 Feb 2017 14:42:16 -0500 Subject: [PATCH 15/20] fixed incorrect language key in ip blacklist page --- public/src/admin/manage/ip-blacklist.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/admin/manage/ip-blacklist.js b/public/src/admin/manage/ip-blacklist.js index 2e9963b75f..321bc9fac1 100644 --- a/public/src/admin/manage/ip-blacklist.js +++ b/public/src/admin/manage/ip-blacklist.js @@ -20,7 +20,7 @@ define('admin/manage/ip-blacklist', ['translator'], function (translator) { app.alert({ type: 'success', alert_id: 'blacklist-saved', - title: '[[admin/manage/ip-blacklist:alerts.applied]]', + title: '[[admin/manage/ip-blacklist:alerts.applied-success]]', }); }); }); From 503378e2593ea98fa073810e8719ece6ba587d4a Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Fri, 10 Feb 2017 09:21:57 +0000 Subject: [PATCH 16/20] Latest translations and fallbacks --- public/language/ar/admin/advanced/errors.json | 2 +- .../language/ar/admin/settings/general.json | 3 +- public/language/ar/search.json | 1 + public/language/ar/topic.json | 3 +- public/language/bg/admin/advanced/errors.json | 2 +- .../language/bg/admin/settings/general.json | 3 +- public/language/bg/search.json | 1 + public/language/bg/topic.json | 3 +- public/language/bn/admin/advanced/errors.json | 2 +- .../language/bn/admin/settings/general.json | 3 +- public/language/bn/search.json | 1 + public/language/bn/topic.json | 3 +- public/language/cs/admin/advanced/errors.json | 2 +- .../language/cs/admin/settings/general.json | 3 +- public/language/cs/search.json | 1 + public/language/cs/topic.json | 3 +- public/language/da/admin/advanced/errors.json | 2 +- .../language/da/admin/settings/general.json | 3 +- public/language/da/search.json | 1 + public/language/da/topic.json | 3 +- .../language/de/admin/advanced/database.json | 10 +- public/language/de/admin/advanced/errors.json | 6 +- .../de/admin/appearance/customise.json | 6 +- .../language/de/admin/appearance/skins.json | 6 +- .../language/de/admin/appearance/themes.json | 2 +- .../language/de/admin/development/info.json | 18 +- .../language/de/admin/development/logger.json | 18 +- public/language/de/admin/extend/plugins.json | 68 ++++---- public/language/de/admin/extend/rewards.json | 28 +-- public/language/de/admin/extend/widgets.json | 26 +-- .../language/de/admin/general/dashboard.json | 52 +++--- .../language/de/admin/general/homepage.json | 2 +- .../language/de/admin/general/languages.json | 2 +- .../language/de/admin/general/navigation.json | 12 +- .../language/de/admin/manage/categories.json | 24 +-- public/language/de/admin/manage/flags.json | 32 ++-- public/language/de/admin/manage/groups.json | 56 +++--- .../de/admin/manage/ip-blacklist.json | 22 +-- .../de/admin/manage/registration.json | 26 +-- public/language/de/admin/manage/tags.json | 30 ++-- public/language/de/admin/manage/users.json | 160 +++++++++--------- public/language/de/admin/menu.json | 6 +- .../language/de/admin/settings/advanced.json | 10 +- public/language/de/admin/settings/chat.json | 14 +- .../language/de/admin/settings/cookies.json | 18 +- .../language/de/admin/settings/general.json | 3 +- public/language/de/admin/settings/guest.json | 12 +- .../de/admin/settings/notifications.json | 6 +- .../de/admin/settings/pagination.json | 14 +- .../de/admin/settings/reputation.json | 12 +- .../language/de/admin/settings/sockets.json | 8 +- public/language/de/admin/settings/user.json | 4 +- public/language/de/notifications.json | 6 +- public/language/de/pages.json | 4 +- public/language/de/search.json | 1 + public/language/de/topic.json | 3 +- public/language/de/user.json | 6 +- public/language/el/admin/advanced/errors.json | 2 +- .../language/el/admin/settings/general.json | 3 +- public/language/el/search.json | 1 + public/language/el/topic.json | 3 +- .../language/en-US/admin/advanced/errors.json | 2 +- .../en-US/admin/settings/general.json | 3 +- public/language/en-US/search.json | 1 + public/language/en-US/topic.json | 3 +- .../en-x-pirate/admin/advanced/errors.json | 2 +- .../en-x-pirate/admin/settings/general.json | 3 +- public/language/en-x-pirate/search.json | 1 + public/language/en-x-pirate/topic.json | 3 +- public/language/es/admin/advanced/errors.json | 2 +- .../language/es/admin/settings/general.json | 3 +- public/language/es/search.json | 1 + public/language/es/topic.json | 3 +- public/language/et/admin/advanced/errors.json | 2 +- .../language/et/admin/settings/general.json | 3 +- public/language/et/search.json | 1 + public/language/et/topic.json | 3 +- .../language/fa-IR/admin/advanced/errors.json | 2 +- .../fa-IR/admin/settings/general.json | 3 +- public/language/fa-IR/search.json | 1 + public/language/fa-IR/topic.json | 3 +- public/language/fi/admin/advanced/errors.json | 2 +- .../language/fi/admin/settings/general.json | 3 +- public/language/fi/search.json | 1 + public/language/fi/topic.json | 3 +- public/language/fr/admin/advanced/errors.json | 2 +- .../language/fr/admin/settings/general.json | 3 +- public/language/fr/search.json | 1 + public/language/fr/topic.json | 3 +- public/language/gl/admin/advanced/errors.json | 2 +- .../language/gl/admin/settings/general.json | 3 +- public/language/gl/search.json | 1 + public/language/gl/topic.json | 3 +- public/language/he/admin/advanced/errors.json | 2 +- .../language/he/admin/settings/general.json | 3 +- public/language/he/search.json | 1 + public/language/he/topic.json | 3 +- public/language/hu/admin/advanced/errors.json | 2 +- .../language/hu/admin/settings/general.json | 3 +- public/language/hu/search.json | 1 + public/language/hu/topic.json | 3 +- public/language/id/admin/advanced/errors.json | 2 +- .../language/id/admin/settings/general.json | 3 +- public/language/id/search.json | 1 + public/language/id/topic.json | 3 +- public/language/it/admin/advanced/errors.json | 2 +- .../language/it/admin/settings/general.json | 3 +- public/language/it/search.json | 1 + public/language/it/topic.json | 3 +- public/language/ja/admin/advanced/errors.json | 2 +- .../language/ja/admin/general/dashboard.json | 6 +- .../language/ja/admin/settings/general.json | 3 +- public/language/ja/search.json | 1 + public/language/ja/topic.json | 3 +- public/language/ko/admin/advanced/errors.json | 2 +- .../language/ko/admin/settings/general.json | 3 +- public/language/ko/search.json | 1 + public/language/ko/topic.json | 3 +- public/language/lt/admin/advanced/errors.json | 2 +- .../language/lt/admin/settings/general.json | 3 +- public/language/lt/search.json | 1 + public/language/lt/topic.json | 3 +- public/language/ms/admin/advanced/errors.json | 2 +- .../language/ms/admin/settings/general.json | 3 +- public/language/ms/search.json | 1 + public/language/ms/topic.json | 3 +- public/language/nb/admin/advanced/errors.json | 2 +- .../language/nb/admin/settings/general.json | 3 +- public/language/nb/search.json | 1 + public/language/nb/topic.json | 3 +- public/language/nl/admin/advanced/errors.json | 2 +- .../language/nl/admin/settings/general.json | 3 +- public/language/nl/search.json | 1 + public/language/nl/topic.json | 3 +- public/language/pl/admin/advanced/errors.json | 2 +- .../language/pl/admin/settings/general.json | 3 +- public/language/pl/search.json | 1 + public/language/pl/topic.json | 3 +- .../language/pt-BR/admin/advanced/errors.json | 2 +- .../pt-BR/admin/settings/general.json | 3 +- public/language/pt-BR/search.json | 1 + public/language/pt-BR/topic.json | 3 +- .../language/pt-PT/admin/advanced/errors.json | 2 +- .../pt-PT/admin/settings/general.json | 3 +- public/language/pt-PT/search.json | 1 + public/language/pt-PT/topic.json | 3 +- public/language/ro/admin/advanced/errors.json | 2 +- .../language/ro/admin/settings/general.json | 3 +- public/language/ro/search.json | 1 + public/language/ro/topic.json | 3 +- public/language/ru/admin/advanced/errors.json | 2 +- .../language/ru/admin/settings/general.json | 3 +- public/language/ru/search.json | 1 + public/language/ru/topic.json | 3 +- public/language/rw/admin/advanced/errors.json | 2 +- .../language/rw/admin/settings/general.json | 3 +- public/language/rw/search.json | 1 + public/language/rw/topic.json | 3 +- public/language/sc/admin/advanced/errors.json | 2 +- .../language/sc/admin/settings/general.json | 3 +- public/language/sc/search.json | 1 + public/language/sc/topic.json | 3 +- public/language/sk/admin/advanced/errors.json | 2 +- .../language/sk/admin/settings/general.json | 3 +- public/language/sk/search.json | 1 + public/language/sk/topic.json | 3 +- public/language/sl/admin/advanced/errors.json | 2 +- .../language/sl/admin/settings/general.json | 3 +- public/language/sl/search.json | 1 + public/language/sl/topic.json | 3 +- public/language/sr/admin/advanced/errors.json | 2 +- .../language/sr/admin/settings/general.json | 3 +- public/language/sr/search.json | 1 + public/language/sr/topic.json | 3 +- public/language/sv/admin/advanced/errors.json | 2 +- .../language/sv/admin/settings/general.json | 3 +- public/language/sv/search.json | 1 + public/language/sv/topic.json | 3 +- public/language/th/admin/advanced/errors.json | 2 +- .../language/th/admin/settings/general.json | 3 +- public/language/th/search.json | 1 + public/language/th/topic.json | 3 +- public/language/tr/admin/advanced/errors.json | 2 +- .../language/tr/admin/settings/general.json | 3 +- public/language/tr/search.json | 1 + public/language/tr/topic.json | 3 +- public/language/vi/admin/advanced/errors.json | 2 +- .../language/vi/admin/settings/general.json | 3 +- public/language/vi/search.json | 1 + public/language/vi/topic.json | 3 +- .../language/zh-CN/admin/advanced/errors.json | 2 +- .../zh-CN/admin/settings/general.json | 3 +- public/language/zh-CN/search.json | 1 + public/language/zh-CN/topic.json | 3 +- .../language/zh-TW/admin/advanced/errors.json | 2 +- .../zh-TW/admin/settings/general.json | 3 +- public/language/zh-TW/search.json | 1 + public/language/zh-TW/topic.json | 3 +- 198 files changed, 611 insertions(+), 488 deletions(-) diff --git a/public/language/ar/admin/advanced/errors.json b/public/language/ar/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/ar/admin/advanced/errors.json +++ b/public/language/ar/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/ar/admin/settings/general.json b/public/language/ar/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/ar/admin/settings/general.json +++ b/public/language/ar/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/ar/search.json b/public/language/ar/search.json index c654f721f2..a0b00fb092 100644 --- a/public/language/ar/search.json +++ b/public/language/ar/search.json @@ -12,6 +12,7 @@ "reply-count": "عدد المشاركات", "at-least": "على اﻷقل", "at-most": "على اﻷكثر", + "relevance": "Relevance", "post-time": "تاريخ المشاركة", "newer-than": "أحدث من", "older-than": "أقدم من", diff --git a/public/language/ar/topic.json b/public/language/ar/topic.json index 40d2b0f25f..34c6750ea8 100644 --- a/public/language/ar/topic.json +++ b/public/language/ar/topic.json @@ -13,7 +13,8 @@ "notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع", "quote": "اقتبس", "reply": "رد", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "رد بموضوع", "guest-login-reply": "يجب عليك تسجيل الدخول للرد", "edit": "تعديل", diff --git a/public/language/bg/admin/advanced/errors.json b/public/language/bg/admin/advanced/errors.json index 904a75e3d4..42a05713fa 100644 --- a/public/language/bg/admin/advanced/errors.json +++ b/public/language/bg/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Изчистване на журнала за грешки", "route": "Маршрут", "count": "Брой", - "no-routes-not-found": "Ура! Няма неоткрити маршрути.", + "no-routes-not-found": "Ура! Няма грешки от вида „404“!", "clear404-confirm": "Наистина ли искате да изчистите журналите за грешки от вида 404?", "clear404-success": "Грешките от вида „Страницата не е намерена (Грешка 404)“ бяха изчистени." } \ No newline at end of file diff --git a/public/language/bg/admin/settings/general.json b/public/language/bg/admin/settings/general.json index a0566d8e91..850a3df2a3 100644 --- a/public/language/bg/admin/settings/general.json +++ b/public/language/bg/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Качване", "touch-icon.help": "Препоръчителен размер и формат: 192x192, само във формат „PNG“. Ако не е посочена иконка за начален екран на мобилно устройство, NodeBB ще използва иконката на уеб сайта.", "outgoing-links": "Изходящи връзки", - "outgoing-links.warning-page": "Показване на предупредителна страница при щракване върху външни връзки" + "outgoing-links.warning-page": "Показване на предупредителна страница при щракване върху външни връзки", + "search-default-sort-by": "Подредба по подразбиране при търсене" } \ No newline at end of file diff --git a/public/language/bg/search.json b/public/language/bg/search.json index b113c049ae..7165aace30 100644 --- a/public/language/bg/search.json +++ b/public/language/bg/search.json @@ -12,6 +12,7 @@ "reply-count": "Брой на отговорите", "at-least": "Поне", "at-most": "Най-много", + "relevance": "Уместност", "post-time": "Време на публикуване", "newer-than": "По-нови от", "older-than": "По-стари от", diff --git a/public/language/bg/topic.json b/public/language/bg/topic.json index e51e69765a..4f0827c267 100644 --- a/public/language/bg/topic.json +++ b/public/language/bg/topic.json @@ -13,7 +13,8 @@ "notify_me": "Получавайте известия за новите отговори в тази тема", "quote": "Цитат", "reply": "Отговор", - "replies_to_this_post": "Отговори: %1", + "replies_to_this_post": "%1 отговора", + "last_reply_time": "Последен отговор", "reply-as-topic": "Отговор в нова тема", "guest-login-reply": "Впишете се, за да отговорите", "edit": "Редактиране", diff --git a/public/language/bn/admin/advanced/errors.json b/public/language/bn/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/bn/admin/advanced/errors.json +++ b/public/language/bn/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/bn/admin/settings/general.json b/public/language/bn/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/bn/admin/settings/general.json +++ b/public/language/bn/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/bn/search.json b/public/language/bn/search.json index ee8f11b7b0..143c2456bc 100644 --- a/public/language/bn/search.json +++ b/public/language/bn/search.json @@ -12,6 +12,7 @@ "reply-count": "রিপ্লাই কাউন্ট", "at-least": "কমপক্ষে", "at-most": "সর্বোচ্চ", + "relevance": "Relevance", "post-time": "পোস্টের সময়", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/bn/topic.json b/public/language/bn/topic.json index de7801a0c6..66863ac28b 100644 --- a/public/language/bn/topic.json +++ b/public/language/bn/topic.json @@ -13,7 +13,8 @@ "notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন", "quote": "উদ্ধৃতি", "reply": "উত্তর", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in to reply", "edit": "সম্পাদণা", diff --git a/public/language/cs/admin/advanced/errors.json b/public/language/cs/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/cs/admin/advanced/errors.json +++ b/public/language/cs/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/cs/admin/settings/general.json b/public/language/cs/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/cs/admin/settings/general.json +++ b/public/language/cs/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/cs/search.json b/public/language/cs/search.json index 236d3b33bc..b4ae4ca7db 100644 --- a/public/language/cs/search.json +++ b/public/language/cs/search.json @@ -12,6 +12,7 @@ "reply-count": "Reply Count", "at-least": "At least", "at-most": "At most", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Novější než", "older-than": "Starší než", diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index 0a05708df2..67a774b3e8 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -13,7 +13,8 @@ "notify_me": "Dostávat upozornění na nové odpovědi", "quote": "Citovat", "reply": "Odpovědět", - "replies_to_this_post": "Odpovědi: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Odpovědět jako Téma", "guest-login-reply": "Přihlásit se pro odpověď", "edit": "Upravit", diff --git a/public/language/da/admin/advanced/errors.json b/public/language/da/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/da/admin/advanced/errors.json +++ b/public/language/da/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/da/admin/settings/general.json b/public/language/da/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/da/admin/settings/general.json +++ b/public/language/da/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/da/search.json b/public/language/da/search.json index d989086b05..6da46f494d 100644 --- a/public/language/da/search.json +++ b/public/language/da/search.json @@ -12,6 +12,7 @@ "reply-count": "Svar antal", "at-least": "Mindst", "at-most": "Højst", + "relevance": "Relevance", "post-time": "Skrevet", "newer-than": "Nyere end", "older-than": "Ældre end", diff --git a/public/language/da/topic.json b/public/language/da/topic.json index 0d27bf2fd6..54d4114614 100644 --- a/public/language/da/topic.json +++ b/public/language/da/topic.json @@ -13,7 +13,8 @@ "notify_me": "Bliv notificeret ved nye svar i dette emne", "quote": "Citer", "reply": "Svar", - "replies_to_this_post": "Svar %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Svar som emne", "guest-login-reply": "Login for at svare", "edit": "Rediger", diff --git a/public/language/de/admin/advanced/database.json b/public/language/de/admin/advanced/database.json index 5b0d883771..eebefbb703 100644 --- a/public/language/de/admin/advanced/database.json +++ b/public/language/de/admin/advanced/database.json @@ -1,6 +1,6 @@ { - "x-b": "%1 b", - "x-mb": "%1 mb", + "x-b": "%1 B", + "x-mb": "%1 MB", "uptime-seconds": "Laufzeit in Sekunden", "uptime-days": "Laufzeit in Tagen", @@ -15,7 +15,7 @@ "mongo.index-size": "Indexgröße", "mongo.file-size": "Dateigröße", "mongo.resident-memory": "Permanenter Speicher", - "mongo.virtual-memory": "virtueller Speicher", + "mongo.virtual-memory": "Virtueller Speicher", "mongo.mapped-memory": "Zugeordneter Speicher", "mongo.raw-info": "MongoDB Rohinfo", @@ -29,7 +29,7 @@ "redis.total-connections-recieved": "Insgesamt Verbindungen empfangen", "redis.total-commands-processed": "Insgesamt Kommandos ausgeführt", "redis.iops": "Durchschnittliche Anzahl von Ein-/Ausgaben pro Sekunde", - "redis.keyspace-hits": "Keyspace Hits", - "redis.keyspace-misses": "Keyspace Misses", + "redis.keyspace-hits": "Schlüsselraum Treffer", + "redis.keyspace-misses": "Schlüsselraum Verfehlungen", "redis.raw-info": "Redis Rohinfo" } \ No newline at end of file diff --git a/public/language/de/admin/advanced/errors.json b/public/language/de/admin/advanced/errors.json index 837b211595..64ac3b2d6c 100644 --- a/public/language/de/admin/advanced/errors.json +++ b/public/language/de/admin/advanced/errors.json @@ -3,12 +3,12 @@ "error-events-per-day": "%1 Ereignisse pro Tag", "error.404": "404 Not Found", "error.503": "503 Service Unavailable", - "manage-error-log": "Aktionen Fehlerprotokoll", + "manage-error-log": "Fehlerprotokoll verwalten", "export-error-log": "Exportiere das Fehlerprotokoll (CSV)", - "clear-error-log": "Lösche Fehlerprotokoll", + "clear-error-log": "Fehlerprotokoll leeren", "route": "Zielroute", "count": "Anzahl", - "no-routes-not-found": "Hurra! Es gibt keine Zielrouten, die nicht gefunden wurden.", + "no-routes-not-found": "Juhui! Keine 404 Fehler!", "clear404-confirm": "Bist du dir sicher, dass du das 404 Fehlerprotokoll löschen möchtest?", "clear404-success": "\"404 Not Found\" Fehler gelöscht" } \ No newline at end of file diff --git a/public/language/de/admin/appearance/customise.json b/public/language/de/admin/appearance/customise.json index 8d04a48eb8..029a9de35b 100644 --- a/public/language/de/admin/appearance/customise.json +++ b/public/language/de/admin/appearance/customise.json @@ -1,9 +1,9 @@ { "custom-css": "Benutzerdefiniertes CSS", "custom-css.description": "Füge hier deine eigenen CSS-Eigenschaften ein, sie werden als letztes angewendet.", - "custom-css.enable": "Aktiviere benutzerdefiniertes CSS", + "custom-css.enable": "Benutzerdefiniertes CSS aktivieren", "custom-header": "Benutzerdefinierter Kopfbereich", - "custom-header.description": "Füge hier dein benutzerdefiniertes HTML (z.B. Javascript, Meta Tags, usw.) ein, welches vor dem <head> Tag eingefügt wird.", - "custom-header.enable": "Aktiviere benutzerdefinierten Kopfbereich" + "custom-header.description": "Füge hier dein benutzerdefiniertes HTML (z.B. Javascript, Meta Tags, usw.) ein, welches in den <head> Tag eingefügt werden soll.", + "custom-header.enable": "Benutzerdefinierten Kopfbereich aktivieren" } \ No newline at end of file diff --git a/public/language/de/admin/appearance/skins.json b/public/language/de/admin/appearance/skins.json index c82e310246..960c3196a7 100644 --- a/public/language/de/admin/appearance/skins.json +++ b/public/language/de/admin/appearance/skins.json @@ -1,9 +1,9 @@ { "loading": "Lade Aussehen...", "homepage": "Homepage", - "select-skin": "Wähle Aussehen", + "select-skin": "Aussehen auswählen", "current-skin": "Aktuelles Aussehen", "skin-updated": "Aussehen aktualisiert", - "applied-success": "%1 Aussehen wurde erfolgreich angewendet", - "revert-success": "Aussehen wieder auf Basisfarben zurückgestellt." + "applied-success": "Aussehen %1 wurde erfolgreich angewendet", + "revert-success": "Aussehen auf Basisfarben zurückgestellt." } \ No newline at end of file diff --git a/public/language/de/admin/appearance/themes.json b/public/language/de/admin/appearance/themes.json index adff70212a..2dede042b2 100644 --- a/public/language/de/admin/appearance/themes.json +++ b/public/language/de/admin/appearance/themes.json @@ -6,6 +6,6 @@ "no-themes": "Keine installierten Designs gefunden.", "revert-confirm": "Bist du dir sicher, dass du das standard NodeBB Design wieder herstellen willst?", "theme-changed": "Design geändert", - "revert-success": "Du hast erfolgreich dein NodeBB wieder auf das Standarddesign gewechselt.", + "revert-success": "Du hast dein NodeBB erfolgreich wieder auf das Standarddesign zurückgesetzt.", "restart-to-activate": "Bitte starte dein NodeBB neu um das Design voll zu aktivieren." } \ No newline at end of file diff --git a/public/language/de/admin/development/info.json b/public/language/de/admin/development/info.json index b2768ca212..601de896a5 100644 --- a/public/language/de/admin/development/info.json +++ b/public/language/de/admin/development/info.json @@ -1,16 +1,16 @@ { - "you-are-on": "Info - You are on %1:%2", - "host": "host", - "pid": "pid", - "nodejs": "nodejs", - "online": "online", + "you-are-on": "Info - Sie verwenden %1:%2", + "host": "Host", + "pid": "PID", + "nodejs": "Node.js Version", + "online": "Online", "git": "git", - "load": "load", - "uptime": "uptime", + "load": "Auslastung", + "uptime": "Online Zeit", - "registered": "Registered", + "registered": "Registriert", "sockets": "Sockets", - "guests": "Guests", + "guests": "Gäste", "info": "Info" } \ No newline at end of file diff --git a/public/language/de/admin/development/logger.json b/public/language/de/admin/development/logger.json index 6ab9558149..bf4f4a16ac 100644 --- a/public/language/de/admin/development/logger.json +++ b/public/language/de/admin/development/logger.json @@ -1,12 +1,12 @@ { - "logger-settings": "Logger Settings", - "description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.", - "explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.", - "enable-http": "Enable HTTP logging", - "enable-socket": "Enable socket.io event logging", - "file-path": "Path to log file", - "file-path-placeholder": "/path/to/log/file.log ::: leave blank to log to your terminal", + "logger-settings": "Protokollierungseinstellungen", + "description": "Durch das markieren der Auswahlkästchen werden sie Protokolle in ihrem Terminal finden. Wenn sie einen Dateipfad angeben, werden die Protokolle stattdessen in einer Datei gespeichert. HTTP-Logging ist nützlich um Statistiken zu sammeln darüber, wer, wann was in ihrem Forum angesehen hat. Zusätzlich kann NodeBB auch Socket.io Events Protokollieren. In Kombination mit dem redis-cli Monitor kann dies ziemlich hilfreich sein um mehr über die Interne Struktur von NodeBB zu lernen.", + "explanation": "Markiere die Protokollierungseinstellungen nebenher um die Protokollierung zu (de-)aktivieren. Ein Neustart wird nicht benötigt.", + "enable-http": "HTTP-Protokollierung aktivieren", + "enable-socket": "Socket.io-Event-Protokollierung aktivieren", + "file-path": "Dateipfad zur Protokolldatei", + "file-path-placeholder": "/pfad/zur/protokoll/datei.log ::: Feld leer lassen um im Terminal zu protokollieren", - "control-panel": "Logger Control Panel", - "update-settings": "Update Logger Settings" + "control-panel": "Protokollsteuerung", + "update-settings": "Protokollierungseinstellungen aktualisieren" } \ No newline at end of file diff --git a/public/language/de/admin/extend/plugins.json b/public/language/de/admin/extend/plugins.json index 9aeea05ca2..355b20b0cd 100644 --- a/public/language/de/admin/extend/plugins.json +++ b/public/language/de/admin/extend/plugins.json @@ -5,43 +5,43 @@ "out-of-date": "Veraltet", "none-found": "Keine Plugins gefunden.", "none-active": "Keine aktiven Plugins", - "find-plugins": "Find Plugins", + "find-plugins": "Plugins finden", - "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?", - "docs-info": "Full documentation regarding plugin authoring can be found in the NodeBB Docs Portal.", + "plugin-search": "Plugin Suche", + "plugin-search-placeholder": "Nach Plugin suchen...", + "reorder-plugins": "Plugins neu sortieren", + "order-active": "Aktive Plugins sortieren", + "dev-interested": "Daran interessiert selbst Plugins für NodeBB zu schreiben?", + "docs-info": "Die komplette Dokumentation zur erstellung von Plugins kann im NodeBB Dokumentations Portal gefunden werden.", - "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": "Bestimmte Plugins funktionieren ideal, wenn diese for/nach anderen Plugins initialisiert werden.", + "order.explanation": "Die Plugins werden in der hier spezifizierten Reihenfolge geladen, von Oben nach Unten", - "plugin-item.themes": "Themes", - "plugin-item.deactivate": "Deactivate", - "plugin-item.activate": "Activate", - "plugin-item.install": "Install", - "plugin-item.uninstall": "Uninstall", + "plugin-item.themes": "Designs", + "plugin-item.deactivate": "Deaktivieren", + "plugin-item.activate": "Aktivieren", + "plugin-item.install": "Installieren", + "plugin-item.uninstall": "Deinstallieren", "plugin-item.settings": "Einstellungen", - "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.unknown-explanation": "The state of this plugin could not be determined, possibly due to a misconfiguration error.", + "plugin-item.installed": "Installiert", + "plugin-item.latest": "Neueste", + "plugin-item.upgrade": "Aktualisieren", + "plugin-item.more-info": "Für weitere Informationen:", + "plugin-item.unknown": "Unbekannt", + "plugin-item.unknown-explanation": "Der Status dieses Plugins konnte nicht bestimmt werden, möglicherweise aufgrund eines Fehlkonfigurationsfehlers.", - "alert.enabled": "Plugin Enabled", - "alert.disabled": "Plugin Disabled", - "alert.upgraded": "Plugin Upgraded", - "alert.installed": "Plugin Installed", - "alert.uninstalled": "Plugin Uninstalled", - "alert.activate-success": "Please restart your NodeBB to fully activate this plugin", - "alert.deactivate-success": "Plugin successfully deactivated", - "alert.upgrade-success": "Please reload your NodeBB to fully upgrade this plugin", - "alert.install-success": "Plugin successfully installed, please activate the plugin.", - "alert.uninstall-success": "The plugin has been successfully deactivated and uninstalled.", - "alert.suggest-error": "

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

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

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

", - "alert.incompatible": "

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

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

No Compatibility Information Found

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

In the event that NodeBB cannot boot properly:

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

Continue installation of latest version of this plugin?

" + "alert.enabled": "Plugin aktiviert", + "alert.disabled": "Plugin deaktiviert", + "alert.upgraded": "Plugin aktualisiert", + "alert.installed": "Plugin installiert", + "alert.uninstalled": "Plugin deinstalliert", + "alert.activate-success": "Bitte starten Sie ihr NodeBB neu, um dieses Plugin vollständig zu aktivieren", + "alert.deactivate-success": "Plugin erfolgreich deaktiviert", + "alert.upgrade-success": "Bitte laden Sie ihr NodeBB neu um dieses Plugin vollständig zu aktualisieren", + "alert.install-success": "Plugin erfolgreich installiert. Bitte aktivieren Sie das Plugin", + "alert.uninstall-success": "Das Plugin wurde erfolgreich deaktiviert und deinstalliert.", + "alert.suggest-error": "

NodeBB konnte den Paket-Manager nicht erreichen, wollen Sie mit der Installation der neuesten Version fortfahren

Der Server meldete (%1): %2
", + "alert.package-manager-unreachable": "

NodeBB konnte den Paket-manager nicht erreichen, eine aktualisierung wird momentan nicht empfohlen.

", + "alert.incompatible": "

Ihre NodeBB Version (v%1) ist nur für aktualisierungen bis v%2 dieses Plugins bestimmt. Bitte aktualisieren Sie NodeBB wenn Sie eine neuere Version dieses plugins installieren wollen.

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

Keine Kompatibilitätsinformationen gefunden

Dieses Plugin legte keine spezifische NodeBB version fest, welche für die Installation benötigt wird. Volle Kompatibilität kann nicht gewährleistet werden, was dazu führen könnte, dass ihr NodeBB nicht mehr korrekt startet.

Für den Fall, dass NodeBB nicht mehr ordnungsgemäß startet:

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

Soll mit der installation der neuesten Version dieses Plugins fortgefahren werden?

" } diff --git a/public/language/de/admin/extend/rewards.json b/public/language/de/admin/extend/rewards.json index 5383a90b33..5d4e5cb3da 100644 --- a/public/language/de/admin/extend/rewards.json +++ b/public/language/de/admin/extend/rewards.json @@ -1,17 +1,17 @@ { - "rewards": "Rewards", - "condition-if-users": "If User's", - "condition-is": "Is:", - "condition-then": "Then:", - "max-claims": "Amount of times reward is claimable", - "zero-infinite": "Enter 0 for infinite", - "delete": "Delete", - "enable": "Enable", - "disable": "Disable", - "control-panel": "Rewards Control", - "new-reward": "New Reward", + "rewards": "Belohnungen", + "condition-if-users": "Wenn des Benutzers", + "condition-is": "Ist:", + "condition-then": "Dann:", + "max-claims": "Anzahl der male, die diese Belohnung beansprucht werden kann", + "zero-infinite": "Geben sie 0 für unendlich ein", + "delete": "Entfernen", + "enable": "Aktivieren", + "disable": "Deaktivieren", + "control-panel": "Belohnungseinstellungen", + "new-reward": "Neue Belohnung", - "alert.delete-success": "Successfully deleted reward", - "alert.no-inputs-found": "Illegal reward - no inputs found!", - "alert.save-success": "Successfully saved rewards" + "alert.delete-success": "Die Belohnung wurde erfolgreich gelöscht", + "alert.no-inputs-found": "Ungültige Belohnung - keine Eingaben gefunden!", + "alert.save-success": "Belohnungen erfolgreich gespeichert" } \ No newline at end of file diff --git a/public/language/de/admin/extend/widgets.json b/public/language/de/admin/extend/widgets.json index 477bb15e56..73308e9c16 100644 --- a/public/language/de/admin/extend/widgets.json +++ b/public/language/de/admin/extend/widgets.json @@ -1,19 +1,19 @@ { - "available": "Available Widgets", - "explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.", - "none-installed": "No widgets found! Activate the essential widgets plugin in the plugins control panel.", - "containers.available": "Available Containers", - "containers.explanation": "Drag and drop on top of any active widget", - "containers.none": "None", - "container.well": "Well", + "available": "Verfügbare Widgets", + "explanation": "Wählen Sie ein Widget vom Dropdown-Menu aus und ziehen Sie es anschließend links in den Widget-Bereich einer Vorlage.", + "none-installed": "Keine Widgets gefunden! Aktivieren Sie das \"essential widgets\"-Plugin in den Plugin-Einstellungen.", + "containers.available": "Verfügbare Container", + "containers.explanation": "Ziehen Sie sie auf ein beliebiges aktives Widget", + "containers.none": "Nichts", + "container.well": "Brunnen", "container.jumbotron": "Jumbotron", "container.panel": "Panel", - "container.panel-header": "Panel Header", - "container.panel-body": "Panel Body", - "container.alert": "Alert", + "container.panel-header": "Panel Kopfbereich", + "container.panel-body": "Panel Körper", + "container.alert": "Alarm", - "alert.confirm-delete": "Are you sure you wish to delete this widget?", - "alert.updated": "Widgets Updated", - "alert.update-success": "Successfully updated widgets" + "alert.confirm-delete": "Sind Sie sicher, dass Sie dieses Widget löschen wollen?", + "alert.updated": "Widgets aktualisiert", + "alert.update-success": "Widgets erfolgreich aktualisiert" } \ No newline at end of file diff --git a/public/language/de/admin/general/dashboard.json b/public/language/de/admin/general/dashboard.json index b6eda417ab..451b7434cf 100644 --- a/public/language/de/admin/general/dashboard.json +++ b/public/language/de/admin/general/dashboard.json @@ -1,63 +1,63 @@ { "forum-traffic": "Forum Traffic", "page-views": "Seitenaufrufe", - "unique-visitors": "Besucher", - "users": "Users", - "posts": "Posts", - "topics": "Topics", + "unique-visitors": "Individuelle Besucher", + "users": "Benutzer", + "posts": "Beiträge", + "topics": "Themen", "page-views-last-month": "Aufrufe im letzten Monat", "page-views-this-month": "Aufrufe in diesem Monat", "page-views-last-day": "Aufrufe in den letzten 24 Stunden", - "stats.day": "diesen Tag", - "stats.week": "diese Woche", - "stats.month": "diesen Monat", + "stats.day": "Diesen Tag", + "stats.week": "Diese Woche", + "stats.month": "Diesen Monat", "stats.all": "Alle", "updates": "Updates", "running-version": "Es läuft NodeBB v%1.", - "keep-updated": "Stelle immer sicher, dass dein NodeBB auf dem neuesten Stand ist für die neuesten Sicherheits-Patches und Bug-fixes.", - "up-to-date": "

System ist aktuell

", - "upgrade-available": "

Version (v%1) wurde veröffentlicht. Beachte um ein NodeBB Upgrade durchzuführen.

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

Das ist eine veraltete pre-release Version von NodeBB. Version (v%1) wurde veröffentlicht. Beachte um ein NodeBB Upgrade durchzuführen.

", - "prerelease-warning": "

Das ist eine pre-release Version von NodeBB. Es können ungewollte Fehler auftreten.

", + "keep-updated": "Stelle sicher, dass dein NodeBB immer auf dem neuesten Stand für die neuesten Sicherheits-Patches und Bug-fixes ist.", + "up-to-date": "

System ist aktuell

", + "upgrade-available": "

Version (v%1) wurde veröffentlicht. Beachte um ein NodeBB Upgrade durchzuführen.

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

Das ist eine veraltete pre-release Version von NodeBB. Version (v%1) wurde veröffentlicht. Beachte um ein NodeBB Upgrade durchzuführen.

", + "prerelease-warning": "

Das ist eine pre-release Version von NodeBB. Es können ungewollte Fehler auftreten.

", "notices": "Hinweise", - "restart-not-required": "Restart not required", - "restart-required": "Restart required", - "search-plugin-installed": "Search Plugin installed", - "search-plugin-not-installed": "Search Plugin not installed", - "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", + "restart-not-required": "Neustart nicht benötigt", + "restart-required": "Neustart benötigt", + "search-plugin-installed": "Such-Plugin installiert", + "search-plugin-not-installed": "Such-Plugin nicht installiert", + "search-plugin-tooltip": "Installieren Sie ein Such-Plugin auf der Plugin seite um die Such-Funktionalität zu aktivieren", "control-panel": "Systemsteuerung", "reload": "Reload", "restart": "Neustart", "restart-warning": "Ein Reload oder Neustart trennt die Verbindung für ein paar Sekunden.", "maintenance-mode": "Wartungsmodus", - "maintenance-mode-title": "Hier klicken um NodeBB in den Wartungsmodus zu setzen", + "maintenance-mode-title": "Hier klicken um NodeBB in den Wartungsmodus zu versetzen", "realtime-chart-updates": "Echtzeit Chartaktualisierung", - "active-users": "aktive Benutzer", + "active-users": "Aktive Benutzer", "active-users.users": "Benutzer", "active-users.guests": "Gäste", "active-users.total": "Gesamt", "active-users.connections": "Verbindungen", - "anonymous-registered-users": "anonyme vs registrierte Benutzer", + "anonymous-registered-users": "Anonyme vs Registrierte Benutzer", "anonymous": "Anonym", "registered": "Registriert", "user-presence": "Benutzerpräsenz", - "on-categories": "auf Kategorie Übersicht", - "reading-posts": "Beiträge lesen", - "browsing-topics": "Themen durchsuchen", + "on-categories": "Auf Kategorieübersicht", + "reading-posts": "Beiträge lesend", + "browsing-topics": "Themen durchsuchend", "recent": "Aktuell", "unread": "Ungelesen", "high-presence-topics": "Meist besuchte Themen", "graphs.page-views": "Seitenaufrufe", - "graphs.unique-visitors": "verschiedene Besucher", - "graphs.registered-users": "registrierte Benutzer", - "graphs.anonymous-users": "anonyme Benutzer" + "graphs.unique-visitors": "Verschiedene Besucher", + "graphs.registered-users": "Registrierte Benutzer", + "graphs.anonymous-users": "Anonyme Benutzer" } diff --git a/public/language/de/admin/general/homepage.json b/public/language/de/admin/general/homepage.json index 737296b223..3b8b02333e 100644 --- a/public/language/de/admin/general/homepage.json +++ b/public/language/de/admin/general/homepage.json @@ -3,5 +3,5 @@ "description": "Wähle aus, welche Seite angezeigt werden soll, wenn Nutzer zur Startseite des Forums navigieren.", "home-page-route": "Startseitenpfad", "custom-route": "Eigener Startseitenpfad", - "allow-user-home-pages": "Benutzer eigene Startseiten erlauben" + "allow-user-home-pages": "Benutzern eigene Startseiten erlauben" } \ No newline at end of file diff --git a/public/language/de/admin/general/languages.json b/public/language/de/admin/general/languages.json index 6940df18c3..ffea3c3f7d 100644 --- a/public/language/de/admin/general/languages.json +++ b/public/language/de/admin/general/languages.json @@ -1,5 +1,5 @@ { "language-settings": "Spracheinstellungen", "description": "Die Standardsprache legt die Spracheinstellungen für alle Benutzer fest, die das Forum besuchen.
Einzelne Benutzer können die Standardsprache auf der Seite mit den Kontoeinstellungen überschreiben.", - "default-language": "Standartsprache" + "default-language": "Standardsprache" } \ No newline at end of file diff --git a/public/language/de/admin/general/navigation.json b/public/language/de/admin/general/navigation.json index 7848f3aa43..408b4537c5 100644 --- a/public/language/de/admin/general/navigation.json +++ b/public/language/de/admin/general/navigation.json @@ -4,17 +4,17 @@ "route": "Pfad:", "tooltip": "Tooltip:", "text": "Text:", - "text-class": "Text Stil: optional", + "text-class": "Text Klasse: optional", "id": "ID: optional", "properties": "Eigenschaften:", - "only-admins": "Nur sichtbar für Admins", - "only-global-mods-and-admins": "Nur sichtbar für Globale Moderatoren und Admins", - "only-logged-in": "Nur sichtbar für angemeldete Benutzer", + "only-admins": "Nur für Admins sichtbar", + "only-global-mods-and-admins": "Nur für Globale Moderatoren und Admins sichtbar", + "only-logged-in": "Nur für angemeldete Benutzer sichtbar", "open-new-window": "In neuem Fenster öffnen", - "installed-plugins-required": "Installierte Plugins notwendig:", - "search-plugin": "Search plugin", + "installed-plugins-required": "Benötigte installierte Plugins:", + "search-plugin": "Such-Plugin", "btn.delete": "Löschen", "btn.disable": "Deaktivieren", diff --git a/public/language/de/admin/manage/categories.json b/public/language/de/admin/manage/categories.json index aea5937fb5..0bc48e206c 100644 --- a/public/language/de/admin/manage/categories.json +++ b/public/language/de/admin/manage/categories.json @@ -1,22 +1,22 @@ { - "settings": "Kategorie Einstellungen", + "settings": "Kategorieeinstellungen", "privileges": "Berechtigungen", - "name": "Kategorie Name", - "description": "Kategorie Beschreibung", + "name": "Kategoriename", + "description": "Kategorie-Beschreibung", "bg-color": "Hintergrundfarbe", "text-color": "Textfarbe", - "bg-image-size": "Größe Hintergrundbild", - "custom-class": "Benutzderdefinierter Stil", + "bg-image-size": "Hintergrundbildgröße", + "custom-class": "Benutzderdefinierte Klasse", "num-recent-replies": "Anzahl neuer Antworten", "ext-link": "Externer Link", "upload-image": "Bild hochladen", "delete-image": "Entfernen", - "category-image": "Kategorie Bild", + "category-image": "Kategoriebild", "parent-category": "Übergeordnete Kategorie", "optional-parent-category": "(Optional) Übergeordnete Kategorie", "parent-category-none": "(Keine)", - "copy-settings": "kopiere Einstellungen von", + "copy-settings": "Kopiere Einstellungen von", "optional-clone-settings": "(Optional) dubliziere Einstellungen von Kategorie", "purge": "Kategorie löschen", @@ -24,10 +24,10 @@ "disable": "Deaktivieren", "edit": "Bearbeiten", - "select-category": "Wähle Kategorie", + "select-category": "Kategorie auswählen", "set-parent-category": "Übergeordnete Kategorie festlegen", - "privileges.description": "In diesem Bereich können die Zugriffsberechtigungen für diese Kategorie konfiguriert werden. Berechtigungen können pro-Benutzer oder pro-Gruppe gewährt werden. Du kannst einen neuen Benutzer zu dieser Tabelle hinzufügen, indem du sie in dem folgenden Formular suchst.", + "privileges.description": "In diesem Bereich können die Zugriffsberechtigungen für diese Kategorie konfiguriert werden. Berechtigungen können pro Benutzer oder pro Gruppe gewährt werden. Du kannst einen neuen Benutzer zu dieser Tabelle hinzufügen, indem du sie in dem folgenden Formular suchst.", "privileges.warning": "Hinweis: Die Zugriffsberechtigungen werden sofort wirksam. Es ist nicht notwendig, die Kategorie zu speichern, nachdem du die Einstellungen angepasst hast.", "privileges.section-viewing": "Ansichtsberechtigungen", "privileges.section-posting": "Schreibberechtigungen", @@ -43,7 +43,7 @@ "privileges.inherit": "Wenn der Gruppe registered-users eine bestimmte Berechtigung erteilt wird, erhalten alle anderen Gruppen eine implizite Berechtigung, auch wenn sie nicht explizit definiert / ausgewählt werden. Diese implizite Berechtigung wird dir angezeigt, da alle Benutzer Teil der Gruppe registered-users sind und daher keine Berechtigungen für zusätzliche Gruppen explizit erteilt werden müssen.", "analytics.back": "Zurück zur Kategorien Übersicht", - "analytics.title": "Analyse für \\\"%1\\\" Kategorie", + "analytics.title": "Analyse für \"%1\" Kategorie", "analytics.pageviews-hourly": "Diagramm 1 – Stündliche Seitenaufrufe in dieser Kategorie", "analytics.pageviews-daily": "Diagramm 2 – Tägliche Seitenaufrufe in dieser Kategorie", "analytics.topics-daily": "Diagramm 3 – Täglich erstellte Themen in dieser Kategorie", @@ -54,13 +54,13 @@ "alert.none-active": "Du hast keine aktiven Kategorien.", "alert.create": "Erstelle eine Kategorie", "alert.confirm-moderate": "Bist du sicher, dass du dieser Gruppe das Moderationsrecht gewähren möchtest? Diese Gruppe ist öffentlich, und alle Benutzer können nach Belieben beitreten.", - "alert.confirm-purge": "

Möchtest du die Kategorie \\\"%1\\\" wirklich löschen?

Warnung! Alle Themen und Beiträge in dieser Kategorie werden gelöscht!

Löschen einer Kategorie wird alle Themen und Beiträge zu entfernen, und die Kategorie aus der Datenbank löschen. Falls du eine Kategorie temporär entfernen möchstest, dann kannst du sie stattdessen \\\"deaktivieren\\\".", + "alert.confirm-purge": "

Möchtest du die Kategorie \"%1\" wirklich löschen?

Warnung! Alle Themen und Beiträge in dieser Kategorie werden gelöscht!

Löschen einer Kategorie wird alle Themen und Beiträge zu entfernen, und die Kategorie aus der Datenbank löschen. Falls du eine Kategorie temporär entfernen möchstest, dann kannst du sie stattdessen \"deaktivieren\".", "alert.purge-success": "Kategorie gelöscht!", "alert.copy-success": "Einstellungen kopiert!", "alert.set-parent-category": "Übergeordnete Kategorie festlegen", "alert.updated": "Kategorien aktualisiert", "alert.updated-success": "Kategorie IDs %1 erfolgreich aktualisiert.", - "alert.upload-image": "Kategorie Bild hochladen", + "alert.upload-image": "Kategoriebild hochladen", "alert.find-user": "Benutzer finden", "alert.user-search": "Hier nach einem Benutzer suchen...", "alert.find-group": "Gruppe finden", diff --git a/public/language/de/admin/manage/flags.json b/public/language/de/admin/manage/flags.json index bfc488a409..b215a75901 100644 --- a/public/language/de/admin/manage/flags.json +++ b/public/language/de/admin/manage/flags.json @@ -1,19 +1,19 @@ { - "daily": "Daily flags", - "by-user": "Flags by user", - "by-user-search": "Search flagged posts by username", - "category": "Category", - "sort-by": "Sort By", - "sort-by.most-flags": "Most Flags", - "sort-by.most-recent": "Most Recent", - "search": "Search", - "dismiss-all": "Dismiss All", - "none-flagged": "No flagged posts!", - "posted-in": "Posted in %1", - "read-more": "Read More", - "flagged-x-times": "This post has been flagged %1 time(s):", - "dismiss": "Dismiss this Flag", - "delete-post": "Delete the Post", + "daily": "Tägliche Meldungen", + "by-user": "Meldungen des Benutzers", + "by-user-search": "Nach gemeldeten Beiträgen anhand des Benutzernamens Suchen", + "category": "Kategorie", + "sort-by": "Sortieren nach:", + "sort-by.most-flags": "Meiste Meldungen", + "sort-by.most-recent": "Neueste", + "search": "Suche", + "dismiss-all": "Alle verwerfen", + "none-flagged": "Keine gemeldeten Beiträge", + "posted-in": "Gepostet am %1", + "read-more": "Mehr Lesen", + "flagged-x-times": "Dieser Beitrag wurde %1 mal gemeldet:", + "dismiss": "Diese Meldung verwerfen", + "delete-post": "Beitrag löschen", - "alerts.confirm-delete-post": "Do you really want to delete this post?" + "alerts.confirm-delete-post": "Sind Sie sicher, dass Sie diesen beitrag löschen wollen?" } \ No newline at end of file diff --git a/public/language/de/admin/manage/groups.json b/public/language/de/admin/manage/groups.json index b5e526aacf..818d721601 100644 --- a/public/language/de/admin/manage/groups.json +++ b/public/language/de/admin/manage/groups.json @@ -1,34 +1,34 @@ { - "name": "Group Name", - "description": "Group Description", - "system": "System Group", - "edit": "Edit", - "search-placeholder": "Search", - "create": "Create Group", - "description-placeholder": "A short description about your group", - "create-button": "Create", + "name": "Gruppenname", + "description": "Gruppenbeschreibung", + "system": "System-Gruppe", + "edit": "Ändern", + "search-placeholder": "Suchen", + "create": "Gruppe erstellen", + "description-placeholder": "Eine kurze Beschreibung deiner Gruppe", + "create-button": "Erstellen", - "alerts.create-failure": "Uh-Oh

There was a problem creating your group. Please try again later!

", - "alerts.confirm-delete": "Are you sure you wish to delete this group?", + "alerts.create-failure": "Oh Oh

Ein Problem ist beim erstellen deiner Gruppe aufgetreten. Bitte versuche es später noch mal!

", + "alerts.confirm-delete": "Sind Sie sicher, dass Sie diese Gruppe löschen wollen?", "edit.name": "Name", - "edit.description": "Description", - "edit.user-title": "Title of Members", - "edit.icon": "Group Icon", - "edit.label-color": "Group Label Color", - "edit.show-badge": "Show Badge", - "edit.private-details": "If enabled, joining of groups requires approval from a group owner.", - "edit.private-override": "Warning: Private groups is disabled at system level, which overrides this option.", - "edit.disable-requests": "Disable join requests", - "edit.hidden": "Hidden", - "edit.hidden-details": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually", - "edit.add-user": "Add User to Group", - "edit.add-user-search": "Search Users", - "edit.members": "Member List", - "control-panel": "Groups Control Panel", - "revert": "Revert", + "edit.description": "Beschreibung", + "edit.user-title": "Titel der Mitglieder", + "edit.icon": "Gruppenbild", + "edit.label-color": "Gruppenlabelfarbe", + "edit.show-badge": "Abzeichen zeigen", + "edit.private-details": "Wenn aktiviert, benögt das Beitreten von Gruppen das Einverständnis eines Gruppenbesitzers", + "edit.private-override": "Warnung: Private Gruppen sind auf System-Level deaktiviert, was diese Option überschreibt.", + "edit.disable-requests": "Gruppenbeitrittsanfragen deaktivieren", + "edit.hidden": "Versteckt", + "edit.hidden-details": "Wenn aktiviert, wird diese Gruppe nicht im Gruppen-Listing angezeigt und Benutzer müssten manuell eingeladen werden.", + "edit.add-user": "Benutzer zur Gruppe hinzufügen", + "edit.add-user-search": "Benutzer suchen", + "edit.members": "Mitgliederliste", + "control-panel": "Gruppeneinstellungen", + "revert": "Rückgängig machen", - "edit.no-users-found": "No Users Found", - "edit.confirm-remove-user": "Are you sure you want to remove this user?", - "edit.save-success": "Changes saved!" + "edit.no-users-found": "Keine Benutzer gefunden", + "edit.confirm-remove-user": "Sind Sie sicher, dass Sie diesen Benutzer entfernen wollen?", + "edit.save-success": "Änderungen gespeichert!" } \ No newline at end of file diff --git a/public/language/de/admin/manage/ip-blacklist.json b/public/language/de/admin/manage/ip-blacklist.json index 5106434351..e98633eee8 100644 --- a/public/language/de/admin/manage/ip-blacklist.json +++ b/public/language/de/admin/manage/ip-blacklist.json @@ -1,15 +1,15 @@ { - "lead": "Configure your IP blacklist here.", - "description": "Occasionally, a user account ban is not enough of a deterrant. Other times, restricting access to the forum to a specific IP or a range of IPs is the best way to protect a forum. In these scenarios, you can add troublesome IP addresses or entire CIDR blocks to this blacklist, and they will be prevented from logging in to or registering a new account.", - "active-rules": "Active Rules", - "validate": "Validate Blacklist", - "apply": "Apply Blacklist", - "hints": "Syntax Hints", - "hint-1": "Define a single IP addresses per line. You can add IP blocks as long as they follow the CIDR format (e.g. 192.168.100.0/22).", - "hint-2": "You can add in comments by starting lines with the # symbol.", + "lead": "Konfiguriere hier deine IP-Blacklist", + "description": "Manchmal ist ein User-Bann nicht abschreckend genug. In vielen Fällen ist es daher sinvoll, den Zugriff auf ein Forum für eine bestimmte Reihe von IP-Adressen zu blockieren. In diesen Fällen können Sie problematische IP-Adressen oder komplette CIDR Blöcke zu dieser Blacklist hinzufügen, welche dann daran gehindert werden sich einzuloggen, oder einen neuen Account zu erstellen.", + "active-rules": "Aktive Regeln", + "validate": "Blacklist validieren", + "apply": "Blacklist anwenden", + "hints": "Syntax Hinweise", + "hint-1": "Fügen Sie einzelne IP-Adresses pro Zeile ein. Sie können IP-Blöcke hinzufügen, so lange diese im CIDR Format (z.b. 192.168.100.0/22) eingegeben werden.", + "hint-2": "Sie können Kommentare hinzufügen, indem Sie die Zeilen mit dem # Symbol beginnen.", - "validate.x-valid": "%1 out of %2 rule(s) valid.", - "validate.x-invalid": "The following %1 rules are invalid:", + "validate.x-valid": "%1 von %2 Regel(n) zulässig.", + "validate.x-invalid": "Die folgenden %1 Regeln sind unzulässig:", - "alerts.applied-success": "Blacklist Applied" + "alerts.applied-success": "Blacklist angewandt" } \ No newline at end of file diff --git a/public/language/de/admin/manage/registration.json b/public/language/de/admin/manage/registration.json index f51b4d56e6..f8e1f5f4ad 100644 --- a/public/language/de/admin/manage/registration.json +++ b/public/language/de/admin/manage/registration.json @@ -1,20 +1,20 @@ { - "queue": "Queue", - "description": "There are no users in the registration queue.
To enable this feature, go to Settings → User → User Registration and set Registration Type to \"Admin Approval\".", + "queue": "Schlange", + "description": "Es sind keine Benutzer in der Registrierungsschlange.
Um diese Funktion zu aktivieren, gehen SIe zur Einstellungen → Benutzer → Benutzer registrierung und ändern sie Registrierungsart auf \"Admin Genehmigung\".", "list.name": "Name", "list.email": "Email", - "list.ip": "IP", - "list.time": "Time", - "list.username-spam": "Frequency: %1 Appears: %2 Confidence: %3", - "list.email-spam": "Frequency: %1 Appears: %2", - "list.ip-spam": "Frequency: %1 Appears: %2", + "list.ip": "IP-Adresse", + "list.time": "Zeit", + "list.username-spam": "Häufigkeit: %1 Erscheint: %2 Sicherheit: %3", + "list.email-spam": "Häufigkeit: %1 Erscheint: %2", + "list.ip-spam": "Häufigkeit: %1 Erscheint: %2", - "invitations": "Invitations", - "invitations.description": "Below is a complete list of invitations sent. Use ctrl-f to search through the list by email or username.

The username will be displayed to the right of the emails for users who have redeemed their invitations.", - "invitations.inviter-username": "Inviter Username", - "invitations.invitee-email": "Invitee Email", - "invitations.invitee-username": "Invitee Username (if registered)", + "invitations": "Einladungen", + "invitations.description": "Unterhalb ist eine komplette Liste der versandten Einladungen. Benutze Strg+F um die Liste per Email oder Nutzername zu durchsuchen.

Der Nutzername wird für die Nutzer die ihre einladung angenommen haben Rechts von den Emails angezeigt.", + "invitations.inviter-username": "Nutzername des Einladenden", + "invitations.invitee-email": "Email des eingeladenen", + "invitations.invitee-username": "Nutzername des eingeladenen (Wenn registriert)", - "invitations.confirm-delete": "Are you sure you wish to delete this invitation?" + "invitations.confirm-delete": "Sind Sie sicher, dass Sie diese Einladung löschen wollen?" } \ No newline at end of file diff --git a/public/language/de/admin/manage/tags.json b/public/language/de/admin/manage/tags.json index db40e9f098..d9230c2253 100644 --- a/public/language/de/admin/manage/tags.json +++ b/public/language/de/admin/manage/tags.json @@ -1,18 +1,18 @@ { - "none": "Your forum does not have any topics with tags yet.", - "bg-color": "Background Colour", - "text-color": "Text Colour", - "create-modify": "Create & Modify Tags", - "description": "Select tags via clicking and/or dragging, use shift to select multiple.", - "create": "Create Tag", - "modify": "Modify Tags", - "delete": "Delete Selected Tags", - "search": "Search for tags...", - "settings": "Click here to visit the tag settings page.", - "name": "Tag Name", + "none": "Ihr Form hat bisher noch keine Themen mit Tags.", + "bg-color": "Hintergrundfarbe", + "text-color": "Textfarbe", + "create-modify": "Tags erstellen & bearbeiten", + "description": "Wählen sie Tags aus indem sie klicken und/oder ziehen, drücken die Shift um mehrere auszuwählen", + "create": "Tag erstellen", + "modify": "Tag bearbeiten", + "delete": "Ausgewählte Tags entfernen", + "search": "Nach Tags suchen", + "settings": "Klicken Sie hier um die Tag-Einstellungsseite zu öffnen.", + "name": "Tagname", - "alerts.editing-multiple": "Editing multiple tags", - "alerts.editing-x": "Editing \"%1\" tag", - "alerts.confirm-delete": "Do you want to delete the selected tags?", - "alerts.update-success": "Tag Updated!" + "alerts.editing-multiple": "Bearbeite mehrere Tags", + "alerts.editing-x": "Bearbeite Tag \"%1\"", + "alerts.confirm-delete": "Wollen Sie die ausgewählten Tags löschen?", + "alerts.update-success": "Tag aktualisiert!" } \ No newline at end of file diff --git a/public/language/de/admin/manage/users.json b/public/language/de/admin/manage/users.json index f1651a814b..277b0a200e 100644 --- a/public/language/de/admin/manage/users.json +++ b/public/language/de/admin/manage/users.json @@ -1,91 +1,91 @@ { - "users": "Users", - "edit": "Edit", - "make-admin": "Make Admin", - "remove-admin": "Remove Admin", - "validate-email": "Validate Email", - "send-validation-email": "Send Validation Email", - "password-reset-email": "Send Password Reset Email", - "ban": "Ban User(s)", - "temp-ban": "Ban User(s) Temporarily", - "unban": "Unban User(s)", - "reset-lockout": "Reset Lockout", - "reset-flags": "Reset Flags", - "delete": "Delete User(s)", - "purge": "Delete User(s) and Content", - "download-csv": "Download CSV", - "invite": "Invite", - "new": "New User", + "users": "Benutzer", + "edit": "Bearbeiten", + "make-admin": "Zum Administrator befördern", + "remove-admin": "Adminstatus entfernen", + "validate-email": "Email bestätigen", + "send-validation-email": "Bestätigungsemail senden", + "password-reset-email": "Passwortreset email senden", + "ban": "Benutzer verbannen", + "temp-ban": "Benutzer temporär verbannen", + "unban": "Benutzer entbannen", + "reset-lockout": "Ausschließungen zurücksetzen", + "reset-flags": "Meldungen zurücksetzen", + "delete": "Benutzer Löschen", + "purge": "Benutzer mit Beiträgen löschen", + "download-csv": "CSV herunterladen", + "invite": "Einladen", + "new": "Neuer Benutzer", - "pills.latest": "Latest Users", - "pills.unvalidated": "Not Validated", - "pills.no-posts": "No Posts", - "pills.top-posters": "Top Posters", - "pills.top-rep": "Most Reputation", - "pills.inactive": "Inactive", - "pills.flagged": "Most Flagged", - "pills.banned": "Banned", - "pills.search": "User Search", + "pills.latest": "Neueste Benutzer", + "pills.unvalidated": "Nicht bestätigt", + "pills.no-posts": "Keine Beiträge", + "pills.top-posters": "Top Poster", + "pills.top-rep": "Größtes Ansehen", + "pills.inactive": "Inaktiv", + "pills.flagged": "Meist gemeldetster", + "pills.banned": "Gebannt", + "pills.search": "Benutzer Suche", - "search.username": "By User Name", - "search.username-placeholder": "Enter a username to search", - "search.email": "By Email", - "search.email-placeholder": "Enter a email to search", - "search.ip": "By IP Address", - "search.ip-placeholder": "Enter an IP Address to search", - "search.not-found": "User not found!", + "search.username": "Nach Nutzernamen", + "search.username-placeholder": "Geben Sie einen Nutzernamen ein um danach zu suchen", + "search.email": "Nach Email", + "search.email-placeholder": "Geben Sie eine Email Adresse ein um danach zu suchen", + "search.ip": "Nach IP-Adresse", + "search.ip-placeholder": "Geben Sie eine IP Adresse ein um danach zu suchen", + "search.not-found": "Benutzer nicht gefunden!", - "inactive.3-months": "3 months", - "inactive.6-months": "6 months", - "inactive.12-months": "12 months", + "inactive.3-months": "3 Monate", + "inactive.6-months": "6 Monate", + "inactive.12-months": "12 Monate", - "users.uid": "uid", - "users.username": "username", - "users.email": "email", - "users.postcount": "postcount", - "users.reputation": "reputation", - "users.flags": "flags", - "users.joined": "joined", - "users.last-online": "last online", - "users.banned": "banned", + "users.uid": "UID", + "users.username": "Nutzername", + "users.email": "Email", + "users.postcount": "Anzahl der Beiträge", + "users.reputation": "Ansehen", + "users.flags": "Meldungen", + "users.joined": "Beigetreten am", + "users.last-online": "Letztes mal online", + "users.banned": "Gebannt", - "create.username": "User Name", + "create.username": "Benutzername", "create.email": "Email", - "create.email-placeholder": "Email of this user", - "create.password": "Password", - "create.password-confirm": "Confirm Password", + "create.email-placeholder": "Email dieses Benutzers", + "create.password": "Passwort", + "create.password-confirm": "Passwort bestätigen", - "temp-ban.length": "Ban Length", - "temp-ban.reason": "Reason (Optional)", - "temp-ban.hours": "Hours", - "temp-ban.days": "Days", - "temp-ban.explanation": "Enter the length of time for the ban. Note that a time of 0 will be a considered a permanent ban.", + "temp-ban.length": "Banndauer", + "temp-ban.reason": "Grund (Optional)", + "temp-ban.hours": "Stunden", + "temp-ban.days": "Tage", + "temp-ban.explanation": "Geben Sie die dauer des Bans an. Beachten Sie, dass eine Zeit von 0 als permanent interpretiert wird.", - "alerts.confirm-ban": "Do you really want to ban this user permanently?", - "alerts.confirm-ban-multi": "Do you really want to ban these users permanently?", - "alerts.ban-success": "User(s) banned!", - "alerts.button-ban-x": "Ban %1 user(s)", - "alerts.unban-success": "User(s) unbanned!", - "alerts.lockout-reset-success": "Lockout(s) reset!", - "alerts.flag-reset-success": "Flags(s) reset!", - "alerts.no-remove-yourself-admin": "You can't remove yourself as Administrator!", - "alerts.make-admin-success": "User(s) are now administrators.", - "alerts.confirm-remove-admin": "Do you really want to remove admins?", - "alerts.remove-admin-success": "User(s) are no longer administrators.", - "alerts.confirm-validate-email": "Do you want to validate email(s) of these user(s)?", - "alerts.validate-email-success": "Emails validated", - "alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?", - "alerts.confirm-delete": "Warning!
Do you really want to delete user(s)?
This action is not reversable! Only the user account will be deleted, their posts and topics will remain.", - "alerts.delete-success": "User(s) Deleted!", - "alerts.confirm-purge": "Warning!
Do you really want to delete user(s) and their content?
This action is not reversable! All user data and content will be erased!", - "alerts.create": "Create User", - "alerts.button-create": "Create", - "alerts.button-cancel": "Cancel", - "alerts.error-passwords-different": "Passwords must match!", - "alerts.error-x": "Error

%1

", - "alerts.create-success": "User created!", + "alerts.confirm-ban": "Wollen Sie diesen Nutzer wirklich permanent bannen?", + "alerts.confirm-ban-multi": "Wollen Sie diese Nutzer wirklich permanent bannen?", + "alerts.ban-success": "Benutzer gebannt!", + "alerts.button-ban-x": "%1 Nutzer bannen", + "alerts.unban-success": "Benutzer entbannt!", + "alerts.lockout-reset-success": "Ausschlüsse zurückgesetzt", + "alerts.flag-reset-success": "Meldung(en) zurückgesetzt!", + "alerts.no-remove-yourself-admin": "Du kannst dich nicht selbst als Administrator degradieren!", + "alerts.make-admin-success": "Die Benutzer sind nun Administratoren.", + "alerts.confirm-remove-admin": "Möchtest du wirklich Admins entfernen?", + "alerts.remove-admin-success": "Diese(r) Nutzer sind/ist kein(e) Administrator(en) mehr ", + "alerts.confirm-validate-email": "Möchten Sie wirklich die Emails dieser benutzer/dieses benutzers bestätigen?", + "alerts.validate-email-success": "Emails bestätigt", + "alerts.password-reset-confirm": "Möchten Sie wirklich (eine) Passwort-Reset-Email(s) an diese(n) Benutzer schicken?", + "alerts.confirm-delete": "Warnung!
Wollen Sie wirklich diese(n) Benutzer löschen?
Diese Aktion kann nicht rückgängig gemacht werden! Nur der Account wird dabei gelöscht. Deren Themen und Beiträge bleiben dabei erhalten.", + "alerts.delete-success": "Benutzer gelöscht!", + "alerts.confirm-purge": "Warnung!
Sind Sie sicher, dass Sie diese Nutzer und deren Beiträge löschen wollen?
Diese Aktion kann nicht rückgängig gemacht werden! Alle Nutzerdaten und Beiträge werden dabei gelöscht!", + "alerts.create": "Nutzer Erstellen", + "alerts.button-create": "Erstellen", + "alerts.button-cancel": "Abbrechen", + "alerts.error-passwords-different": "Die Passwörter müssen übereinstimmen", + "alerts.error-x": "Fehler

%1

", + "alerts.create-success": "Nutzer erstellt", - "alerts.prompt-email": "Email: ", - "alerts.email-sent-to": "An invitation email has been sent to %1", - "alerts.x-users-found": "%1 user(s) found! Search took %2 ms." + "alerts.prompt-email": "Email:", + "alerts.email-sent-to": "Eine Einladungsemail wurde an %1 gesendet", + "alerts.x-users-found": "%1 Nutzer gefunden! Die Suche dauerte %2ms." } \ No newline at end of file diff --git a/public/language/de/admin/menu.json b/public/language/de/admin/menu.json index 1dcb331bb5..98af5b0481 100644 --- a/public/language/de/admin/menu.json +++ b/public/language/de/admin/menu.json @@ -9,7 +9,7 @@ "section-manage": "Verwalten", "manage/categories": "Kategorien", - "manage/tags": "Schlagworte", + "manage/tags": "Tags", "manage/users": "Benutzer", "manage/registration": "Warteliste", "manage/groups": "Gruppen", @@ -26,7 +26,7 @@ "settings/post": "Beiträge", "settings/chat": "Chat", "settings/pagination": "Seitennummerierung", - "settings/tags": "Schlagworte", + "settings/tags": "Tags", "settings/notifications": "Benachrichtigungen", "settings/cookies": "Cookies", "settings/web-crawler": "Web Crawler", @@ -38,7 +38,7 @@ "section-appearance": "Aussehen", "appearance/themes": "Themes", "appearance/skins": "Skins", - "appearance/customise": "Eigene HTML & CSS", + "appearance/customise": "Benutzerdefiniertes HTML & CSS", "section-extend": "Erweitert", "extend/plugins": "Plugins", diff --git a/public/language/de/admin/settings/advanced.json b/public/language/de/admin/settings/advanced.json index b023528d04..b763912a7b 100644 --- a/public/language/de/admin/settings/advanced.json +++ b/public/language/de/admin/settings/advanced.json @@ -1,12 +1,12 @@ { - "maintenance-mode": "Maintenance Mode", - "maintenance-mode.help": "When the forum is in maintenance mode, all requests will be redirected to a static holding page. Administrators are exempt from this redirection, and are able to access the site normally.", - "maintenance-mode.message": "Maintenance Message", + "maintenance-mode": "Wartungsmodus", + "maintenance-mode.help": "Während das Forum im Wartungsmodus ist werden alle Anfragen zu einer statischen Seite weitergeleitet. Administratoren sind von dieser Weiterleitung ausgenommen und können die Seite normal aufrufen.", + "maintenance-mode.message": "Wartungsnachricht", "headers": "Headers", "headers.allow-from": "Set ALLOW-FROM to Place NodeBB in an iFrame", - "headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB", + "headers.powered-by": "Anpassen des \"Powered By\" Headers von NodeBB", "headers.acao": "Access-Control-Allow-Origin", - "headers.acao-help": "To deny access to all sites, leave empty or set to null", + "headers.acao-help": "Um den Zugriff auf alle Seiten zu blockieren, leer lassen oder auf null setzen", "headers.acam": "Access-Control-Allow-Methods", "headers.acah": "Access-Control-Allow-Headers", "traffic-management": "Traffic Management", diff --git a/public/language/de/admin/settings/chat.json b/public/language/de/admin/settings/chat.json index 0b22127341..b1e6539576 100644 --- a/public/language/de/admin/settings/chat.json +++ b/public/language/de/admin/settings/chat.json @@ -1,9 +1,9 @@ { - "chat-settings": "Chat Settings", - "disable": "Disable chat", - "disable-editing": "Disable chat message editing/deletion", - "disable-editing-help": "Administrators and global moderators are exempt from this restriction", - "max-length": "Maximum length of chat messages", - "max-room-size": "Maximum number of users in chat rooms", - "delay": "Time between chat messages in milliseconds" + "chat-settings": "Chateinstellungen", + "disable": "Chat deaktivieren", + "disable-editing": "Chatnachrichtenbearbeitung/löschung deaktivieren", + "disable-editing-help": "Administratoren und globale Moderatoren sind von dieser Einschränkung ausgenommen", + "max-length": "Maximale Chatnachrichtenlänge", + "max-room-size": "Maximale Anzahl an Nutzern pro Chat-Room", + "delay": "Zeit zwischen Chatnachrichten in Millisekunden" } \ No newline at end of file diff --git a/public/language/de/admin/settings/cookies.json b/public/language/de/admin/settings/cookies.json index f8b0f0538b..6d818fd893 100644 --- a/public/language/de/admin/settings/cookies.json +++ b/public/language/de/admin/settings/cookies.json @@ -1,11 +1,11 @@ { - "eu-consent": "EU Consent", - "consent.enabled": "Enabled", - "consent.message": "Notification message", - "consent.acceptance": "Acceptance message", - "consent.link-text": "Policy Link Text", - "consent.blank-localised-default": "Leave blank to use NodeBB localised defaults", - "settings": "Settings", - "cookie-domain": "Session cookie domain", - "blank-default": "Leave blank for default" + "eu-consent": "EU-Konsens", + "consent.enabled": "Aktiviert", + "consent.message": "Benachrichtigung", + "consent.acceptance": "Akzeptierungsnachricht", + "consent.link-text": "Police Link Text", + "consent.blank-localised-default": "Leer lassen um NodeBB lokalisierte Standards zu benutzen", + "settings": "Einstellungen", + "cookie-domain": "Session Cookie Domain", + "blank-default": "Leer lassen für Standardwert" } \ No newline at end of file diff --git a/public/language/de/admin/settings/general.json b/public/language/de/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/de/admin/settings/general.json +++ b/public/language/de/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/de/admin/settings/guest.json b/public/language/de/admin/settings/guest.json index 6b2ac2c8b2..b515580c87 100644 --- a/public/language/de/admin/settings/guest.json +++ b/public/language/de/admin/settings/guest.json @@ -1,8 +1,8 @@ { - "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" + "handles": "Gastzugang", + "handles.enabled": "Gastzugänge erlauben", + "handles.enabled-help": "Diese option offenbart ein neues Feld, welches Gästen erlaubt einen Nutzernamen zu wählen, welcher Sie mit jedem Beitrag assoziiert den sie erstellen. Wenn diese option deaktiviert ist, werden sie einfach \"Gast\" genannt", + "privileges": "Gast-Berechtigungen", + "privileges.can-search": "Gästen erlauben das Forum zu durchsuchen ohne eingeloggt zu sein", + "privileges.can-search-users": "Gästen erlauben nach Benutzern zu suchen ohne eingeloggt zu sein" } \ No newline at end of file diff --git a/public/language/de/admin/settings/notifications.json b/public/language/de/admin/settings/notifications.json index 4eff7f341a..38a30ccbb1 100644 --- a/public/language/de/admin/settings/notifications.json +++ b/public/language/de/admin/settings/notifications.json @@ -1,5 +1,5 @@ { - "notifications": "Notifications", - "welcome-notification": "Welcome Notification", - "welcome-notification-link": "Welcome Notification Link" + "notifications": "Benachrichtigungen", + "welcome-notification": "Wilkommensnachricht", + "welcome-notification-link": "Wilkommensnachrichtslink" } \ No newline at end of file diff --git a/public/language/de/admin/settings/pagination.json b/public/language/de/admin/settings/pagination.json index 27d71b4de5..33bed37f3f 100644 --- a/public/language/de/admin/settings/pagination.json +++ b/public/language/de/admin/settings/pagination.json @@ -1,9 +1,9 @@ { - "pagination": "Pagination Settings", - "enable": "Paginate topics and posts instead of using infinite scroll.", - "topics": "Topic Pagination", - "posts-per-page": "Posts per Page", - "categories": "Category Pagination", - "topics-per-page": "Topics per Page", - "initial-num-load": "Initial Number of Topics to Load on Unread, Recent, and Popular" + "pagination": "Seitennummerierungseinstellungen", + "enable": "Themen in Seiten einteilen anstatt unendlich weit zu scrollen", + "topics": "Themen Seitennummerierung", + "posts-per-page": "Beiträge pro Seite", + "categories": "Kategorie Seitennummerierung", + "topics-per-page": "Themen pro Seite", + "initial-num-load": "Ursprüngliche anzahl an Themen, die bei Ungelesen, Aktuell und beliebt geladen werden sollen" } \ No newline at end of file diff --git a/public/language/de/admin/settings/reputation.json b/public/language/de/admin/settings/reputation.json index 11d6184721..99ed3d4ce4 100644 --- a/public/language/de/admin/settings/reputation.json +++ b/public/language/de/admin/settings/reputation.json @@ -1,8 +1,8 @@ { - "reputation": "Reputation Settings", - "disable": "Disable Reputation System", - "disable-down-voting": "Disable Down Voting", - "thresholds": "Activity Thresholds", - "min-rep-downvote": "Minimum reputation to downvote posts", - "min-rep-flag": "Minimum reputation to flag posts" + "reputation": "Ansehenseinstellungen", + "disable": "Ansehenssystem deaktivieren", + "disable-down-voting": "Negative Bewertungen deaktivieren", + "thresholds": "Aktivitätsschwelle", + "min-rep-downvote": "Minimales Ansehen um Beiträge negativ zu bewerten", + "min-rep-flag": "Minimales Ansehen und Beiträge zu melden" } \ No newline at end of file diff --git a/public/language/de/admin/settings/sockets.json b/public/language/de/admin/settings/sockets.json index d04ee42fcf..2fa6475bef 100644 --- a/public/language/de/admin/settings/sockets.json +++ b/public/language/de/admin/settings/sockets.json @@ -1,6 +1,6 @@ { - "reconnection": "Reconnection Settings", - "max-attempts": "Max Reconnection Attempts", - "default-placeholder": "Default: %1", - "delay": "Reconnection Delay" + "reconnection": "Neuverbindungseinstellungen", + "max-attempts": "Maximale Anzahl von Neuverbindungsversuchen", + "default-placeholder": "Standard: %1", + "delay": "Neuverbindungsverzögerung" } \ No newline at end of file diff --git a/public/language/de/admin/settings/user.json b/public/language/de/admin/settings/user.json index 3c0124ff89..c0309d47fb 100644 --- a/public/language/de/admin/settings/user.json +++ b/public/language/de/admin/settings/user.json @@ -18,9 +18,9 @@ "disable-user-skins": "Verhindere das Benutzer eigene Skins verwenden", "account-protection": "Kontosicherheit", "login-attempts": "Login-Versuche pro Stunde", - "login-attempts-help": "If login attempts to a user's account exceeds this threshold, that account will be locked for a pre-configured amount of time", + "login-attempts-help": "Wenn die loginversuche zu einem Account diese Schwelle überschreiten, wird dieser Account für eine festgelegte Zeit gesperrt", "lockout-duration": "Account Aussperrzeitraum (Minuten)", - "login-days": "Days to remember user login sessions", + "login-days": "Anzahl der tage die login sessions bestehen bleiben sollen", "password-expiry-days": "Erzwinge ein Passwortreset nach x Tagen", "registration": "Benutzer Registrierung", "registration-type": "Registrierungart", diff --git a/public/language/de/notifications.json b/public/language/de/notifications.json index 20796b7eb9..1b78cace74 100644 --- a/public/language/de/notifications.json +++ b/public/language/de/notifications.json @@ -19,9 +19,9 @@ "user_flagged_post_in": "%1 hat einen Beitrag in %2 gemeldet", "user_flagged_post_in_dual": "%1 und %2 haben einen Beitrag in %3 gemeldet", "user_flagged_post_in_multiple": "%1 und %2 andere Nutzer haben einen Beitrag in %3 gemeldet", - "user_flagged_user": "%1 flagged a user profile (%2)", - "user_flagged_user_dual": "%1 and %2 flagged a user profile (%3)", - "user_flagged_user_multiple": "%1 and %2 others flagged a user profile (%3)", + "user_flagged_user": "%1 meldete ein Nutzerprofil (%2)", + "user_flagged_user_dual": "%1 und %2 meldeten ein Nutzerprofil (%3)", + "user_flagged_user_multiple": "%1 und %2 weitere meldeten ein Nutzerprofil (%3)", "user_posted_to": "%1 hat auf %2 geantwortet.", "user_posted_to_dual": "%1 und %2 haben auf %3 geantwortet.", "user_posted_to_multiple": "%1 und %2 andere Nutzer haben auf %3 geantwortet.", diff --git a/public/language/de/pages.json b/public/language/de/pages.json index 0af7092482..4b3fb77aa2 100644 --- a/public/language/de/pages.json +++ b/public/language/de/pages.json @@ -6,7 +6,7 @@ "popular-month": "Beliebte Themen dieses Monats", "popular-alltime": "Beliebteste Themen", "recent": "Neueste Themen", - "flagged-content": "Flagged Content", + "flagged-content": "Gemeldeter Inhalt", "ip-blacklist": "IP Blacklist", "users/online": "Benutzer online", "users/latest": "Neuste Benutzer", @@ -27,7 +27,7 @@ "group": "%1 Gruppe", "chats": "Chats", "chat": "Chatte mit %1", - "flags": "Flags", + "flags": "Meldungen", "flag-details": "Flag %1 Details", "account/edit": "Bearbeite %1", "account/edit/password": "Bearbeite Passwort von \"%1\"", diff --git a/public/language/de/search.json b/public/language/de/search.json index 40a25a6f83..aa347a2324 100644 --- a/public/language/de/search.json +++ b/public/language/de/search.json @@ -12,6 +12,7 @@ "reply-count": "Anzahl Antworten", "at-least": "Mindestens", "at-most": "Höchstens", + "relevance": "Relevance", "post-time": "Verfaßt am", "newer-than": "Neuer als", "older-than": "Älter als", diff --git a/public/language/de/topic.json b/public/language/de/topic.json index d9eed1419f..fd1e20a27b 100644 --- a/public/language/de/topic.json +++ b/public/language/de/topic.json @@ -13,7 +13,8 @@ "notify_me": "Erhalte eine Benachrichtigung bei neuen Antworten zu diesem Thema.", "quote": "Zitieren", "reply": "Antworten", - "replies_to_this_post": "Antworten: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "In einem neuen Thema antworten", "guest-login-reply": "Anmelden zum Antworten", "edit": "Bearbeiten", diff --git a/public/language/de/user.json b/public/language/de/user.json index a98b90f75a..3ab19523a4 100644 --- a/public/language/de/user.json +++ b/public/language/de/user.json @@ -33,7 +33,7 @@ "chat": "Chat", "chat_with": "Führe deinen Chat mit %1 fort", "new_chat_with": "Beginne einen neuen Chat mit %1", - "flag-profile": "Flag Profile", + "flag-profile": "Profil Melden", "follow": "Folgen", "unfollow": "Nicht mehr folgen", "more": "Mehr", @@ -65,8 +65,8 @@ "remove_uploaded_picture": "Hochgeladenes Bild entfernen", "upload_cover_picture": "Titelbild hochladen", "remove_cover_picture_confirm": "Bist du sicher, dass du dein Titelbild entfernen möchtest?", - "crop_picture": "Crop picture", - "upload_cropped_picture": "Crop and upload", + "crop_picture": "Bild zuschneiden", + "upload_cropped_picture": "Zuschneiden und Hochladen", "settings": "Einstellungen", "show_email": "Zeige meine E-Mail Adresse an.", "show_fullname": "Zeige meinen kompletten Namen an", diff --git a/public/language/el/admin/advanced/errors.json b/public/language/el/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/el/admin/advanced/errors.json +++ b/public/language/el/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/el/admin/settings/general.json b/public/language/el/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/el/admin/settings/general.json +++ b/public/language/el/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/el/search.json b/public/language/el/search.json index 67397669a1..61aa1e3128 100644 --- a/public/language/el/search.json +++ b/public/language/el/search.json @@ -12,6 +12,7 @@ "reply-count": "Reply Count", "at-least": "At least", "at-most": "At most", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/el/topic.json b/public/language/el/topic.json index 1a0d2d751a..0d382c2407 100644 --- a/public/language/el/topic.json +++ b/public/language/el/topic.json @@ -13,7 +13,8 @@ "notify_me": "Να ειδοποιούμαι για νέες απαντήσεις σε αυτό το θέμα", "quote": "Παράθεση", "reply": "Απάντηση", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in to reply", "edit": "Επεξεργασία", diff --git a/public/language/en-US/admin/advanced/errors.json b/public/language/en-US/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/en-US/admin/advanced/errors.json +++ b/public/language/en-US/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/en-US/admin/settings/general.json b/public/language/en-US/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/en-US/admin/settings/general.json +++ b/public/language/en-US/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/en-US/search.json b/public/language/en-US/search.json index 3ba6d73916..1f4d555f92 100644 --- a/public/language/en-US/search.json +++ b/public/language/en-US/search.json @@ -12,6 +12,7 @@ "reply-count": "Reply Count", "at-least": "At least", "at-most": "At most", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/en-US/topic.json b/public/language/en-US/topic.json index 2ce61da6a7..519cc5cd74 100644 --- a/public/language/en-US/topic.json +++ b/public/language/en-US/topic.json @@ -13,7 +13,8 @@ "notify_me": "Be notified of new replies in this topic", "quote": "Quote", "reply": "Reply", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in to reply", "edit": "Edit", diff --git a/public/language/en-x-pirate/admin/advanced/errors.json b/public/language/en-x-pirate/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/en-x-pirate/admin/advanced/errors.json +++ b/public/language/en-x-pirate/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/settings/general.json b/public/language/en-x-pirate/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/en-x-pirate/admin/settings/general.json +++ b/public/language/en-x-pirate/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/en-x-pirate/search.json b/public/language/en-x-pirate/search.json index 3ba6d73916..1f4d555f92 100644 --- a/public/language/en-x-pirate/search.json +++ b/public/language/en-x-pirate/search.json @@ -12,6 +12,7 @@ "reply-count": "Reply Count", "at-least": "At least", "at-most": "At most", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/en-x-pirate/topic.json b/public/language/en-x-pirate/topic.json index 2ce61da6a7..519cc5cd74 100644 --- a/public/language/en-x-pirate/topic.json +++ b/public/language/en-x-pirate/topic.json @@ -13,7 +13,8 @@ "notify_me": "Be notified of new replies in this topic", "quote": "Quote", "reply": "Reply", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in to reply", "edit": "Edit", diff --git a/public/language/es/admin/advanced/errors.json b/public/language/es/admin/advanced/errors.json index 8c6e0a5bab..ca55056f4b 100644 --- a/public/language/es/admin/advanced/errors.json +++ b/public/language/es/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Cerrar Log de Error", "route": "Ruta", "count": "Contar", - "no-routes-not-found": "Hurra! No hay rutas rutas que no fueran encontradas.", + "no-routes-not-found": "Hooray! No 404 errors!", "clear404-confirm": "¿Estas seguro que desea borrar los registros de errores 404?", "clear404-success": "\"404 no encontrado\" Errores borrados" } \ No newline at end of file diff --git a/public/language/es/admin/settings/general.json b/public/language/es/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/es/admin/settings/general.json +++ b/public/language/es/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/es/search.json b/public/language/es/search.json index 999f48a73a..bcdf74fc68 100644 --- a/public/language/es/search.json +++ b/public/language/es/search.json @@ -12,6 +12,7 @@ "reply-count": "Número de Respuestas", "at-least": "De mínimo", "at-most": "De máximo", + "relevance": "Relevance", "post-time": "Fecha de publicación", "newer-than": "Más reciente que", "older-than": "Más antiguo que", diff --git a/public/language/es/topic.json b/public/language/es/topic.json index 8310b554c3..a6cc026d23 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -13,7 +13,8 @@ "notify_me": "Serás notificado cuando haya nuevas respuestas en este tema", "quote": "Citar", "reply": "Responder", - "replies_to_this_post": "Respuestas: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Responder como tema", "guest-login-reply": "Accede para responder", "edit": "Editar", diff --git a/public/language/et/admin/advanced/errors.json b/public/language/et/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/et/admin/advanced/errors.json +++ b/public/language/et/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/et/admin/settings/general.json b/public/language/et/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/et/admin/settings/general.json +++ b/public/language/et/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/et/search.json b/public/language/et/search.json index 387dd9b816..68b9661789 100644 --- a/public/language/et/search.json +++ b/public/language/et/search.json @@ -12,6 +12,7 @@ "reply-count": "Vastuste arv", "at-least": "Rohkemalt", "at-most": "Vähemalt", + "relevance": "Relevance", "post-time": "Postitamise aeg", "newer-than": "Uuem kui", "older-than": "Vanem kui", diff --git a/public/language/et/topic.json b/public/language/et/topic.json index 65dc5525c7..63d556f10d 100644 --- a/public/language/et/topic.json +++ b/public/language/et/topic.json @@ -13,7 +13,8 @@ "notify_me": "Saa teateid uutest postitustest selles teemas", "quote": "Tsiteeri", "reply": "Vasta", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Vasta teemana", "guest-login-reply": "Logi sisse, et vastata", "edit": "Muuda", diff --git a/public/language/fa-IR/admin/advanced/errors.json b/public/language/fa-IR/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/fa-IR/admin/advanced/errors.json +++ b/public/language/fa-IR/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/settings/general.json b/public/language/fa-IR/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/fa-IR/admin/settings/general.json +++ b/public/language/fa-IR/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/fa-IR/search.json b/public/language/fa-IR/search.json index 69a504e6e7..d948cd996c 100644 --- a/public/language/fa-IR/search.json +++ b/public/language/fa-IR/search.json @@ -12,6 +12,7 @@ "reply-count": "تعداد پاسخ", "at-least": "حداقل", "at-most": "حداکثر", + "relevance": "Relevance", "post-time": "زمان ارسال", "newer-than": "جدیدتر از", "older-than": "قدیمی تر از", diff --git a/public/language/fa-IR/topic.json b/public/language/fa-IR/topic.json index f1961f4c47..48adb9b76c 100644 --- a/public/language/fa-IR/topic.json +++ b/public/language/fa-IR/topic.json @@ -13,7 +13,8 @@ "notify_me": "از پاسخ‌های تازه در موضوع آگاه شوید", "quote": "نقل قول", "reply": "پاسخ", - "replies_to_this_post": "پاسخ‌ها: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "پاسخ به موضوع", "guest-login-reply": "وارد شوید تا پست بفرستید", "edit": "ویرایش", diff --git a/public/language/fi/admin/advanced/errors.json b/public/language/fi/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/fi/admin/advanced/errors.json +++ b/public/language/fi/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/fi/admin/settings/general.json b/public/language/fi/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/fi/admin/settings/general.json +++ b/public/language/fi/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/fi/search.json b/public/language/fi/search.json index a8aae53cba..4c221d43f2 100644 --- a/public/language/fi/search.json +++ b/public/language/fi/search.json @@ -12,6 +12,7 @@ "reply-count": "Vastausten määrä", "at-least": "Vähintään", "at-most": "Enintään", + "relevance": "Relevance", "post-time": "Julkaisuaika", "newer-than": "Uudemmat kuin", "older-than": "Vanhemmat kuin", diff --git a/public/language/fi/topic.json b/public/language/fi/topic.json index 73a74f1696..56f51da9bf 100644 --- a/public/language/fi/topic.json +++ b/public/language/fi/topic.json @@ -13,7 +13,8 @@ "notify_me": "Ilmoita, kun tähän keskusteluun tulee uusia viestejä", "quote": "Lainaa", "reply": "Vastaa", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Kirjaudu sisään voidaksesi vastata", "edit": "Muokkaa", diff --git a/public/language/fr/admin/advanced/errors.json b/public/language/fr/admin/advanced/errors.json index 86637472a9..2884db0eaf 100644 --- a/public/language/fr/admin/advanced/errors.json +++ b/public/language/fr/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Effacer les journaux d'erreurs", "route": "Route", "count": "Nombre", - "no-routes-not-found": "Hourra ! Aucune route n'a pas été trouvée.", + "no-routes-not-found": "Hooray! No 404 errors!", "clear404-confirm": "Êtes-vous sûr de vouloir effacer les journaux d'erreurs 404 ?", "clear404-success": "Erreurs \"404 non trouvé\" effacées" } \ No newline at end of file diff --git a/public/language/fr/admin/settings/general.json b/public/language/fr/admin/settings/general.json index b82c95113e..660f4b7e99 100644 --- a/public/language/fr/admin/settings/general.json +++ b/public/language/fr/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Télécharger", "touch-icon.help": "Taille et format recommandés : 192x192, format PNG uniquement. Si aucune icône n'est spécifiée, NodeBB utilisera le favicon.", "outgoing-links": "Liens sortants", - "outgoing-links.warning-page": "Utiliser la page d'avertissement pour liens sortants" + "outgoing-links.warning-page": "Utiliser la page d'avertissement pour liens sortants", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/fr/search.json b/public/language/fr/search.json index 4640c8a2f6..139a6e512e 100644 --- a/public/language/fr/search.json +++ b/public/language/fr/search.json @@ -12,6 +12,7 @@ "reply-count": "Nombre de réponses", "at-least": "Au moins", "at-most": "Au plus", + "relevance": "Relevance", "post-time": "Date de message", "newer-than": "Plus récent que", "older-than": "Plus vieux que", diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index 80d6006ccb..71efbb71c5 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -13,7 +13,8 @@ "notify_me": "Être notifié des réponses dans ce sujet", "quote": "Citer", "reply": "Répondre", - "replies_to_this_post": "Réponses : %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Répondre à l'aide d'un sujet", "guest-login-reply": "Se connecter pour répondre", "edit": "Éditer", diff --git a/public/language/gl/admin/advanced/errors.json b/public/language/gl/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/gl/admin/advanced/errors.json +++ b/public/language/gl/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/gl/admin/settings/general.json b/public/language/gl/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/gl/admin/settings/general.json +++ b/public/language/gl/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/gl/search.json b/public/language/gl/search.json index 1e408dfe96..211355725a 100644 --- a/public/language/gl/search.json +++ b/public/language/gl/search.json @@ -12,6 +12,7 @@ "reply-count": "Número de Respostas", "at-least": "Como mínimo", "at-most": "Como máximo", + "relevance": "Relevance", "post-time": "Data de publicación", "newer-than": "Máis recente que", "older-than": "Máis antigo que", diff --git a/public/language/gl/topic.json b/public/language/gl/topic.json index 88264a9730..5c5e19ed43 100644 --- a/public/language/gl/topic.json +++ b/public/language/gl/topic.json @@ -13,7 +13,8 @@ "notify_me": "Serás notificado canto haxa novas respostas neste tema", "quote": "Citar", "reply": "Responder", - "replies_to_this_post": "Respostas: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Responder como tema", "guest-login-reply": "Identifícate para responder", "edit": "Editar", diff --git a/public/language/he/admin/advanced/errors.json b/public/language/he/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/he/admin/advanced/errors.json +++ b/public/language/he/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/he/admin/settings/general.json b/public/language/he/admin/settings/general.json index 45a496bd80..45c0494918 100644 --- a/public/language/he/admin/settings/general.json +++ b/public/language/he/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/he/search.json b/public/language/he/search.json index 1e1a408b86..cee9f0cc9a 100644 --- a/public/language/he/search.json +++ b/public/language/he/search.json @@ -12,6 +12,7 @@ "reply-count": "כמות תגובות", "at-least": "לפחות", "at-most": "לכל היותר", + "relevance": "Relevance", "post-time": "זמן הפוסט", "newer-than": "חדש מ", "older-than": "ישן מ", diff --git a/public/language/he/topic.json b/public/language/he/topic.json index 92b8df9090..e54bb502e6 100644 --- a/public/language/he/topic.json +++ b/public/language/he/topic.json @@ -13,7 +13,8 @@ "notify_me": "קבל התראה כאשר יש תגובות חדשות בנושא זה", "quote": "ציטוט", "reply": "תגובה", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "הגב כנושא", "guest-login-reply": "התחבר כדי לפרסם תגובה", "edit": "עריכה", diff --git a/public/language/hu/admin/advanced/errors.json b/public/language/hu/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/hu/admin/advanced/errors.json +++ b/public/language/hu/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/hu/admin/settings/general.json b/public/language/hu/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/hu/admin/settings/general.json +++ b/public/language/hu/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/hu/search.json b/public/language/hu/search.json index d0f8e04e06..c5effb3f38 100644 --- a/public/language/hu/search.json +++ b/public/language/hu/search.json @@ -12,6 +12,7 @@ "reply-count": "Válaszok száma", "at-least": "Legalább", "at-most": "Legfeljebb", + "relevance": "Relevance", "post-time": "Hozzászólás ideje", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/hu/topic.json b/public/language/hu/topic.json index 9c912a38b1..1a67ce9b46 100644 --- a/public/language/hu/topic.json +++ b/public/language/hu/topic.json @@ -13,7 +13,8 @@ "notify_me": "Értesítést kérek az új hozzászólásokról ebben a topikban", "quote": "Idéz", "reply": "Válasz", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in to reply", "edit": "Szerkeszt", diff --git a/public/language/id/admin/advanced/errors.json b/public/language/id/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/id/admin/advanced/errors.json +++ b/public/language/id/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/id/admin/settings/general.json b/public/language/id/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/id/admin/settings/general.json +++ b/public/language/id/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/id/search.json b/public/language/id/search.json index fd06095e01..f24679fd8a 100644 --- a/public/language/id/search.json +++ b/public/language/id/search.json @@ -12,6 +12,7 @@ "reply-count": "Reply Count", "at-least": "At least", "at-most": "At most", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/id/topic.json b/public/language/id/topic.json index 45d4476707..abb48888eb 100644 --- a/public/language/id/topic.json +++ b/public/language/id/topic.json @@ -13,7 +13,8 @@ "notify_me": "Beritahukan balasan baru untuk topik ini", "quote": "Kutip", "reply": "Balas", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in untuk membalas", "edit": "Ubah", diff --git a/public/language/it/admin/advanced/errors.json b/public/language/it/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/it/admin/advanced/errors.json +++ b/public/language/it/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/it/admin/settings/general.json b/public/language/it/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/it/admin/settings/general.json +++ b/public/language/it/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/it/search.json b/public/language/it/search.json index 622fc49699..980e2c28ba 100644 --- a/public/language/it/search.json +++ b/public/language/it/search.json @@ -12,6 +12,7 @@ "reply-count": "Numero Risposte", "at-least": "Almeno", "at-most": "Al massimo", + "relevance": "Relevance", "post-time": "Ora invio", "newer-than": "Più nuovi di", "older-than": "Più vecchi di", diff --git a/public/language/it/topic.json b/public/language/it/topic.json index e4024d1884..c7c5bfbaca 100644 --- a/public/language/it/topic.json +++ b/public/language/it/topic.json @@ -13,7 +13,8 @@ "notify_me": "Ricevi notifiche di nuove risposte in questa discussione", "quote": "Cita", "reply": "Rispondi", - "replies_to_this_post": "Risposte: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Topic risposta", "guest-login-reply": "Effettua il Log in per rispondere", "edit": "Modifica", diff --git a/public/language/ja/admin/advanced/errors.json b/public/language/ja/admin/advanced/errors.json index 9e27641a9f..7ca0092ff5 100644 --- a/public/language/ja/admin/advanced/errors.json +++ b/public/language/ja/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "エラーログの消去", "route": "ルート", "count": "カウント", - "no-routes-not-found": "やりましたね!見つからなかったルートはありませんでした。", + "no-routes-not-found": "ストップ!No 404 エラーです!", "clear404-confirm": "本当に404エラーログを消去してもよろしいですか?", "clear404-success": "\"404 Not Found\"エラーは消去されました" } \ No newline at end of file diff --git a/public/language/ja/admin/general/dashboard.json b/public/language/ja/admin/general/dashboard.json index 813f3d272a..d53f83d1bd 100644 --- a/public/language/ja/admin/general/dashboard.json +++ b/public/language/ja/admin/general/dashboard.json @@ -2,9 +2,9 @@ "forum-traffic": "フォーラムのトラフィック", "page-views": "ページビュー", "unique-visitors": "ユニークな訪問者", - "users": "Users", - "posts": "Posts", - "topics": "Topics", + "users": "ユーザー", + "posts": "投稿", + "topics": "スレッド", "page-views-last-month": "先月のページビュー数", "page-views-this-month": "今月のページビュー数", "page-views-last-day": "過去24時間のページビュー", diff --git a/public/language/ja/admin/settings/general.json b/public/language/ja/admin/settings/general.json index 18ad7762db..b885c40d15 100644 --- a/public/language/ja/admin/settings/general.json +++ b/public/language/ja/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "アップロード", "touch-icon.help": "推奨サイズとフォーマット:192x192、PNG形式のみ。タッチアイコンが指定されていない場合、NodeBBはファビコンを使用します。", "outgoing-links": "外部サイトへのリンク", - "outgoing-links.warning-page": "送信リンクの警告ページを使用" + "outgoing-links.warning-page": "送信リンクの警告ページを使用", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/ja/search.json b/public/language/ja/search.json index 3acc384406..cd72314897 100644 --- a/public/language/ja/search.json +++ b/public/language/ja/search.json @@ -12,6 +12,7 @@ "reply-count": "返信数", "at-least": "最低", "at-most": "一番", + "relevance": "妥当性", "post-time": "投稿時間", "newer-than": "より新しい", "older-than": "より古い", diff --git a/public/language/ja/topic.json b/public/language/ja/topic.json index 52b5984d33..d5b4d66397 100644 --- a/public/language/ja/topic.json +++ b/public/language/ja/topic.json @@ -13,7 +13,8 @@ "notify_me": "このスレッドに新しく投稿された時に通知する", "quote": "引用", "reply": "返信", - "replies_to_this_post": "返信: %1件", + "replies_to_this_post": "%1 件の返信", + "last_reply_time": "Last reply", "reply-as-topic": "スレッドとして返信する", "guest-login-reply": "投稿するのにログインして下さい", "edit": "編集", diff --git a/public/language/ko/admin/advanced/errors.json b/public/language/ko/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/ko/admin/advanced/errors.json +++ b/public/language/ko/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/ko/admin/settings/general.json b/public/language/ko/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/ko/admin/settings/general.json +++ b/public/language/ko/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/ko/search.json b/public/language/ko/search.json index 5f99163dc0..0dde0601e2 100644 --- a/public/language/ko/search.json +++ b/public/language/ko/search.json @@ -12,6 +12,7 @@ "reply-count": "답변 수", "at-least": "적어도", "at-most": "최대", + "relevance": "Relevance", "post-time": "작성시간", "newer-than": "이전", "older-than": "이후", diff --git a/public/language/ko/topic.json b/public/language/ko/topic.json index 66e1709af7..4b6775f329 100644 --- a/public/language/ko/topic.json +++ b/public/language/ko/topic.json @@ -13,7 +13,8 @@ "notify_me": "이 주제의 새 답글 알리기", "quote": "인용", "reply": "답글", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "주제로 답글", "guest-login-reply": "답변을 위해 로그인하기", "edit": "수정", diff --git a/public/language/lt/admin/advanced/errors.json b/public/language/lt/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/lt/admin/advanced/errors.json +++ b/public/language/lt/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/lt/admin/settings/general.json b/public/language/lt/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/lt/admin/settings/general.json +++ b/public/language/lt/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/lt/search.json b/public/language/lt/search.json index 25a91a9923..a415b1e30b 100644 --- a/public/language/lt/search.json +++ b/public/language/lt/search.json @@ -12,6 +12,7 @@ "reply-count": "Atsakymų skaičiavimas", "at-least": "Mažiausiai", "at-most": "Daugiausia", + "relevance": "Relevance", "post-time": "Įrašo laikas", "newer-than": "Naujesni kaip", "older-than": "Senesni kaip", diff --git a/public/language/lt/topic.json b/public/language/lt/topic.json index 521404a4b4..c2e8c8bd56 100644 --- a/public/language/lt/topic.json +++ b/public/language/lt/topic.json @@ -13,7 +13,8 @@ "notify_me": "Gauti pranešimus apie naujus atsakymus šioje temoje", "quote": "Cituoti", "reply": "Atsakyti", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Norėdami atsakyti, prisijunkite", "edit": "Redaguoti", diff --git a/public/language/ms/admin/advanced/errors.json b/public/language/ms/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/ms/admin/advanced/errors.json +++ b/public/language/ms/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/ms/admin/settings/general.json b/public/language/ms/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/ms/admin/settings/general.json +++ b/public/language/ms/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/ms/search.json b/public/language/ms/search.json index 50c2f89614..a8124e414b 100644 --- a/public/language/ms/search.json +++ b/public/language/ms/search.json @@ -12,6 +12,7 @@ "reply-count": "Kira Balasan", "at-least": "Sekurang-kurangnya", "at-most": "Selebihnya", + "relevance": "Relevance", "post-time": "Masa kiriman", "newer-than": "Baru daripada", "older-than": "Lama daripada", diff --git a/public/language/ms/topic.json b/public/language/ms/topic.json index e6e377c2a5..c1aa71fee9 100644 --- a/public/language/ms/topic.json +++ b/public/language/ms/topic.json @@ -13,7 +13,8 @@ "notify_me": "Kekal dimaklumkan berkenaan respon dalam topik ini", "quote": "Petikan", "reply": "Balas", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log masuk untuk balas", "edit": "Sunting", diff --git a/public/language/nb/admin/advanced/errors.json b/public/language/nb/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/nb/admin/advanced/errors.json +++ b/public/language/nb/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/nb/admin/settings/general.json b/public/language/nb/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/nb/admin/settings/general.json +++ b/public/language/nb/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/nb/search.json b/public/language/nb/search.json index c2998f7520..e72d8ac6ab 100644 --- a/public/language/nb/search.json +++ b/public/language/nb/search.json @@ -12,6 +12,7 @@ "reply-count": "Mengde svar", "at-least": "Minst", "at-most": "Maks", + "relevance": "Relevance", "post-time": "Innlegg-tid", "newer-than": "Nyere enn", "older-than": "Eldre en", diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index e21ff2b0a8..3c6153e359 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -13,7 +13,8 @@ "notify_me": "Bli varslet om nye svar i dette emnet", "quote": "Siter", "reply": "Svar", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Logg inn for å besvare", "edit": "Endre", diff --git a/public/language/nl/admin/advanced/errors.json b/public/language/nl/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/nl/admin/advanced/errors.json +++ b/public/language/nl/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/nl/admin/settings/general.json b/public/language/nl/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/nl/admin/settings/general.json +++ b/public/language/nl/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/nl/search.json b/public/language/nl/search.json index c708ca4686..2c7c9b000e 100644 --- a/public/language/nl/search.json +++ b/public/language/nl/search.json @@ -12,6 +12,7 @@ "reply-count": "Aantal reacties", "at-least": "op zijn minst", "at-most": "op zijn meest", + "relevance": "Relevance", "post-time": "Geplaatst op", "newer-than": "Nieuwer dan", "older-than": "Ouder dan", diff --git a/public/language/nl/topic.json b/public/language/nl/topic.json index 832f8fe5dd..398ae2b220 100644 --- a/public/language/nl/topic.json +++ b/public/language/nl/topic.json @@ -13,7 +13,8 @@ "notify_me": "Krijg een melding wanneer nieuwe reacties volgen", "quote": "Citeren", "reply": "Reageren", - "replies_to_this_post": "Reacties: %1 ", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reageren als onderwerp", "guest-login-reply": "Aanmelden om te reageren", "edit": "Aanpassen", diff --git a/public/language/pl/admin/advanced/errors.json b/public/language/pl/admin/advanced/errors.json index 97600d679f..b8da01f337 100644 --- a/public/language/pl/admin/advanced/errors.json +++ b/public/language/pl/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Wyczyść dziennik błędów", "route": "Scieżka", "count": "Licznik", - "no-routes-not-found": "Brawo! Nie znaleziono błędów.", + "no-routes-not-found": "Hooray! No 404 errors!", "clear404-confirm": "Czy chcesz wyczyścić dziennik błędów 404?", "clear404-success": "Wyczyszczono błędy \"404 Nie znaleziono\"" } \ No newline at end of file diff --git a/public/language/pl/admin/settings/general.json b/public/language/pl/admin/settings/general.json index 66e9370401..57aa4eb5bf 100644 --- a/public/language/pl/admin/settings/general.json +++ b/public/language/pl/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/pl/search.json b/public/language/pl/search.json index 914e41eed0..5ae90bc96e 100644 --- a/public/language/pl/search.json +++ b/public/language/pl/search.json @@ -12,6 +12,7 @@ "reply-count": "Ilość odpowiedzi", "at-least": "Przynajmniej", "at-most": "Co najwyżej", + "relevance": "Relevance", "post-time": "Napisano", "newer-than": "Nowsze niż", "older-than": "Starsze niż", diff --git a/public/language/pl/topic.json b/public/language/pl/topic.json index 2e380a2dee..9a026a1c11 100644 --- a/public/language/pl/topic.json +++ b/public/language/pl/topic.json @@ -13,7 +13,8 @@ "notify_me": "Powiadamiaj mnie o nowych odpowiedziach w tym temacie", "quote": "Cytuj", "reply": "Odpowiedz", - "replies_to_this_post": "Odpowiedzi: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Odpowiedz na temat", "guest-login-reply": "Zaloguj się, aby odpowiedzieć.", "edit": "Edytuj", diff --git a/public/language/pt-BR/admin/advanced/errors.json b/public/language/pt-BR/admin/advanced/errors.json index 557a23cc95..67ac477f0a 100644 --- a/public/language/pt-BR/admin/advanced/errors.json +++ b/public/language/pt-BR/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Limpar Log de Erros", "route": "Rota", "count": "Contagem", - "no-routes-not-found": "Eeeee! Não tem quaisquer rotas que não foram encontradas.", + "no-routes-not-found": "Hooray! No 404 errors!", "clear404-confirm": "Você tem certeza que deseja limpar todos os logs de erro 404?", "clear404-success": "Erros de \"404 Não Encontrada\" apagados" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/settings/general.json b/public/language/pt-BR/admin/settings/general.json index d4d36107c1..82ac4fb667 100644 --- a/public/language/pt-BR/admin/settings/general.json +++ b/public/language/pt-BR/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Enviar", "touch-icon.help": "Tamanho e formato recomendados: 192x192, apenas formato PNG. Se nenhum ícone de touch screen for especificado, o NodeBB usará o seu favicon, ao invés dele.", "outgoing-links": "Links Externos", - "outgoing-links.warning-page": "Utilizar Página de Aviso de Links Externos" + "outgoing-links.warning-page": "Utilizar Página de Aviso de Links Externos", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/pt-BR/search.json b/public/language/pt-BR/search.json index ef5256426f..8cab1cc17d 100644 --- a/public/language/pt-BR/search.json +++ b/public/language/pt-BR/search.json @@ -12,6 +12,7 @@ "reply-count": "Contagem de Respostas", "at-least": "No mínimo", "at-most": "No máximo", + "relevance": "Relevance", "post-time": "Data da postagem", "newer-than": "Mais novo que", "older-than": "Mais antigo que", diff --git a/public/language/pt-BR/topic.json b/public/language/pt-BR/topic.json index b807b4fd09..94c012b3e8 100644 --- a/public/language/pt-BR/topic.json +++ b/public/language/pt-BR/topic.json @@ -13,7 +13,8 @@ "notify_me": "Seja notificado de novas respostas nesse tópico", "quote": "Citar", "reply": "Responder", - "replies_to_this_post": "Respostas: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Responder como tópico", "guest-login-reply": "Entre para responder", "edit": "Editar", diff --git a/public/language/pt-PT/admin/advanced/errors.json b/public/language/pt-PT/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/pt-PT/admin/advanced/errors.json +++ b/public/language/pt-PT/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/pt-PT/admin/settings/general.json b/public/language/pt-PT/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/pt-PT/admin/settings/general.json +++ b/public/language/pt-PT/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/pt-PT/search.json b/public/language/pt-PT/search.json index 912f071c53..710b060b6e 100644 --- a/public/language/pt-PT/search.json +++ b/public/language/pt-PT/search.json @@ -12,6 +12,7 @@ "reply-count": "Contagem de respostas", "at-least": "Pelo menos", "at-most": "No máximo", + "relevance": "Relevance", "post-time": "Hora da publicação", "newer-than": "Mais recente que", "older-than": "Mais antigo que", diff --git a/public/language/pt-PT/topic.json b/public/language/pt-PT/topic.json index 43bc1a5290..6622afb644 100644 --- a/public/language/pt-PT/topic.json +++ b/public/language/pt-PT/topic.json @@ -13,7 +13,8 @@ "notify_me": "Ser notificado de novas respostas neste tópico", "quote": "Citar", "reply": "Responder", - "replies_to_this_post": "Respostas: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Responder com um tópico", "guest-login-reply": "Faz login para responder", "edit": "Editar", diff --git a/public/language/ro/admin/advanced/errors.json b/public/language/ro/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/ro/admin/advanced/errors.json +++ b/public/language/ro/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/ro/admin/settings/general.json b/public/language/ro/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/ro/admin/settings/general.json +++ b/public/language/ro/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/ro/search.json b/public/language/ro/search.json index 3cc4c5b8f6..91a591e180 100644 --- a/public/language/ro/search.json +++ b/public/language/ro/search.json @@ -12,6 +12,7 @@ "reply-count": "Numărul de răspunsuri", "at-least": "Cel puţin", "at-most": "Cel mult", + "relevance": "Relevance", "post-time": "Ora mesajului", "newer-than": "Mai noi decât", "older-than": "Mai vechi decât", diff --git a/public/language/ro/topic.json b/public/language/ro/topic.json index a09f54141c..370981d72e 100644 --- a/public/language/ro/topic.json +++ b/public/language/ro/topic.json @@ -13,7 +13,8 @@ "notify_me": "Notică-mă de noi răspunsuri în acest subiect", "quote": "Citează", "reply": "Răspunde", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Răspunde ca subiect", "guest-login-reply": "Login pentru a răspunde", "edit": "Editează", diff --git a/public/language/ru/admin/advanced/errors.json b/public/language/ru/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/ru/admin/advanced/errors.json +++ b/public/language/ru/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/ru/admin/settings/general.json b/public/language/ru/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/ru/admin/settings/general.json +++ b/public/language/ru/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/ru/search.json b/public/language/ru/search.json index 1264963c1a..dcc85a00ef 100644 --- a/public/language/ru/search.json +++ b/public/language/ru/search.json @@ -12,6 +12,7 @@ "reply-count": "Количество ответов", "at-least": "Минимум", "at-most": "Максимум", + "relevance": "Relevance", "post-time": "Время публикации", "newer-than": "Ранее чем", "older-than": "Позже чем", diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json index fff5ccbfb3..45e0d731a3 100644 --- a/public/language/ru/topic.json +++ b/public/language/ru/topic.json @@ -13,7 +13,8 @@ "notify_me": "Подписаться на новые ответы", "quote": "Цитировать", "reply": "Ответить", - "replies_to_this_post": "Ответов: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Ответить, создав новую тему", "guest-login-reply": "Необходимо авторизоваться на сайте, чтобы оставить сообщение. Пожалуйста, зарегистрируйтесь или войдите на сайт.", "edit": "Редактировать", diff --git a/public/language/rw/admin/advanced/errors.json b/public/language/rw/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/rw/admin/advanced/errors.json +++ b/public/language/rw/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/rw/admin/settings/general.json b/public/language/rw/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/rw/admin/settings/general.json +++ b/public/language/rw/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/rw/search.json b/public/language/rw/search.json index 9fad703a37..bae0f8f6e7 100644 --- a/public/language/rw/search.json +++ b/public/language/rw/search.json @@ -12,6 +12,7 @@ "reply-count": "Umubare w'Ibisubizo", "at-least": "Ungana Nibura na", "at-most": "Utarengeje", + "relevance": "Relevance", "post-time": "Igihe Byashyiriweho", "newer-than": "Nyuma ya", "older-than": "Mbere ya", diff --git a/public/language/rw/topic.json b/public/language/rw/topic.json index 15a3b23e29..b8d25791e2 100644 --- a/public/language/rw/topic.json +++ b/public/language/rw/topic.json @@ -13,7 +13,8 @@ "notify_me": "Uzajye umenyeshwa ibisubizo bishya kuri iki kiganiro", "quote": "Terura", "reply": "Subiza", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Bishyireho nk'ikiganiro", "guest-login-reply": "Injiramo maze usubize", "edit": "Hinduraho", diff --git a/public/language/sc/admin/advanced/errors.json b/public/language/sc/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/sc/admin/advanced/errors.json +++ b/public/language/sc/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/sc/admin/settings/general.json b/public/language/sc/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/sc/admin/settings/general.json +++ b/public/language/sc/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/sc/search.json b/public/language/sc/search.json index 3ba6d73916..1f4d555f92 100644 --- a/public/language/sc/search.json +++ b/public/language/sc/search.json @@ -12,6 +12,7 @@ "reply-count": "Reply Count", "at-least": "At least", "at-most": "At most", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/sc/topic.json b/public/language/sc/topic.json index 41f6eb7fce..9ce7552faa 100644 --- a/public/language/sc/topic.json +++ b/public/language/sc/topic.json @@ -13,7 +13,8 @@ "notify_me": "Imbia·mi notìficas pro is rispostas noas a custa arresonada", "quote": "Mèntova", "reply": "Risponde", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "Log in to reply", "edit": "Acontza", diff --git a/public/language/sk/admin/advanced/errors.json b/public/language/sk/admin/advanced/errors.json index b0cd9179da..1b12ed100f 100644 --- a/public/language/sk/admin/advanced/errors.json +++ b/public/language/sk/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/sk/admin/settings/general.json b/public/language/sk/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/sk/admin/settings/general.json +++ b/public/language/sk/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/sk/search.json b/public/language/sk/search.json index 1142a435de..1dd20ebd20 100644 --- a/public/language/sk/search.json +++ b/public/language/sk/search.json @@ -12,6 +12,7 @@ "reply-count": "Počet odpovedí", "at-least": "Najmenej", "at-most": "Najviac", + "relevance": "Relevance", "post-time": "Čas publikovania", "newer-than": "Novšie ako", "older-than": "Staršie ako", diff --git a/public/language/sk/topic.json b/public/language/sk/topic.json index 7043b401ec..fd9aadb35f 100644 --- a/public/language/sk/topic.json +++ b/public/language/sk/topic.json @@ -13,7 +13,8 @@ "notify_me": "Byť informovaný o nových príspevkov v tejto téme", "quote": "Citovať", "reply": "Odpovedať", - "replies_to_this_post": "Odpovede: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Odpovedať ako téma", "guest-login-reply": "Pre odpoveď sa najprv prihláste", "edit": "Upraviť", diff --git a/public/language/sl/admin/advanced/errors.json b/public/language/sl/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/sl/admin/advanced/errors.json +++ b/public/language/sl/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/sl/admin/settings/general.json b/public/language/sl/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/sl/admin/settings/general.json +++ b/public/language/sl/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/sl/search.json b/public/language/sl/search.json index 8ad34d20d6..30c806eba6 100644 --- a/public/language/sl/search.json +++ b/public/language/sl/search.json @@ -12,6 +12,7 @@ "reply-count": "Število odgovorov", "at-least": "Vsaj", "at-most": "Največ", + "relevance": "Relevance", "post-time": "Čas objave", "newer-than": "Novejše kot", "older-than": "Starejše kot", diff --git a/public/language/sl/topic.json b/public/language/sl/topic.json index faf5ff5ef2..11fc2e87c6 100644 --- a/public/language/sl/topic.json +++ b/public/language/sl/topic.json @@ -13,7 +13,8 @@ "notify_me": "Bodi obveščen o novih odgovorih na to temo", "quote": "Citiraj", "reply": "Odgovori", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Odgovori s temo", "guest-login-reply": "Prijavi se za odgovor", "edit": "Uredi", diff --git a/public/language/sr/admin/advanced/errors.json b/public/language/sr/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/sr/admin/advanced/errors.json +++ b/public/language/sr/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/sr/admin/settings/general.json b/public/language/sr/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/sr/admin/settings/general.json +++ b/public/language/sr/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/sr/search.json b/public/language/sr/search.json index d6f6114310..78ac9a64c4 100644 --- a/public/language/sr/search.json +++ b/public/language/sr/search.json @@ -12,6 +12,7 @@ "reply-count": "Број одговора", "at-least": "Најмање", "at-most": "Највише", + "relevance": "Relevance", "post-time": "Време објаве", "newer-than": "Новије од", "older-than": "Старије од", diff --git a/public/language/sr/topic.json b/public/language/sr/topic.json index d449f9d57c..dd2bd34ab3 100644 --- a/public/language/sr/topic.json +++ b/public/language/sr/topic.json @@ -13,7 +13,8 @@ "notify_me": "Будите обавештени о новим порукама у овој теми", "quote": "Цитирај", "reply": "Одговори", - "replies_to_this_post": "Одговора: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Постави одговор као тему", "guest-login-reply": "Пријавите се да бисте одговорили", "edit": "Уреди", diff --git a/public/language/sv/admin/advanced/errors.json b/public/language/sv/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/sv/admin/advanced/errors.json +++ b/public/language/sv/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/sv/admin/settings/general.json b/public/language/sv/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/sv/admin/settings/general.json +++ b/public/language/sv/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/sv/search.json b/public/language/sv/search.json index 7b2cb7db6a..e8f6df7141 100644 --- a/public/language/sv/search.json +++ b/public/language/sv/search.json @@ -12,6 +12,7 @@ "reply-count": "Svarsantal", "at-least": "Som minst", "at-most": "Som mest", + "relevance": "Relevance", "post-time": "Inläggstid", "newer-than": "Yngre än", "older-than": "Äldre än", diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index a451adf9d9..45599c2186 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -13,7 +13,8 @@ "notify_me": "Få notiser om nya svar i detta ämne", "quote": "Citera", "reply": "Svara", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Svara som ämne", "guest-login-reply": "Logga in för att posta", "edit": "Ändra", diff --git a/public/language/th/admin/advanced/errors.json b/public/language/th/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/th/admin/advanced/errors.json +++ b/public/language/th/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/th/admin/settings/general.json b/public/language/th/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/th/admin/settings/general.json +++ b/public/language/th/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/th/search.json b/public/language/th/search.json index e441bd0c84..4dafe32b18 100644 --- a/public/language/th/search.json +++ b/public/language/th/search.json @@ -12,6 +12,7 @@ "reply-count": "จำนวนข้อความตอบกลับ", "at-least": "อย่างน้อยที่สุด", "at-most": "อย่างมากที่สุด", + "relevance": "Relevance", "post-time": "Post time", "newer-than": "Newer than", "older-than": "Older than", diff --git a/public/language/th/topic.json b/public/language/th/topic.json index aea99944ff..2cd850d1fb 100644 --- a/public/language/th/topic.json +++ b/public/language/th/topic.json @@ -13,7 +13,8 @@ "notify_me": "แจ้งเตือนเมื่อการตอบใหม่ในกระทู้นี้", "quote": "คำอ้างอิง", "reply": "ตอบ", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Reply as topic", "guest-login-reply": "เข้าสู่ระบบเพื่อตอบกลับ", "edit": "แก้ไข", diff --git a/public/language/tr/admin/advanced/errors.json b/public/language/tr/admin/advanced/errors.json index 001773a2cf..f7cbcf7873 100644 --- a/public/language/tr/admin/advanced/errors.json +++ b/public/language/tr/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Hata Kayıtlarını Temizle", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/tr/admin/settings/general.json b/public/language/tr/admin/settings/general.json index fd20d55be7..e612ea5d63 100644 --- a/public/language/tr/admin/settings/general.json +++ b/public/language/tr/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Yükle", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/tr/search.json b/public/language/tr/search.json index bf3e68caf7..305c5cbf37 100644 --- a/public/language/tr/search.json +++ b/public/language/tr/search.json @@ -12,6 +12,7 @@ "reply-count": "Cevap Sayısı", "at-least": "En az", "at-most": "En fazla", + "relevance": "Relevance", "post-time": "Yayınlama zamanı", "newer-than": "Daha yeni", "older-than": "Daha eski", diff --git a/public/language/tr/topic.json b/public/language/tr/topic.json index 956579773c..fa6802f3d1 100644 --- a/public/language/tr/topic.json +++ b/public/language/tr/topic.json @@ -13,7 +13,8 @@ "notify_me": "Bu konudaki cevaplardan haberdar ol", "quote": "Alıntı", "reply": "Cevap", - "replies_to_this_post": "Yanıtlar: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "İletiye Cevap Ver", "guest-login-reply": "Cevaplamak için giriş yapın", "edit": "Düzenle", diff --git a/public/language/vi/admin/advanced/errors.json b/public/language/vi/admin/advanced/errors.json index 963e68b116..546f0f1508 100644 --- a/public/language/vi/admin/advanced/errors.json +++ b/public/language/vi/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "Clear Error Log", "route": "Route", "count": "Count", - "no-routes-not-found": "Hooray! There are no routes that were not found.", + "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" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/general.json b/public/language/vi/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/vi/admin/settings/general.json +++ b/public/language/vi/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/vi/search.json b/public/language/vi/search.json index e5a9219965..7e4211c2c8 100644 --- a/public/language/vi/search.json +++ b/public/language/vi/search.json @@ -12,6 +12,7 @@ "reply-count": "Số lượt trả lời", "at-least": "Tối thiểu", "at-most": "Tối đa", + "relevance": "Relevance", "post-time": "Thời điểm đăng bài", "newer-than": "Mới hơn", "older-than": "Cũ hơn", diff --git a/public/language/vi/topic.json b/public/language/vi/topic.json index 855701e667..aaa940bdc3 100644 --- a/public/language/vi/topic.json +++ b/public/language/vi/topic.json @@ -13,7 +13,8 @@ "notify_me": "Được thông báo khi có trả lời mới trong chủ đề này", "quote": "Trích dẫn", "reply": "Trả lời", - "replies_to_this_post": "%1 trả lời", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "Trả lời dưới dạng chủ đề", "guest-login-reply": "Hãy đăng nhập để trả lời", "edit": "Chỉnh sửa", diff --git a/public/language/zh-CN/admin/advanced/errors.json b/public/language/zh-CN/admin/advanced/errors.json index 974d57c36e..66cb154017 100644 --- a/public/language/zh-CN/admin/advanced/errors.json +++ b/public/language/zh-CN/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "清空错误日志", "route": "路由", "count": "计数", - "no-routes-not-found": "恭喜!未发现不存在的路由。", + "no-routes-not-found": "Hooray! No 404 errors!", "clear404-confirm": "确认清除404错误日志?", "clear404-success": "“404 页面不存在” 错误已被清空" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/general.json b/public/language/zh-CN/admin/settings/general.json index 69c25c04bf..b3e7b036b0 100644 --- a/public/language/zh-CN/admin/settings/general.json +++ b/public/language/zh-CN/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "上传", "touch-icon.help": "推荐的尺寸和格式:192x192,仅限PNG格式。 如果没有指定触摸图标,NodeBB将回退到使用站点图标。", "outgoing-links": "站外链接", - "outgoing-links.warning-page": "使用站外链接警告页" + "outgoing-links.warning-page": "使用站外链接警告页", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/zh-CN/search.json b/public/language/zh-CN/search.json index 691a528d7e..19fbde48c6 100644 --- a/public/language/zh-CN/search.json +++ b/public/language/zh-CN/search.json @@ -12,6 +12,7 @@ "reply-count": "回复数", "at-least": "至少", "at-most": "至多", + "relevance": "Relevance", "post-time": "发帖时间", "newer-than": "晚于", "older-than": "早于", diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json index c44ef9292f..7c67dbdd4a 100644 --- a/public/language/zh-CN/topic.json +++ b/public/language/zh-CN/topic.json @@ -13,7 +13,8 @@ "notify_me": "此主题有新回复时通知我", "quote": "引用", "reply": "回复", - "replies_to_this_post": "回复: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "在新帖中回复", "guest-login-reply": "登录后回复", "edit": "编辑", diff --git a/public/language/zh-TW/admin/advanced/errors.json b/public/language/zh-TW/admin/advanced/errors.json index 21fec31ea2..a0fefb4190 100644 --- a/public/language/zh-TW/admin/advanced/errors.json +++ b/public/language/zh-TW/admin/advanced/errors.json @@ -8,7 +8,7 @@ "clear-error-log": "清除錯誤日誌", "route": "路由", "count": "計數", - "no-routes-not-found": "太好了!這裡沒有未找到的路由", + "no-routes-not-found": "Hooray! No 404 errors!", "clear404-confirm": "您確定要清除404錯誤日誌嗎?", "clear404-success": "\"404 Not Found\" 錯誤已清除" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/general.json b/public/language/zh-TW/admin/settings/general.json index c26740ee4f..72ecfe641f 100644 --- a/public/language/zh-TW/admin/settings/general.json +++ b/public/language/zh-TW/admin/settings/general.json @@ -26,5 +26,6 @@ "touch-icon.upload": "Upload", "touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.", "outgoing-links": "Outgoing Links", - "outgoing-links.warning-page": "Use Outgoing Links Warning Page" + "outgoing-links.warning-page": "Use Outgoing Links Warning Page", + "search-default-sort-by": "Search default sort by" } \ No newline at end of file diff --git a/public/language/zh-TW/search.json b/public/language/zh-TW/search.json index ea8bef2be4..81f5249d3b 100644 --- a/public/language/zh-TW/search.json +++ b/public/language/zh-TW/search.json @@ -12,6 +12,7 @@ "reply-count": "回覆數量", "at-least": "最少", "at-most": "最多", + "relevance": "Relevance", "post-time": "張貼時間", "newer-than": "較新", "older-than": "較舊", diff --git a/public/language/zh-TW/topic.json b/public/language/zh-TW/topic.json index f3c4877f8f..292490d858 100644 --- a/public/language/zh-TW/topic.json +++ b/public/language/zh-TW/topic.json @@ -13,7 +13,8 @@ "notify_me": "該主題有新回覆時通知我", "quote": "引用", "reply": "回覆", - "replies_to_this_post": "Replies: %1", + "replies_to_this_post": "%1 Replies", + "last_reply_time": "Last reply", "reply-as-topic": "回復為另一個新主題", "guest-login-reply": "登入以回覆", "edit": "編輯", From f4a6527ce6e54b8d9e6c202cc5ef71e8e05fd5a9 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 10 Feb 2017 15:26:17 +0300 Subject: [PATCH 17/20] getRecentPosterUids test --- src/posts/recent.js | 14 +++++++------- test/posts.js | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/posts/recent.js b/src/posts/recent.js index aec0ea4637..5cc5cd1fae 100644 --- a/src/posts/recent.js +++ b/src/posts/recent.js @@ -1,8 +1,8 @@ 'use strict'; -var async = require('async'), - db = require('../database'), - privileges = require('../privileges'); +var async = require('async'); +var db = require('../database'); +var privileges = require('../privileges'); module.exports = function (Posts) { @@ -42,12 +42,12 @@ module.exports = function (Posts) { Posts.getPostsFields(pids, ['uid'], next); }, function (postData, next) { - postData = postData.map(function (post) { + var uids = postData.map(function (post) { return post && post.uid; - }).filter(function (value, index, array) { - return value && array.indexOf(value) === index; + }).filter(function (uid, index, array) { + return uid && array.indexOf(uid) === index; }); - next(null, postData); + next(null, uids); } ], callback); }; diff --git a/test/posts.js b/test/posts.js index 5a4f2cdda7..84b5934724 100644 --- a/test/posts.js +++ b/test/posts.js @@ -737,6 +737,24 @@ describe('Post\'s', function () { }); }); + it('should get recent poster uids', function (done) { + topics.reply({ + uid: voterUid, + tid: topicData.tid, + timestamp: Date.now(), + content: 'some content' + }, function (err) { + assert.ifError(err); + posts.getRecentPosterUids(0, 1, function (err, uids) { + assert.ifError(err); + assert(Array.isArray(uids)); + assert.equal(uids.length, 2); + assert.equal(uids[0], voterUid); + done(); + }); + }); + }); + after(function (done) { db.emptydb(done); }); From 6b2e40a8ce5c92ab5459b6368db386c9b023faa9 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 10 Feb 2017 12:54:13 -0500 Subject: [PATCH 18/20] promoting digest output to info, instead of verbose --- src/user/digest.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/user/digest.js b/src/user/digest.js index 84cb8af489..9c86aca26d 100644 --- a/src/user/digest.js +++ b/src/user/digest.js @@ -18,7 +18,7 @@ var utils = require('../../public/src/utils'); var digestsDisabled = parseInt(meta.config.disableEmailSubscriptions, 10) === 1; if (digestsDisabled) { - winston.verbose('[user/jobs] Did not send digests (' + interval + ') because subscription system is disabled.'); + winston.info('[user/jobs] Did not send digests (' + interval + ') because subscription system is disabled.'); return callback(); } @@ -57,7 +57,7 @@ var utils = require('../../public/src/utils'); if (err) { winston.error('[user/jobs] Could not send digests (' + interval + '): ' + err.message); } else { - winston.verbose('[user/jobs] Digest (' + interval + ') scheduling completed. ' + subscribers.length + ' email(s) sent.'); + winston.info('[user/jobs] Digest (' + interval + ') scheduling completed. ' + subscribers.length + ' email(s) sent.'); } callback(err); @@ -109,6 +109,7 @@ var utils = require('../../public/src/utils'); notification.image = nconf.get('url') + notification.image; } }); + emailer.send('digest', userObj.uid, { subject: '[' + meta.config.title + '] [[email:digest.subject, ' + (now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate()) + ']]', username: userObj.username, From 9fb16e3520f30bf27a5950e2c0b3e8f2c379d1d5 Mon Sep 17 00:00:00 2001 From: Ben Lubar Date: Fri, 10 Feb 2017 14:28:53 -0600 Subject: [PATCH 19/20] Fix forum instances using Redis dropping socket.io messages. Bug introduced in b08acd197c2fb18becf5a05010fcdd8e82fc5107. https://github.com/socketio/socket.io-redis/releases/tag/3.0.0 https://github.com/socketio/socket.io-redis/issues/185 --- src/socket.io/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 82f597011d..58e31a78ea 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -197,7 +197,7 @@ function addRedisAdapter(io) { var redisAdapter = require('socket.io-redis'); var redis = require('../database/redis'); var pub = redis.connect(); - var sub = redis.connect({return_buffers: true}); + var sub = redis.connect(); io.adapter(redisAdapter({pubClient: pub, subClient: sub})); } else if (nconf.get('isCluster') === 'true') { winston.warn('[socket.io] Clustering detected, you are advised to configure Redis as a websocket store.'); From 6289f118aed23a334fe6002f9090307b6ec12da1 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 10 Feb 2017 15:52:05 -0500 Subject: [PATCH 20/20] updated cron strings with 5-digit strings instead of 6-digit ones --- src/user/jobs.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/user/jobs.js b/src/user/jobs.js index 956559b470..c01f2c613c 100644 --- a/src/user/jobs.js +++ b/src/user/jobs.js @@ -32,28 +32,28 @@ module.exports = function (User) { } winston.verbose('[user/jobs] ' + terminated + ' jobs terminated'); - jobs['digest.daily'] = new cronJob('0 0 ' + digestHour + ' * * *', function () { + jobs['digest.daily'] = new cronJob('0 ' + digestHour + ' * * *', function () { winston.verbose('[user/jobs] Digest job (daily) started.'); User.digest.execute('day'); }, null, true); winston.verbose('[user/jobs] Starting job (digest.daily)'); ++started; - jobs['digest.weekly'] = new cronJob('0 0 ' + digestHour + ' * * 0', function () { + jobs['digest.weekly'] = new cronJob('0 ' + digestHour + ' * * 0', function () { winston.verbose('[user/jobs] Digest job (weekly) started.'); User.digest.execute('week'); }, null, true); winston.verbose('[user/jobs] Starting job (digest.weekly)'); ++started; - jobs['digest.monthly'] = new cronJob('0 0 ' + digestHour + ' 1 * *', function () { + jobs['digest.monthly'] = new cronJob('0 ' + digestHour + ' 1 * *', function () { winston.verbose('[user/jobs] Digest job (monthly) started.'); User.digest.execute('month'); }, null, true); winston.verbose('[user/jobs] Starting job (digest.monthly)'); ++started; - jobs['reset.clean'] = new cronJob('0 0 0 * * *', User.reset.clean, null, true); + jobs['reset.clean'] = new cronJob('0 0 * * *', User.reset.clean, null, true); winston.verbose('[user/jobs] Starting job (reset.clean)'); ++started;