Compare commits

..

15 Commits

Author SHA1 Message Date
Julian Lam
b85261e2bf why did the shrinkwrap file get deleted? 2014-09-17 09:43:55 -04:00
Julian Lam
4c289a63b9 updating shrinkwrap file 2014-09-16 10:27:37 -04:00
Julian Lam
5b3a2b951b Merge branch 'master' into v0.5.x 2014-09-16 10:26:16 -04:00
Julian Lam
d80d4df80d 0.5.0 2014-09-15 22:10:09 -04:00
Julian Lam
d721e96226 updated shrinkwrap file 2014-09-15 22:10:00 -04:00
Julian Lam
af4881c695 updating default config so the site title is shown 2014-09-15 22:09:41 -04:00
Julian Lam
fb6b6243f2 Merge branch 'master' into v0.5.x 2014-09-15 21:39:17 -04:00
Julian Lam
cc9b5d65fc 0.5.0-4 2014-08-28 21:05:15 -04:00
Julian Lam
2d7132d9d3 updated shrinkwrap file 2014-08-28 21:05:00 -04:00
Julian Lam
50d5be1b0e Merge branch 'master' into v0.5.x 2014-08-28 20:56:39 -04:00
Julian Lam
5424f63b9e 0.5.0-3 2014-08-20 18:06:04 -04:00
Julian Lam
f087acfe54 updated shrinkwrap file 2014-08-20 18:05:14 -04:00
Julian Lam
f2332b0af6 Merge branch 'master' into v0.5.x 2014-08-20 18:02:35 -04:00
Julian Lam
fcfa9c1733 Merge branch 'master' into v0.5.x 2014-08-05 11:42:40 -04:00
Julian Lam
4321cef397 added shrinkwrap file 2014-08-05 11:41:47 -04:00
809 changed files with 10064 additions and 24219 deletions

10
.gitignore vendored
View File

@@ -3,7 +3,7 @@ node_modules/
sftp-config.json sftp-config.json
config.json config.json
public/src/nodebb.min.js public/src/nodebb.min.js
!src/views/config.json public/config.json
public/css/*.css public/css/*.css
*.sublime-project *.sublime-project
*.sublime-workspace *.sublime-workspace
@@ -26,11 +26,3 @@ pidfile
# templates # templates
/public/templates /public/templates
/public/sounds /public/sounds
/public/uploads
# compiled files
/public/stylesheet.css
/public/admin.css
/public/nodebb.min.js
/public/nodebb.min.js.map

View File

@@ -1,30 +0,0 @@
# Issues & Bugs
Thanks for reporting an issue with NodeBB! Please follow these guidelines in order to streamline the debugging process. The more guidelines you follow, the easier it will be for us to reproduce your problem.
In general, if we can't reproduce it, we can't fix it!
## Try the latest version of NodeBB
There is a chance that the issue you are experiencing may have already been fixed.
## Provide the NodeBB version number and git hash
You can find the NodeBB version number in the Admin Control Panel (ACP), as well as the first line output to the shell when running NodeBB
``` plaintext
info: NodeBB v0.5.2-dev Copyright (C) 2013-2014 NodeBB Inc.
info: This program comes with ABSOLUTELY NO WARRANTY.
info: This is free software, and you are welcome to redistribute it under certain conditions.
info:
info: Time: Tue Oct 07 2014 20:25:20 GMT-0400 (EDT)
```
If you are running NodeBB via git, it is also helpful to let the maintainers know what commit hash you are on. To find the commit hash, execute the following command:
``` bash
$ cd /path/to/my/nodebb
$ git rev-parse HEAD
```
If you have downloaded the `.zip` or `.tar.gz` packages from GitHub (or elsewhere), please let us know.

15
NOTES.md Normal file
View File

@@ -0,0 +1,15 @@
## 0.4x Refactor Notes
Please remove this file after 0.4x (or perhaps organize it so that we can see the history of breaking changes)
### Immediate Deprecation Notices
* `action:ajaxifying` is no longer triggered on body but on window instead, in line with other similar hooks.
* `filter:server.create_routes` and `filter:admin.create_routes` will have limited support (ajaxify works, but first-load will not). Please have a look at [this plugin](https://github.com/psychobunny/nodebb-plugin-kitchen-sink/blob/master/library.js#L16-L22) for an example on how to create routes in plugins from now on.
### Upcoming Deprecation Warnings
* `filter:footer.build` will be deprecated for 0.4x in favour of the widget system (WIP)
* templates.setGlobal (server-side only) deprecated in favour of using res.locals
* `plugins/fireHook` route will be deprecated for 0.4x
* synchronous hooks will be deprecated for 0.4x - we're reducing complexity by removing the `callbacked: true` property in `plugin.json` - just use callbacks.

77
app.js
View File

@@ -17,6 +17,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
"use strict"; "use strict";
/*global require, global, process*/ /*global require, global, process*/
@@ -28,7 +29,6 @@ var fs = require('fs'),
semver = require('semver'), semver = require('semver'),
winston = require('winston'), winston = require('winston'),
path = require('path'), path = require('path'),
cluster = require('cluster'),
pkg = require('./package.json'), pkg = require('./package.json'),
utils = require('./public/src/utils.js'); utils = require('./public/src/utils.js');
@@ -58,13 +58,11 @@ if(os.platform() === 'linux') {
}); });
} }
if (!cluster.isWorker) { // Log GNU copyright info along with server info
// If run using `node app`, log GNU copyright info along with server info winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.'); winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.'); winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.'); winston.info('');
winston.info('');
}
// Alternate configuration file support // Alternate configuration file support
var configFile = path.join(__dirname, '/config.json'), var configFile = path.join(__dirname, '/config.json'),
@@ -75,7 +73,7 @@ if (nconf.get('config')) {
} }
configExists = fs.existsSync(configFile); configExists = fs.existsSync(configFile);
if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) { if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
start(); start();
} else if (nconf.get('setup') || nconf.get('install') || !configExists) { } else if (nconf.get('setup') || nconf.get('install') || !configExists) {
setup(); setup();
@@ -83,6 +81,8 @@ if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nc
upgrade(); upgrade();
} else if (nconf.get('reset')) { } else if (nconf.get('reset')) {
reset(); reset();
} else {
displayHelp();
} }
function loadConfig() { function loadConfig() {
@@ -99,25 +99,23 @@ function loadConfig() {
// Ensure themes_path is a full filepath // Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path'))); 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-vanilla/templates')); nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
} }
function start() { function start() {
loadConfig(); loadConfig();
if (!cluster.isWorker) {
winston.info('Time: ' + new Date()); winston.info('Time: ' + new Date());
winston.info('Initializing NodeBB v' + pkg.version); winston.info('Initializing NodeBB v' + pkg.version);
winston.info('* using configuration stored in: ' + configFile); winston.info('* using configuration stored in: ' + configFile);
}
if (cluster.isWorker && process.env.cluster_setup === 'true') {
var host = nconf.get(nconf.get('database') + ':host'), var host = nconf.get(nconf.get('database') + ':host'),
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : ''; storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
winston.info('* using ' + nconf.get('database') +' store ' + storeLocation); winston.info('* using ' + nconf.get('database') +' store ' + storeLocation);
winston.info('* using themes stored in: ' + nconf.get('themes_path')); winston.info('* using themes stored in: ' + nconf.get('themes_path'));
if (process.env.NODE_ENV === 'development') {
winston.info('Base Configuration OK.');
} }
require('./src/database').init(function(err) { require('./src/database').init(function(err) {
@@ -138,42 +136,19 @@ function start() {
upgrade.check(function(schema_ok) { upgrade.check(function(schema_ok) {
if (schema_ok || nconf.get('check-schema') === false) { if (schema_ok || nconf.get('check-schema') === false) {
sockets.init(webserver.server); sockets.init(webserver.server);
plugins.init();
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path')); nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
plugins.ready(function() { plugins.ready(function() {
webserver.init(function() { webserver.init();
webserver.listen(function() {
process.send({
action: 'ready'
});
});
});
}); });
process.on('SIGTERM', shutdown); process.on('SIGTERM', shutdown);
process.on('SIGINT', shutdown); process.on('SIGINT', shutdown);
process.on('SIGHUP', restart); process.on('SIGHUP', restart);
process.on('message', function(message) {
switch(message.action) {
case 'reload':
meta.reload();
break;
case 'js-propagate':
meta.js.cache = message.cache;
meta.js.map = message.map;
winston.info('[cluster] Client-side javascript and mapping propagated to worker ' + cluster.worker.id);
break;
case 'css-propagate':
meta.css.cache = message.cache;
meta.css.acpCache = message.acpCache;
winston.info('[cluster] Stylesheets propagated to worker ' + cluster.worker.id);
break;
}
});
process.on('uncaughtException', function(err) { process.on('uncaughtException', function(err) {
winston.error(err.stack); winston.error(err.message);
console.log(err.stack); console.log(err.stack);
meta.js.killMinifier(); meta.js.killMinifier();
@@ -181,13 +156,11 @@ function start() {
}); });
} else { } else {
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:'); winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
winston.warn(' ./nodebb upgrade'); winston.warn(' node app --upgrade');
if (cluster.isWorker) { winston.warn('To ignore this error (not recommended):');
cluster.worker.kill(); winston.warn(' node app --no-check-schema');
} else {
process.exit(); process.exit();
} }
}
}); });
}); });
}); });
@@ -340,8 +313,6 @@ function shutdown(code) {
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.'); winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
require('./src/database').close(); require('./src/database').close();
winston.info('[app] Database connection closed.'); winston.info('[app] Database connection closed.');
require('./src/webserver').server.close();
winston.info('[app] Web server closed to connections.');
winston.info('[app] Shutdown complete.'); winston.info('[app] Shutdown complete.');
process.exit(code || 0); process.exit(code || 0);
@@ -358,3 +329,15 @@ function restart() {
shutdown(1); shutdown(1);
} }
} }
function displayHelp() {
winston.info('Usage: node app [options] [arguments]');
winston.info(' [NODE_ENV=development | NODE_ENV=production] node app [--start] [arguments]');
winston.info('');
winston.info('Options:');
winston.info(' --help displays this usage information');
winston.info(' --setup configure your environment and setup NodeBB');
winston.info(' --upgrade upgrade NodeBB, first read: https://docs.nodebb.org/en/latest/upgrading/');
winston.info(' --reset soft resets NodeBB; disables all plugins and restores selected theme to Vanilla');
winston.info(' --start manually start NodeBB (default when no options are given)');
}

View File

@@ -1,29 +0,0 @@
'use strict';
var bcrypt = require('bcryptjs'),
async = require('async'),
action = process.argv[2];
switch(action) {
case 'compare':
bcrypt.compare(process.argv[3], process.argv[4], function(err, res) {
process.stdout.write(res ? 'true' : 'false');
});
break;
case 'hash':
async.waterfall([
async.apply(bcrypt.genSalt, parseInt(process.argv[3], 10)),
function(salt, next) {
bcrypt.hash(process.argv[4], salt, next);
}
], function(err, hash) {
if (!err) {
process.stdout.write(hash);
} else {
process.stderr.write(err.message);
}
});
break;
}

View File

@@ -11,10 +11,6 @@
"field": "postDelay", "field": "postDelay",
"value": 10 "value": 10
}, },
{
"field": "initialPostDelay",
"value": 10
},
{ {
"field": "minimumPostLength", "field": "minimumPostLength",
"value": 8 "value": 8
@@ -35,10 +31,6 @@
"field": "allowLocalLogin", "field": "allowLocalLogin",
"value": 1 "value": 1
}, },
{
"field": "allowAccountDelete",
"value": 1
},
{ {
"field": "allowFileUploads", "field": "allowFileUploads",
"value": 0 "value": 0
@@ -76,8 +68,8 @@
"value": 256 "value": 256
}, },
{ {
"field": "profileImageDimension", "field": "chatMessagesToDisplay",
"value": 128 "value": 50
}, },
{ {
"field": "requireEmailConfirmation", "field": "requireEmailConfirmation",

View File

@@ -12,7 +12,7 @@ function success(err, config, callback) {
return callback(new Error('aborted')); return callback(new Error('aborted'));
} }
var database = (config.redis || config.mongo) ? config.secondary_database : config.database; var database = (config.redis || config.mongo || config.level) ? config.secondary_database : config.database;
function dbQuestionsSuccess(err, databaseConfig) { function dbQuestionsSuccess(err, databaseConfig) {
if (!databaseConfig) { if (!databaseConfig) {
@@ -39,11 +39,15 @@ function success(err, config, callback) {
password: databaseConfig['mongo:password'], password: databaseConfig['mongo:password'],
database: databaseConfig['mongo:database'] database: databaseConfig['mongo:database']
}; };
} else if (database === 'level') {
config.level = {
database: databaseConfig['level:database']
};
} else { } else {
return callback(new Error('unknown database : ' + database)); return callback(new Error('unknown database : ' + database));
} }
var allQuestions = questions.redis.concat(questions.mongo); var allQuestions = questions.redis.concat(questions.mongo.concat(questions.level));
for(var x=0;x<allQuestions.length;x++) { for(var x=0;x<allQuestions.length;x++) {
delete config[allQuestions[x].name]; delete config[allQuestions[x].name];
} }
@@ -63,6 +67,12 @@ function success(err, config, callback) {
} else { } else {
prompt.get(questions.mongo, dbQuestionsSuccess); prompt.get(questions.mongo, dbQuestionsSuccess);
} }
} else if(database === 'level') {
if (config['level:database']) {
dbQuestionsSuccess(null, config);
} else {
prompt.get(questions.level, dbQuestionsSuccess);
}
} else { } else {
return callback(new Error('unknown database : ' + database)); return callback(new Error('unknown database : ' + database));
} }

277
loader.js
View File

@@ -2,229 +2,81 @@
var nconf = require('nconf'), var nconf = require('nconf'),
fs = require('fs'), fs = require('fs'),
path = require('path'),
cluster = require('cluster'),
async = require('async'),
logrotate = require('logrotate-stream'),
pkg = require('./package.json'),
pidFilePath = __dirname + '/pidfile', pidFilePath = __dirname + '/pidfile',
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }), output = fs.openSync(__dirname + '/logs/output.log', 'a'),
silent = process.env.NODE_ENV !== 'development' ? true : false, start = function() {
numProcs, var fork = require('child_process').fork,
nbb_start = function() {
Loader = { if (timesStarted > 3) {
timesStarted: 0, console.log('\n[loader] Experienced three start attempts in 10 seconds, most likely an error on startup. Halting.');
shutdown_queue: [], return nbb_stop();
js: {
cache: undefined,
map: undefined
},
css: {
cache: undefined,
acpCache: undefined
} }
};
Loader.init = function(callback) { timesStarted++;
cluster.setupMaster({ if (startTimer) {
exec: "app.js", clearTimeout(startTimer);
silent: silent }
startTimer = setTimeout(resetTimer, 1000*10);
nbb = fork('./app', process.argv.slice(2), {
env: process.env
}); });
Loader.primaryWorker = 1;
if (silent) { nbb.on('message', function(message) {
console.log = function(value) {
output.write(value + '\n');
};
}
process.on('SIGHUP', Loader.restart);
callback();
};
Loader.displayStartupMessages = function(callback) {
console.log('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
console.log('This program comes with ABSOLUTELY NO WARRANTY.');
console.log('This is free software, and you are welcome to redistribute it under certain conditions.');
console.log('For the full license, please visit: http://www.gnu.org/copyleft/gpl.html');
console.log('');
callback();
};
Loader.addClusterEvents = function(callback) {
cluster.on('fork', function(worker) {
worker.on('message', function(message) {
if (message && typeof message === 'object' && message.action) { if (message && typeof message === 'object' && message.action) {
var otherWorkers; if (message.action === 'restart') {
nbb_restart();
switch (message.action) {
case 'ready':
if (Loader.js.cache) {
worker.send({
action: 'js-propagate',
cache: Loader.js.cache,
map: Loader.js.map
});
}
if (Loader.css.cache) {
worker.send({
action: 'css-propagate',
cache: Loader.css.cache,
acpCache: Loader.css.acpCache
});
}
// Kill an instance in the shutdown queue
var workerToKill = Loader.shutdown_queue.pop();
if (workerToKill) {
cluster.workers[workerToKill].kill();
}
break;
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart(function(err) {
console.log('[cluster] Restarting...');
});
break;
case 'reload':
console.log('[cluster] Reloading...');
Loader.reload();
break;
case 'js-propagate':
Loader.js.cache = message.cache;
Loader.js.map = message.map;
otherWorkers = Object.keys(cluster.workers).filter(function(worker_id) {
return parseInt(worker_id, 10) !== parseInt(worker.id, 10);
});
otherWorkers.forEach(function(worker_id) {
cluster.workers[worker_id].send({
action: 'js-propagate',
cache: message.cache,
map: message.map
});
});
break;
case 'css-propagate':
Loader.css.cache = message.cache;
Loader.css.acpCache = message.acpCache;
otherWorkers = Object.keys(cluster.workers).filter(function(worker_id) {
return parseInt(worker_id, 10) !== parseInt(worker.id, 10);
});
otherWorkers.forEach(function(worker_id) {
cluster.workers[worker_id].send({
action: 'css-propagate',
cache: message.cache,
acpCache: message.acpCache
});
});
break;
case 'listening':
if (message.primary) {
Loader.primaryWorker = parseInt(worker.id, 10);
}
break;
case 'user:connect':
case 'user:disconnect':
case 'config:update':
Loader.notifyWorkers(message);
break;
} }
} }
}); });
});
cluster.on('listening', function(worker) { nbb.on('exit', function(code, signal) {
console.log('[cluster] Child Process (' + worker.process.pid + ') listening for connections.'); if (code) {
}); nbb_start();
cluster.on('exit', function(worker, code, signal) {
if (code !== 0) {
if (Loader.timesStarted < numProcs*3) {
Loader.timesStarted++;
if (Loader.crashTimer) {
clearTimeout(Loader.crashTimer);
}
Loader.crashTimer = setTimeout(function() {
Loader.timesStarted = 0;
});
} else { } else {
console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.'); nbb_stop();
process.exit();
}
}
console.log('[cluster] Child Process (' + worker.process.pid + ') has exited (code: ' + code + ')');
if (!worker.suicide) {
console.log('[cluster] Spinning up another process...');
var wasPrimary = parseInt(worker.id, 10) === Loader.primaryWorker;
cluster.fork({
handle_jobs: wasPrimary
});
} }
}); });
},
callback(); nbb_stop = function() {
} if (startTimer) {
clearTimeout(startTimer);
Loader.start = function(callback) {
var output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
worker;
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
for(var x=0;x<numProcs;x++) {
// Only the first worker sets up templates/sounds/jobs/etc
worker = cluster.fork({
cluster_setup: x === 0,
handle_jobs: x === 0
});
// Logging
if (silent) {
worker.process.stdout.pipe(output);
}
} }
if (callback) callback(); nbb.kill();
}; if (fs.existsSync(pidFilePath)) {
var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10);
Loader.restart = function(callback) { if (process.pid === pid) {
// Slate existing workers for termination -- welcome to death row. fs.unlinkSync(pidFilePath);
Loader.shutdown_queue = Loader.shutdown_queue.concat(Object.keys(cluster.workers)); }
Loader.start(); }
}; },
nbb_restart = function() {
Loader.reload = function() { nbb.removeAllListeners('exit').on('exit', function() {
Object.keys(cluster.workers).forEach(function(worker_id) { nbb_start();
cluster.workers[worker_id].send({
action: 'reload'
}); });
}); nbb.kill();
}; },
resetTimer = function() {
clearTimeout(startTimer);
timesStarted = 0;
},
timesStarted = 0,
startTimer;
Loader.notifyWorkers = function (msg) { process.on('SIGINT', nbb_stop);
Object.keys(cluster.workers).forEach(function(id) { process.on('SIGTERM', nbb_stop);
cluster.workers[id].send(msg); process.on('SIGHUP', nbb_restart);
});
}
nbb_start();
},
nbb;
nconf.argv().file({ nconf.argv();
file: path.join(__dirname, '/config.json')
});
numProcs = nconf.get('cluster') || 1;
numProcs = (numProcs === true) ? require('os').cpus().length : numProcs;
// Start the daemon!
if (nconf.get('daemon') !== false) { if (nconf.get('daemon') !== false) {
// Check for a still-active NodeBB process
if (fs.existsSync(pidFilePath)) { if (fs.existsSync(pidFilePath)) {
try { try {
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' }); var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
@@ -235,18 +87,13 @@ if (nconf.get('daemon') !== false) {
} }
} }
require('daemon')(); // Daemonize and record new pid
require('daemon')({
stdout: output
});
fs.writeFile(__dirname + '/pidfile', process.pid); fs.writeFile(__dirname + '/pidfile', process.pid);
}
async.series([ start();
Loader.init, } else {
Loader.displayStartupMessages, start();
Loader.addClusterEvents, }
Loader.start
], function(err) {
if (err) {
console.log('[loader] Error during startup: ' + err.message);
}
});

View File

@@ -8,14 +8,13 @@ var uglifyjs = require('uglify-js'),
crypto = require('crypto'), crypto = require('crypto'),
Minifier = { Minifier = {
js: {} js: {},
css: {}
}; };
/* Javascript */ /* Javascript */
Minifier.js.minify = function (scripts, relativePath, minify, callback) { Minifier.js.minify = function (scripts, minify, callback) {
var options = { var options = {};
compress: false
};
scripts = scripts.filter(function(file) { scripts = scripts.filter(function(file) {
return fs.existsSync(file); return fs.existsSync(file);
@@ -24,8 +23,8 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) {
if (!minify) { if (!minify) {
options.sourceMapURL = '/nodebb.min.js.map'; options.sourceMapURL = '/nodebb.min.js.map';
options.outSourceMap = 'nodebb.min.js.map'; options.outSourceMap = 'nodebb.min.js.map';
options.sourceRoot = relativePath;
options.mangle = false; options.mangle = false;
options.compress = false;
options.prefix = 1; options.prefix = 1;
} }
@@ -57,10 +56,17 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) {
process.on('message', function(payload) { process.on('message', function(payload) {
switch(payload.action) { switch(payload.action) {
case 'js': case 'js':
Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) { Minifier.js.minify(payload.scripts, payload.minify, function(data) {
process.stdout.write(data.js);
process.send({ process.send({
type: 'end', type: 'end',
data: data payload: 'script'
});
process.stderr.write(data.map);
process.send({
type: 'end',
payload: 'mapping'
}); });
}); });
break; break;

View File

@@ -7,19 +7,19 @@
'use strict'; 'use strict';
/*global before*/ /*global before*/
var utils = require('./../../public/src/utils.js'), var utils = require('./../public/src/utils.js'),
path = require('path'), path = require('path'),
nconf = require('nconf'), nconf = require('nconf'),
winston = require('winston'), winston = require('winston'),
errorText; errorText;
nconf.file({ file: path.join(__dirname, '../../config.json') }); nconf.file({ file: path.join(__dirname, '../config.json') });
nconf.defaults({ nconf.defaults({
base_dir: path.join(__dirname,'../..'), base_dir: path.join(__dirname,'..'),
themes_path: path.join(__dirname, '../../node_modules'), themes_path: path.join(__dirname, '../node_modules'),
upload_url: path.join(path.sep, '../../uploads', path.sep), upload_url: path.join(path.sep, '../uploads', path.sep),
views_dir: path.join(__dirname, '../../public/templates') views_dir: path.join(__dirname, '../public/templates')
}); });
var dbType = nconf.get('database'), var dbType = nconf.get('database'),
@@ -66,8 +66,8 @@
nconf.set(dbType, testDbConfig); nconf.set(dbType, testDbConfig);
var db = require('../../src/database'), var db = require('../src/database'),
meta = require('../../src/meta'); meta = require('../src/meta');
before(function(done) { before(function(done) {
db.init(function(err) { db.init(function(err) {
@@ -82,12 +82,11 @@
meta.configs.init(function () { meta.configs.init(function () {
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path')); nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
nconf.set('core_templates_path', path.join(__dirname, '../../src/views'));
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates')); nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
nconf.set('theme_templates_path', meta.config['theme:templates'] ? path.join(nconf.get('themes_path'), meta.config['theme:id'], meta.config['theme:templates']) : nconf.get('base_templates_path')); nconf.set('theme_templates_path', meta.config['theme:templates'] ? path.join(nconf.get('themes_path'), meta.config['theme:id'], meta.config['theme:templates']) : nconf.get('base_templates_path'));
var webserver = require('../../src/webserver'), var webserver = require('../src/webserver'),
sockets = require('../../src/socket.io'); sockets = require('../src/socket.io');
sockets.init(webserver.server); sockets.init(webserver.server);
done(); done();

7
nodebb
View File

@@ -28,6 +28,11 @@ case "$1" in
echo " \"./nodebb stop\" to stop the NodeBB server"; echo " \"./nodebb stop\" to stop the NodeBB server";
echo " \"./nodebb log\" to view server output"; echo " \"./nodebb log\" to view server output";
if [ -f "./logs/output.log" ]; # Preserve the last output log
then
mv ./logs/output.log ./logs/output.1.log;
fi;
# Start the loader daemon # Start the loader daemon
"$node" loader -d "$@" "$node" loader -d "$@"
;; ;;
@@ -102,7 +107,7 @@ case "$1" in
echo "Launching NodeBB in \"development\" mode." echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"." echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html" echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
NODE_ENV=development supervisor -q --ignore public/templates,public/nodebb.min.js,public/nodebb.min.js.map --extensions 'node|js|tpl|less' -- app "$@" NODE_ENV=development supervisor -q --ignore public/templates --extensions 'node|js|tpl|less' -- app "$@"
;; ;;
*) *)

2196
npm-shrinkwrap.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
"name": "nodebb", "name": "nodebb",
"license": "GPLv3 or later", "license": "GPLv3 or later",
"description": "NodeBB Forum", "description": "NodeBB Forum",
"version": "0.5.2", "version": "0.5.0",
"homepage": "http://www.nodebb.org", "homepage": "http://www.nodebb.org",
"repository": { "repository": {
"type": "git", "type": "git",
@@ -17,51 +17,48 @@
"dependencies": { "dependencies": {
"async": "~0.9.0", "async": "~0.9.0",
"bcryptjs": "~2.0.1", "bcryptjs": "~2.0.1",
"body-parser": "^1.9.0",
"compression": "^1.1.0",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1", "connect-flash": "^0.1.1",
"connect-multiparty": "^1.2.4", "cron": "~1.0.4",
"cookie-parser": "^1.3.3",
"cron": "^1.0.5",
"csurf": "^1.6.1",
"daemon": "~1.1.0", "daemon": "~1.1.0",
"express": "^4.9.5", "express": "4.6.1",
"express-session": "^1.8.2", "cookie-parser": "^1.0.1",
"body-parser": "^1.0.1",
"serve-favicon": "^2.0.1",
"express-session": "^1.0.2",
"csurf": "^1.1.0",
"compression": "^1.0.1",
"connect-multiparty": "^1.0.1",
"morgan": "^1.0.0",
"gm": "1.16.0", "gm": "1.16.0",
"gravatar": "^1.1.0", "gravatar": "1.0.6",
"less": "^1.7.5", "less": "~1.7.3",
"logrotate-stream": "^0.2.3",
"mkdirp": "~0.5.0", "mkdirp": "~0.5.0",
"morgan": "^1.3.2",
"nconf": "~0.6.7", "nconf": "~0.6.7",
"nodebb-plugin-dbsearch": "0.0.15", "nodebb-plugin-dbsearch": "0.0.13",
"nodebb-plugin-markdown": "^0.7.0", "nodebb-plugin-markdown": "~0.5.0",
"nodebb-plugin-mentions": "~0.6.0", "nodebb-plugin-mentions": "~0.5.0",
"nodebb-plugin-soundpack-default": "~0.1.1", "nodebb-plugin-soundpack-default": "~0.1.1",
"nodebb-theme-lavender": "~0.1.0", "nodebb-theme-lavender": "~0.0.74",
"nodebb-theme-vanilla": "~0.1.0", "nodebb-theme-vanilla": "~0.0.111",
"nodebb-widget-essentials": "~0.1.1", "nodebb-widget-essentials": "~0.1.0",
"npm": "^2.1.4", "npm": "^1.4.6",
"passport": "^0.2.1", "passport": "~0.2.0",
"passport-local": "1.0.0", "passport-local": "1.0.0",
"prompt": "^0.2.14", "prompt": "~0.2.11",
"request": "^2.44.0", "request": "~2.38.0",
"rimraf": "~2.2.6", "rimraf": "~2.2.6",
"rss": "^1.0.0", "rss": "~0.3.2",
"semver": "^4.0.3", "semver": "~2.3.1",
"serve-favicon": "^2.1.5", "sitemap": "~0.7.3",
"sitemap": "^0.7.4", "socket.io": "~0.9.16",
"socket.io": "^0.9.17",
"socket.io-client": "^0.9.17",
"socket.io-wildcard": "~0.1.1", "socket.io-wildcard": "~0.1.1",
"string": "^2.1.0", "string": "~1.9.0",
"templates.js": "0.1.2",
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git", "uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
"underscore": "~1.7.0", "underscore": "~1.6.0",
"validator": "~3.21.0", "validator": "~3.16.1",
"winston": "^0.8.0", "winston": "~0.7.2",
"xregexp": "~2.0.0" "xregexp": "~2.0.0",
"templates.js": "0.0.13"
}, },
"devDependencies": { "devDependencies": {
"mocha": "~1.13.0" "mocha": "~1.13.0"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />", "no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />",
"browsing": "تصفح", "browsing": "تصفح",
"no_replies": "لم يرد أحد", "no_replies": "لم يرد أحد",
"share_this_category": "انشر هذه الفئة", "share_this_category": "انشر هذه الفئة"
"ignore": "Ignore"
} }

View File

@@ -13,11 +13,8 @@
"digest.latest_topics": "Latest topics from %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.subject": "New chat message received from %1",
"notif.chat.cta": "Click here to continue the conversation",
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"unsub.cta": "Click here to alter those settings",
"closing": "Thanks!" "closing": "Thanks!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Invalid title!", "invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data", "invalid-user-data": "Invalid User Data",
"invalid-password": "كلمة السر غير مقبولة", "invalid-password": "كلمة السر غير مقبولة",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Invalid pagination value", "invalid-pagination-value": "Invalid pagination value",
"username-taken": "اسم المستخدم ماخوذ", "username-taken": "اسم المستخدم ماخوذ",
"email-taken": "البريد الالكتروني ماخوذ", "email-taken": "البريد الالكتروني ماخوذ",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.", "email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short", "username-too-short": "Username too short",
"username-too-long": "Username too long",
"user-banned": "المستخدم محظور", "user-banned": "المستخدم محظور",
"user-too-new": "You need to wait %1 seconds before making your first post!",
"no-category": "Category doesn't exist", "no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist", "no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist", "no-post": "Post doesn't exist",
@@ -56,9 +52,5 @@
"upload-error": "مشكلة في الرفع: 1%", "upload-error": "مشكلة في الرفع: 1%",
"signature-too-long": "Signature can't be longer than %1 characters!", "signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!", "cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system is disabled.", "not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Message History", "chat.message-history": "Message History",
"chat.pop-out": "Pop out chat", "chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize", "chat.maximize": "Maximize",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 said in %2:", "composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:", "composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?" "composer.discard": "Are you sure you wish to discard this post?"

View File

@@ -10,14 +10,11 @@
"new_notification": "New Notification", "new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.", "you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>", "new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.", "upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> has favourited your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> flagged a post.",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>", "user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed", "email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...", "email-confirm-error": "An error occurred...",

View File

@@ -12,7 +12,5 @@
"user.posts": "Posts made by %1", "user.posts": "Posts made by %1",
"user.topics": "Topics created by %1", "user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings", "user.settings": "User Settings"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "أسبوع", "week": "أسبوع",
"month": "شهر", "month": "شهر",
"year": "Year", "year": "Year",
"alltime": "All Time",
"no_recent_topics": "There are no recent topics." "no_recent_topics": "There are no recent topics."
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"no-matches": "No posts found"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "There are no topics with this tag.", "no_tag_topics": "There are no topics with this tag.",
"tags": "Tags", "tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.", "enter_tags_here": "Enter tags here. Press enter after each tag.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "There are no tags yet." "no_tags": "There are no tags yet."
} }

View File

@@ -28,17 +28,15 @@
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?", "flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.", "flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.", "markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic", "watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Topic Tools", "thread_tools.title": "أدوات الموضوع",
"thread_tools.markAsUnreadForAll": "علم غير مقروء", "thread_tools.markAsUnreadForAll": "علم غير مقروء",
"thread_tools.pin": "علق الموضوع", "thread_tools.pin": "علق الموضوع",
"thread_tools.unpin": "Unpin Topic", "thread_tools.unpin": "Unpin Topic",
@@ -48,11 +46,11 @@
"thread_tools.move_all": "Move All", "thread_tools.move_all": "Move All",
"thread_tools.fork": "تفرع الموضوع", "thread_tools.fork": "تفرع الموضوع",
"thread_tools.delete": "حذف الموضوع", "thread_tools.delete": "حذف الموضوع",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic", "thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic", "thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "Are you sure you want to purge this thread?",
"topic_move_success": "This topic has been successfully moved to %1", "topic_move_success": "This topic has been successfully moved to %1",
"post_delete_confirm": "Are you sure you want to delete this post?", "post_delete_confirm": "Are you sure you want to delete this post?",
"post_restore_confirm": "Are you sure you want to restore this post?", "post_restore_confirm": "Are you sure you want to restore this post?",
@@ -73,7 +71,7 @@
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة", "topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
"fork_topic_instruction": "إضغط على الردود لتفريعهم", "fork_topic_instruction": "إضغط على الردود لتفريعهم",
"fork_no_pids": "لم تختار أي رد", "fork_no_pids": "لم تختار أي رد",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.", "fork_success": "تفريع الموضوع بنجاح!",
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",

View File

@@ -4,8 +4,6 @@
"username": "إسم المستخدم", "username": "إسم المستخدم",
"email": "البريد الإلكتروني", "email": "البريد الإلكتروني",
"confirm_email": "Confirm Email", "confirm_email": "Confirm Email",
"delete_account": "Delete Account",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
"fullname": "الاسم الكامل", "fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني", "website": "الموقع الإلكتروني",
"location": "موقع", "location": "موقع",
@@ -29,7 +27,6 @@
"edit": "صحح", "edit": "صحح",
"uploaded_picture": "صورة تم تحميلها", "uploaded_picture": "صورة تم تحميلها",
"upload_new_picture": "تحميل صورة جديدة", "upload_new_picture": "تحميل صورة جديدة",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Current Password", "current_password": "Current Password",
"change_password": "تغيير كلمة السر", "change_password": "تغيير كلمة السر",
"change_password_error": "Invalid Password!", "change_password_error": "Invalid Password!",
@@ -53,7 +50,6 @@
"digest_daily": "Daily", "digest_daily": "Daily",
"digest_weekly": "Weekly", "digest_weekly": "Weekly",
"digest_monthly": "Monthly", "digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(", "has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
"follows_no_one": "هذا المستخدم لا يتبع أحد :(", "follows_no_one": "هذا المستخدم لا يتبع أحد :(",
"has_no_posts": "This user didn't post anything yet.", "has_no_posts": "This user didn't post anything yet.",
@@ -65,7 +61,5 @@
"posts_per_page": "Posts per Page", "posts_per_page": "Posts per Page",
"notification_sounds": "Play a sound when you receive a notification.", "notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings", "browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?", "open_links_in_new_tab": "Open outgoing links in new tab?"
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
} }

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!", "no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
"browsing": "prohlíží", "browsing": "prohlíží",
"no_replies": "Nikdo ještě neodpověděl", "no_replies": "Nikdo ještě neodpověděl",
"share_this_category": "Share this category", "share_this_category": "Share this category"
"ignore": "Ignore"
} }

View File

@@ -13,11 +13,8 @@
"digest.latest_topics": "Latest topics from %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.subject": "New chat message received from %1",
"notif.chat.cta": "Click here to continue the conversation",
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"unsub.cta": "Click here to alter those settings",
"closing": "Thanks!" "closing": "Thanks!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Invalid title!", "invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data", "invalid-user-data": "Invalid User Data",
"invalid-password": "Invalid Password", "invalid-password": "Invalid Password",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Invalid pagination value", "invalid-pagination-value": "Invalid pagination value",
"username-taken": "Username taken", "username-taken": "Username taken",
"email-taken": "Email taken", "email-taken": "Email taken",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.", "email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short", "username-too-short": "Username too short",
"username-too-long": "Username too long",
"user-banned": "User banned", "user-banned": "User banned",
"user-too-new": "You need to wait %1 seconds before making your first post!",
"no-category": "Category doesn't exist", "no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist", "no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist", "no-post": "Post doesn't exist",
@@ -56,9 +52,5 @@
"upload-error": "Upload Error : %1", "upload-error": "Upload Error : %1",
"signature-too-long": "Signature can't be longer than %1 characters!", "signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!", "cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system is disabled.", "not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Message History", "chat.message-history": "Message History",
"chat.pop-out": "Pop out chat", "chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize", "chat.maximize": "Maximize",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 said in %2:", "composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:", "composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?" "composer.discard": "Are you sure you wish to discard this post?"

View File

@@ -10,14 +10,11 @@
"new_notification": "New Notification", "new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.", "you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>", "new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.", "upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> has favourited your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> flagged a post.",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>", "user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed", "email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...", "email-confirm-error": "An error occurred...",

View File

@@ -12,7 +12,5 @@
"user.posts": "Posts made by %1", "user.posts": "Posts made by %1",
"user.topics": "Topics created by %1", "user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings", "user.settings": "User Settings"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "Týden", "week": "Týden",
"month": "Měsíc", "month": "Měsíc",
"year": "Year", "year": "Year",
"alltime": "All Time",
"no_recent_topics": "There are no recent topics." "no_recent_topics": "There are no recent topics."
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"no-matches": "No posts found"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "There are no topics with this tag.", "no_tag_topics": "There are no topics with this tag.",
"tags": "Tags", "tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.", "enter_tags_here": "Enter tags here. Press enter after each tag.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "There are no tags yet." "no_tags": "There are no tags yet."
} }

View File

@@ -28,17 +28,15 @@
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?", "flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.", "flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.", "markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic", "watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Topic Tools", "thread_tools.title": "Nástroje",
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené", "thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
"thread_tools.pin": "Pin Topic", "thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic", "thread_tools.unpin": "Unpin Topic",
@@ -48,11 +46,11 @@
"thread_tools.move_all": "Move All", "thread_tools.move_all": "Move All",
"thread_tools.fork": "Fork Topic", "thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic", "thread_tools.delete": "Delete Topic",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic", "thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic", "thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "Are you sure you want to purge this thread?",
"topic_move_success": "This topic has been successfully moved to %1", "topic_move_success": "This topic has been successfully moved to %1",
"post_delete_confirm": "Are you sure you want to delete this post?", "post_delete_confirm": "Are you sure you want to delete this post?",
"post_restore_confirm": "Are you sure you want to restore this post?", "post_restore_confirm": "Are you sure you want to restore this post?",
@@ -73,7 +71,7 @@
"topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie", "topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie",
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit", "fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
"fork_no_pids": "Žádné příspěvky nebyly vybrány!", "fork_no_pids": "Žádné příspěvky nebyly vybrány!",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.", "fork_success": "Téma bylo úspěšně rozděleno!",
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",

View File

@@ -4,8 +4,6 @@
"username": "Uživatelské jméno", "username": "Uživatelské jméno",
"email": "Email", "email": "Email",
"confirm_email": "Confirm Email", "confirm_email": "Confirm Email",
"delete_account": "Delete Account",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
"fullname": "Jméno a příjmení", "fullname": "Jméno a příjmení",
"website": "Webové stránky", "website": "Webové stránky",
"location": "Poloha", "location": "Poloha",
@@ -29,7 +27,6 @@
"edit": "Upravit", "edit": "Upravit",
"uploaded_picture": "Nahraný obrázek", "uploaded_picture": "Nahraný obrázek",
"upload_new_picture": "Nahrát nový obrázek", "upload_new_picture": "Nahrát nový obrázek",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Current Password", "current_password": "Current Password",
"change_password": "Změnit heslo", "change_password": "Změnit heslo",
"change_password_error": "Invalid Password!", "change_password_error": "Invalid Password!",
@@ -53,7 +50,6 @@
"digest_daily": "Daily", "digest_daily": "Daily",
"digest_weekly": "Weekly", "digest_weekly": "Weekly",
"digest_monthly": "Monthly", "digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(", "has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
"follows_no_one": "Tento uživatel nikoho nesleduje :(", "follows_no_one": "Tento uživatel nikoho nesleduje :(",
"has_no_posts": "This user didn't post anything yet.", "has_no_posts": "This user didn't post anything yet.",
@@ -65,7 +61,5 @@
"posts_per_page": "Posts per Page", "posts_per_page": "Posts per Page",
"notification_sounds": "Play a sound when you receive a notification.", "notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings", "browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?", "open_links_in_new_tab": "Open outgoing links in new tab?"
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
} }

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>Es gibt noch keine Themen in dieser Kategorie.</strong><br />Warum beginnst du nicht das erste?", "no_topics": "<strong>Es gibt noch keine Themen in dieser Kategorie.</strong><br />Warum beginnst du nicht das erste?",
"browsing": "Aktiv", "browsing": "Aktiv",
"no_replies": "Niemand hat geantwortet", "no_replies": "Niemand hat geantwortet",
"share_this_category": "Teile diese Kategorie", "share_this_category": "Teile diese Kategorie"
"ignore": "Ignorieren"
} }

View File

@@ -13,11 +13,8 @@
"digest.latest_topics": "Aktuellste Themen vom %1", "digest.latest_topics": "Aktuellste Themen vom %1",
"digest.cta": "Klicke hier, um %1 zu besuchen", "digest.cta": "Klicke hier, um %1 zu besuchen",
"digest.unsub.info": "Diese Zusammenfassung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.", "digest.unsub.info": "Diese Zusammenfassung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
"digest.unsub.cta": "Klicke hier, um diese Einstellungen zu ändern",
"digest.daily.no_topics": "Es gab heute keine aktiven Themen", "digest.daily.no_topics": "Es gab heute keine aktiven Themen",
"notif.chat.subject": "Neue Chatnachricht von %1 erhalten",
"notif.chat.cta": "Klicke hier, um die Unterhaltung fortzusetzen",
"notif.chat.unsub.info": "Diese Chat-Benachrichtigung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
"test.text1": "Dies ist eine Test-E-Mail, um zu überprüfen, ob der E-Mailer deines NodeBB korrekt eingestellt wurde.", "test.text1": "Dies ist eine Test-E-Mail, um zu überprüfen, ob der E-Mailer deines NodeBB korrekt eingestellt wurde.",
"unsub.cta": "Klicke hier, um diese Einstellungen zu ändern.",
"closing": "Danke!" "closing": "Danke!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Ungültiger Titel", "invalid-title": "Ungültiger Titel",
"invalid-user-data": "Ungültige Benutzerdaten", "invalid-user-data": "Ungültige Benutzerdaten",
"invalid-password": "Ungültiges Passwort", "invalid-password": "Ungültiges Passwort",
"invalid-username-or-password": "Bitte gebe einen Benutzernamen und ein Passwort an",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Die Nummerierung ist ungültig", "invalid-pagination-value": "Die Nummerierung ist ungültig",
"username-taken": "Der Benutzername ist bereits vergeben", "username-taken": "Der Benutzername ist bereits vergeben",
"email-taken": "Die E-Mail-Adresse ist bereits vergeben", "email-taken": "Die E-Mail-Adresse ist bereits vergeben",
"email-not-confirmed": "Deine E-Mail wurde noch nicht bestätigt. Bitte klicke hier, um deine E-Mail zu bestätigen.", "email-not-confirmed": "Deine E-Mail wurde noch nicht bestätigt. Bitte klicke hier, um deine E-Mail zu bestätigen.",
"username-too-short": "Benutzername ist zu kurz", "username-too-short": "Benutzername ist zu kurz",
"username-too-long": "Der Benutzername ist zu lang",
"user-banned": "Der Benutzer ist gesperrt", "user-banned": "Der Benutzer ist gesperrt",
"user-too-new": "Du musst %1 Sekunden warten, bevor du deinen ersten Beitrag verfassen kannst!",
"no-category": "Die Kategorie existiert nicht", "no-category": "Die Kategorie existiert nicht",
"no-topic": "Das Thema existiert nicht", "no-topic": "Das Thema existiert nicht",
"no-post": "Der Beitrag existiert nicht", "no-post": "Der Beitrag existiert nicht",
@@ -56,9 +52,5 @@
"upload-error": "Upload-Fehler: %1", "upload-error": "Upload-Fehler: %1",
"signature-too-long": "Die Signatur darf maximal %1 Zeichen enthalten!", "signature-too-long": "Die Signatur darf maximal %1 Zeichen enthalten!",
"cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!", "cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!",
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.", "not-enough-reputation-to-downvote": "Deine Reputation ist zu niedrig, um diesen Beitrag negativ zu bewerten."
"downvoting-disabled": "Downvotes sind deaktiviert.",
"not-enough-reputation-to-downvote": "Deine Reputation ist zu niedrig, um diesen Beitrag negativ zu bewerten.",
"not-enough-reputation-to-flag": "Deine Reputation ist nicht gut genug, um diesen Beitrag zu melden.",
"reload-failed": "Es ist ein Problem während des Reloads von NodeBB aufgetreten: \"%1\". NodeBB wird weiterhin clientseitige Assets bereitstellen, allerdings solltest du das, was du vor dem Reload gemacht hast, rückgängig machen."
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Nachrichtenverlauf", "chat.message-history": "Nachrichtenverlauf",
"chat.pop-out": "Chat als Pop-out anzeigen", "chat.pop-out": "Chat als Pop-out anzeigen",
"chat.maximize": "Maximieren", "chat.maximize": "Maximieren",
"chat.yesterday": "Gestern",
"chat.seven_days": "7 Tage",
"chat.thirty_days": "30 Tage",
"chat.three_months": "3 Monate",
"composer.user_said_in": "%1 sagte in %2:", "composer.user_said_in": "%1 sagte in %2:",
"composer.user_said": "%1 sagte:", "composer.user_said": "%1 sagte:",
"composer.discard": "Bist du sicher, dass du diesen Post verwerfen möchtest?" "composer.discard": "Bist du sicher, dass du diesen Post verwerfen möchtest?"

View File

@@ -10,14 +10,11 @@
"new_notification": "Neue Benachrichtigung", "new_notification": "Neue Benachrichtigung",
"you_have_unread_notifications": "Du hast ungelesene Benachrichtigungen.", "you_have_unread_notifications": "Du hast ungelesene Benachrichtigungen.",
"new_message_from": "Neue Nachricht von <strong>%1</strong>", "new_message_from": "Neue Nachricht von <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> hat deinen Beitrag in <strong>%2</strong> positiv bewertet.", "upvoted_your_post": "<strong>%1</strong> hat deinen Beitrag positiv bewertet.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> favorisiert deinen Beitrag.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> hat einen Beitrag markiert.",
"favourited_your_post_in": "<strong>%1</strong> hat deinen Beitrag in <strong>%2</strong> favorisiert.",
"user_flagged_post_in": "<strong>%1</strong> hat einen Beitrag in </strong>%2</strong> gemeldet",
"user_posted_to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.", "user_posted_to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.",
"user_mentioned_you_in": "<strong>%1</strong> erwähnte dich in <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> erwähnte dich in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> folgt dir jetzt.",
"email-confirmed": "E-Mail bestätigt", "email-confirmed": "E-Mail bestätigt",
"email-confirmed-message": "Vielen Dank für Ihre E-Mail-Validierung. Ihr Konto ist nun vollständig aktiviert.", "email-confirmed-message": "Vielen Dank für Ihre E-Mail-Validierung. Ihr Konto ist nun vollständig aktiviert.",
"email-confirm-error": "Es ist ein Fehler aufgetreten ...", "email-confirm-error": "Es ist ein Fehler aufgetreten ...",

View File

@@ -5,14 +5,12 @@
"recent": "Neueste Themen", "recent": "Neueste Themen",
"users": "Registrierte User", "users": "Registrierte User",
"notifications": "Benachrichtigungen", "notifications": "Benachrichtigungen",
"tags": "Themen markiert unter \"%1\"", "tags": "Topics tagged under \"%1\"",
"user.edit": "Bearbeite \"%1\"", "user.edit": "Bearbeite \"%1\"",
"user.following": "Nutzer, die %1 folgt", "user.following": "Nutzer, die %1 folgt",
"user.followers": "Nutzer, die %1 folgen", "user.followers": "Nutzer, die %1 folgen",
"user.posts": "Beiträge von %1", "user.posts": "Beiträge von %1",
"user.topics": "Themen von %1", "user.topics": "Themen von %1",
"user.favourites": "Von %1 favorisierte Beiträge", "user.favourites": "Von %1 favorisierte Beiträge",
"user.settings": "Benutzer-Einstellungen", "user.settings": "Benutzer-Einstellungen"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "Woche", "week": "Woche",
"month": "Monat", "month": "Monat",
"year": "Jahr", "year": "Jahr",
"alltime": "Gesamter Zeitraum",
"no_recent_topics": "Es gibt keine aktuellen Themen." "no_recent_topics": "Es gibt keine aktuellen Themen."
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 Ergebniss(e) stimmen mit \"%2\" überein, (%3 Sekunden)", "results_matching": "%1 Ergebniss(e) stimmen mit \"%2\" überein, (%3 Sekunden)"
"no-matches": "Keine Beiträge gefunden"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "Es gibt keine Themen mit diesem Tag.", "no_tag_topics": "Es gibt keine Themen mit diesem Tag.",
"tags": "Tags", "tags": "Tags",
"enter_tags_here": "Gib hier Tags ein und drück die Eingabetaste nach jedem Tag.", "enter_tags_here": "Gib hier Tags ein und drück die Eingabetaste nach jedem Tag.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "Es gibt bisher keine Tags." "no_tags": "Es gibt bisher keine Tags."
} }

View File

@@ -28,17 +28,15 @@
"flag_title": "Diesen Beitrag zur Moderation markieren", "flag_title": "Diesen Beitrag zur Moderation markieren",
"flag_confirm": "Sind Sie sicher, dass Sie diesen Post markieren möchten?", "flag_confirm": "Sind Sie sicher, dass Sie diesen Post markieren möchten?",
"flag_success": "Dieser Beitrag wurde erfolgreich für die Moderation markiert.", "flag_success": "Dieser Beitrag wurde erfolgreich für die Moderation markiert.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.",
"following_topic.message": "Du erhälst nun eine Benachrichtigung, wenn jemand einen Beitrag zu diesem Thema verfasst.", "following_topic.message": "Du erhälst nun eine Benachrichtigung, wenn jemand einen Beitrag zu diesem Thema verfasst.",
"not_following_topic.message": "Du erhälst keine weiteren Benachrichtigungen zu diesem Thema.", "not_following_topic.message": "Du erhälst keine weiteren Benachrichtigungen zu diesem Thema.",
"login_to_subscribe": "Bitte registrieren oder einloggen um dieses Thema zu abonnieren", "login_to_subscribe": "Bitte registrieren oder einloggen um dieses Thema zu abonnieren",
"markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.", "markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.",
"watch": "Beobachten", "watch": "Beobachten",
"unwatch": "Unwatch",
"watch.title": "Bei neuen Antworten benachrichtigen", "watch.title": "Bei neuen Antworten benachrichtigen",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Diesen Beitrag teilen", "share_this_post": "Diesen Beitrag teilen",
"thread_tools.title": "Topic Tools", "thread_tools.title": "Tools",
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren", "thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
"thread_tools.pin": "Thema anpinnen", "thread_tools.pin": "Thema anpinnen",
"thread_tools.unpin": "Thema nicht mehr anpinnen", "thread_tools.unpin": "Thema nicht mehr anpinnen",
@@ -48,11 +46,11 @@
"thread_tools.move_all": "Alle verschieben", "thread_tools.move_all": "Alle verschieben",
"thread_tools.fork": "Thema aufspalten", "thread_tools.fork": "Thema aufspalten",
"thread_tools.delete": "Thema löschen", "thread_tools.delete": "Thema löschen",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "Sind Sie sicher, dass Sie dieses Thema löschen möchten?",
"thread_tools.restore": "Thema wiederherstellen", "thread_tools.restore": "Thema wiederherstellen",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Sind Sie sicher, dass Sie dieses Thema wiederherstellen möchten?",
"thread_tools.purge": "Thema bereinigen", "thread_tools.purge": "Thema bereinigen",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "Sind Sie sicher, dass Sie dieses Thema bereinigen möchten?",
"topic_move_success": "Thema wurde erfolgreich zu %1 verschoben.", "topic_move_success": "Thema wurde erfolgreich zu %1 verschoben.",
"post_delete_confirm": "Sind Sie sicher, dass Sie diesen Beitrag löschen möchten?", "post_delete_confirm": "Sind Sie sicher, dass Sie diesen Beitrag löschen möchten?",
"post_restore_confirm": "Sind Sie sicher, dass Sie diesen Beitrag wiederherstellen möchten?", "post_restore_confirm": "Sind Sie sicher, dass Sie diesen Beitrag wiederherstellen möchten?",
@@ -73,7 +71,7 @@
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach", "topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
"fork_topic_instruction": "Klicke auf die Beiträge, die du aufspalten willst", "fork_topic_instruction": "Klicke auf die Beiträge, die du aufspalten willst",
"fork_no_pids": "Keine Beiträge ausgewählt!", "fork_no_pids": "Keine Beiträge ausgewählt!",
"fork_success": "Thema erfolgreich abgespalten! Klicke hier, um zum abgespalteten Thema zu gelangen.", "fork_success": "Thema erfolgreich aufgespalten!",
"composer.title_placeholder": "Hier den Titel des Themas eingeben...", "composer.title_placeholder": "Hier den Titel des Themas eingeben...",
"composer.discard": "Verwerfen", "composer.discard": "Verwerfen",
"composer.submit": "Absenden", "composer.submit": "Absenden",
@@ -89,7 +87,7 @@
"more_users_and_guests": "%1 weitere(r) Nutzer und %2 Gäste", "more_users_and_guests": "%1 weitere(r) Nutzer und %2 Gäste",
"more_users": "%1 weitere(r) Nutzer", "more_users": "%1 weitere(r) Nutzer",
"more_guests": "%1 weitere Gäste", "more_guests": "%1 weitere Gäste",
"users_and_others": "%1 und %2 andere", "users_and_others": "%1 and %2 others",
"sort_by": "Sortieren nach", "sort_by": "Sortieren nach",
"oldest_to_newest": "Älteste zuerst", "oldest_to_newest": "Älteste zuerst",
"newest_to_oldest": "Neuster zuerst", "newest_to_oldest": "Neuster zuerst",

View File

@@ -4,8 +4,6 @@
"username": "Nutzername", "username": "Nutzername",
"email": "E-Mail", "email": "E-Mail",
"confirm_email": "E-Mail bestätigen", "confirm_email": "E-Mail bestätigen",
"delete_account": "Konto löschen",
"delete_account_confirm": "Bist du sicher, dass du dein Konto löschen möchtest? <br /><strong>Diese Aktion kann nicht rückgängig gemacht werden und du kannst deine Daten nicht widerherstellen</strong><br /><br />Gebe deinen Benutzernamen ein, um zu bestätigen, dass du dieses Konto terminieren möchtest.",
"fullname": "Kompletter Name", "fullname": "Kompletter Name",
"website": "Homepage", "website": "Homepage",
"location": "Wohnort", "location": "Wohnort",
@@ -29,7 +27,6 @@
"edit": "Ändern", "edit": "Ändern",
"uploaded_picture": "Hochgeladene Bilder", "uploaded_picture": "Hochgeladene Bilder",
"upload_new_picture": "Neues Bild hochladen", "upload_new_picture": "Neues Bild hochladen",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Aktuelles Passwort", "current_password": "Aktuelles Passwort",
"change_password": "Passwort ändern", "change_password": "Passwort ändern",
"change_password_error": "Ungültiges Passwort!", "change_password_error": "Ungültiges Passwort!",
@@ -53,7 +50,6 @@
"digest_daily": "Täglich", "digest_daily": "Täglich",
"digest_weekly": "Wöchentlich", "digest_weekly": "Wöchentlich",
"digest_monthly": "Monatlich", "digest_monthly": "Monatlich",
"send_chat_notifications": "Sende eine E-Mail, wenn eine neue Chat-Nachricht eingeht und ich nicht online bin",
"has_no_follower": "Dieser User hat noch keine Follower.", "has_no_follower": "Dieser User hat noch keine Follower.",
"follows_no_one": "Dieser User folgt noch niemandem :(", "follows_no_one": "Dieser User folgt noch niemandem :(",
"has_no_posts": "Dieser Nutzer hat noch nichts gepostet.", "has_no_posts": "Dieser Nutzer hat noch nichts gepostet.",
@@ -65,7 +61,5 @@
"posts_per_page": "Beiträge pro Seite", "posts_per_page": "Beiträge pro Seite",
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.", "notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
"browsing": "Browser Einstellungen", "browsing": "Browser Einstellungen",
"open_links_in_new_tab": "Externe Links in neuem Tab öffnen?", "open_links_in_new_tab": "Externe Links in neuem Tab öffnen?"
"follow_topics_you_reply_to": "Folge Themen, auf die du antwortest.",
"follow_topics_you_create": "Folge Themen, die du erstellst."
} }

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>Thar be no topics in 'tis category.</strong><br />Why don't ye give a go' postin' one?", "no_topics": "<strong>Thar be no topics in 'tis category.</strong><br />Why don't ye give a go' postin' one?",
"browsing": "browsin'", "browsing": "browsin'",
"no_replies": "No one has replied to ye message", "no_replies": "No one has replied to ye message",
"share_this_category": "Share this category", "share_this_category": "Share this category"
"ignore": "Ignore"
} }

View File

@@ -13,11 +13,8 @@
"digest.latest_topics": "Latest topics from %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.subject": "New chat message received from %1",
"notif.chat.cta": "Click here to continue the conversation",
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"unsub.cta": "Click here to alter those settings",
"closing": "Thanks!" "closing": "Thanks!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Invalid title!", "invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data", "invalid-user-data": "Invalid User Data",
"invalid-password": "Invalid Password", "invalid-password": "Invalid Password",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Invalid pagination value", "invalid-pagination-value": "Invalid pagination value",
"username-taken": "Username taken", "username-taken": "Username taken",
"email-taken": "Email taken", "email-taken": "Email taken",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.", "email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short", "username-too-short": "Username too short",
"username-too-long": "Username too long",
"user-banned": "User banned", "user-banned": "User banned",
"user-too-new": "You need to wait %1 seconds before making your first post!",
"no-category": "Category doesn't exist", "no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist", "no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist", "no-post": "Post doesn't exist",
@@ -56,9 +52,5 @@
"upload-error": "Upload Error : %1", "upload-error": "Upload Error : %1",
"signature-too-long": "Signature can't be longer than %1 characters!", "signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!", "cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system is disabled.", "not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Message History", "chat.message-history": "Message History",
"chat.pop-out": "Pop out chat", "chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize", "chat.maximize": "Maximize",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 said in %2:", "composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:", "composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?" "composer.discard": "Are you sure you wish to discard this post?"

View File

@@ -10,14 +10,11 @@
"new_notification": "New Notification", "new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.", "you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>", "new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.", "upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> has favourited your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> flagged a post.",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>", "user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed", "email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...", "email-confirm-error": "An error occurred...",

View File

@@ -12,7 +12,5 @@
"user.posts": "Posts made by %1", "user.posts": "Posts made by %1",
"user.topics": "Topics created by %1", "user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings", "user.settings": "User Settings"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "Week", "week": "Week",
"month": "Month", "month": "Month",
"year": "Year", "year": "Year",
"alltime": "All Time",
"no_recent_topics": "There be no recent topics." "no_recent_topics": "There be no recent topics."
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"no-matches": "No posts found"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "There are no topics with this tag.", "no_tag_topics": "There are no topics with this tag.",
"tags": "Tags", "tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.", "enter_tags_here": "Enter tags here. Press enter after each tag.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "There are no tags yet." "no_tags": "There are no tags yet."
} }

View File

@@ -28,17 +28,15 @@
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?", "flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.", "flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.", "markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic", "watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Topic Tools", "thread_tools.title": "Thread Tools",
"thread_tools.markAsUnreadForAll": "Mark Unread", "thread_tools.markAsUnreadForAll": "Mark Unread",
"thread_tools.pin": "Pin Topic", "thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic", "thread_tools.unpin": "Unpin Topic",
@@ -48,11 +46,11 @@
"thread_tools.move_all": "Move All", "thread_tools.move_all": "Move All",
"thread_tools.fork": "Fork Topic", "thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic", "thread_tools.delete": "Delete Topic",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic", "thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic", "thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "Are you sure you want to purge this thread?",
"topic_move_success": "This topic has been successfully moved to %1", "topic_move_success": "This topic has been successfully moved to %1",
"post_delete_confirm": "Are you sure you want to delete this post?", "post_delete_confirm": "Are you sure you want to delete this post?",
"post_restore_confirm": "Are you sure you want to restore this post?", "post_restore_confirm": "Are you sure you want to restore this post?",
@@ -73,7 +71,7 @@
"topic_will_be_moved_to": "This topic will be moved to the category", "topic_will_be_moved_to": "This topic will be moved to the category",
"fork_topic_instruction": "Click the posts you want to fork", "fork_topic_instruction": "Click the posts you want to fork",
"fork_no_pids": "No posts selected!", "fork_no_pids": "No posts selected!",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.", "fork_success": "Succesfully forked topic!",
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",

View File

@@ -4,8 +4,6 @@
"username": "User Name", "username": "User Name",
"email": "Email", "email": "Email",
"confirm_email": "Confirm Email", "confirm_email": "Confirm Email",
"delete_account": "Delete Account",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
"fullname": "Full Name", "fullname": "Full Name",
"website": "Website", "website": "Website",
"location": "Location", "location": "Location",
@@ -29,7 +27,6 @@
"edit": "Edit", "edit": "Edit",
"uploaded_picture": "Uploaded Picture", "uploaded_picture": "Uploaded Picture",
"upload_new_picture": "Upload New Picture", "upload_new_picture": "Upload New Picture",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Current Password", "current_password": "Current Password",
"change_password": "Change Password", "change_password": "Change Password",
"change_password_error": "Invalid Password!", "change_password_error": "Invalid Password!",
@@ -53,7 +50,6 @@
"digest_daily": "Daily", "digest_daily": "Daily",
"digest_weekly": "Weekly", "digest_weekly": "Weekly",
"digest_monthly": "Monthly", "digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "This user doesn't have any followers :(", "has_no_follower": "This user doesn't have any followers :(",
"follows_no_one": "This user isn't following anyone :(", "follows_no_one": "This user isn't following anyone :(",
"has_no_posts": "This user didn't post anything yet.", "has_no_posts": "This user didn't post anything yet.",
@@ -65,7 +61,5 @@
"posts_per_page": "Posts per Page", "posts_per_page": "Posts per Page",
"notification_sounds": "Play a sound when you receive a notification.", "notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings", "browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?", "open_links_in_new_tab": "Open outgoing links in new tab?"
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
} }

View File

@@ -5,6 +5,5 @@
"browsing": "browsing", "browsing": "browsing",
"no_replies": "No one has replied", "no_replies": "No one has replied",
"share_this_category": "Share this category", "share_this_category": "Share this category"
"ignore": "Ignore"
} }

View File

@@ -13,19 +13,14 @@
"reset.text2": "To continue with the password reset, please click on the following link:", "reset.text2": "To continue with the password reset, please click on the following link:",
"reset.cta": "Click here to reset your password", "reset.cta": "Click here to reset your password",
"digest.notifications": "You have unread notifications from %1:", "digest.notifications": "You have some unread notifications from %1:",
"digest.latest_topics": "Latest topics from %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.subject": "New chat message received from %1",
"notif.chat.cta": "Click here to continue the conversation",
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"unsub.cta": "Click here to alter those settings",
"closing": "Thanks!" "closing": "Thanks!"
} }

View File

@@ -15,28 +15,24 @@
"invalid-title": "Invalid title", "invalid-title": "Invalid title",
"invalid-user-data": "Invalid User Data", "invalid-user-data": "Invalid User Data",
"invalid-password": "Invalid Password", "invalid-password": "Invalid Password",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Invalid pagination value", "invalid-pagination-value": "Invalid pagination value",
"username-taken": "Username taken", "username-taken": "Username taken",
"email-taken": "Email taken", "email-taken": "Email taken",
"email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", "email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short", "username-too-short": "Username too short",
"username-too-long": "Username too long",
"user-banned": "User banned", "user-banned": "User banned",
"user-too-new": "Sorry, you are required to wait %1 seconds before making your first post",
"no-category": "Category does not exist", "no-category": "Category doesn't exist",
"no-topic": "Topic does not exist", "no-topic": "Topic doesn't exist",
"no-post": "Post does not exist", "no-post": "Post doesn't exist",
"no-group": "Group does not exist", "no-group": "Group doesn't exist",
"no-user": "User does not exist", "no-user": "User doesn't exist",
"no-teaser": "Teaser does not exist", "no-teaser": "Teaser doesn't exist",
"no-privileges": "You do not have enough privileges for this action.", "no-privileges": "You don't have enough privileges for this action.",
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent", "no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
"category-disabled": "Category disabled", "category-disabled": "Category disabled",
@@ -44,16 +40,16 @@
"topic-locked": "Topic Locked", "topic-locked": "Topic Locked",
"still-uploading": "Please wait for uploads to complete.", "still-uploading": "Please wait for uploads to complete.",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.", "content-too-short": "Please enter a longer post. At least %1 characters.",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.", "title-too-short": "Please enter a longer title. At least %1 characters.",
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.", "title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
"invalid-title": "Invalid title!", "invalid-title": "Invalid title!",
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again", "too-many-posts": "You can only post every %1 seconds.",
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file", "file-too-big": "Maximum allowed file size is %1 kbs",
"cant-vote-self-post": "You cannot vote for your own post", "cant-vote-self-post": "You cannot vote for your own post",
"already-favourited": "You have already favourited this post", "already-favourited": "You already favourited this post",
"already-unfavourited": "You have already unfavourited this post", "already-unfavourited": "You already unfavourited this post",
"cant-ban-other-admins": "You can't ban other admins!", "cant-ban-other-admins": "You can't ban other admins!",
@@ -63,25 +59,21 @@
"group-already-exists": "Group already exists", "group-already-exists": "Group already exists",
"group-name-change-not-allowed": "Group name change not allowed", "group-name-change-not-allowed": "Group name change not allowed",
"post-already-deleted": "This post has already been deleted", "post-already-deleted": "Post already deleted",
"post-already-restored": "This post has already been restored", "post-already-restored": "Post already restored",
"topic-already-deleted": "Topic already deleted",
"topic-already-restored": "Topic already restored",
"topic-already-deleted": "This topic has already been deleted",
"topic-already-restored": "This topic has already been restored",
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.", "topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
"invalid-file": "Invalid File", "invalid-file": "Invalid File",
"uploads-are-disabled": "Uploads are disabled", "uploads-are-disabled": "Uploads are disabled",
"upload-error": "Upload Error : %1", "upload-error": "Upload Error : %1",
"signature-too-long" : "Sorry, your signature cannot be longer than %1 characters.", "signature-too-long" : "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!", "cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system is disabled.", "not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
} }

View File

@@ -94,7 +94,5 @@
"guests": "Guests", "guests": "Guests",
"updated.title": "Forum Updated", "updated.title": "Forum Updated",
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.", "updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
"privacy": "Privacy"
} }

View File

@@ -1,5 +1,4 @@
{ {
"groups": "Groups",
"view_group": "View Group", "view_group": "View Group",
"details.title": "Group Details", "details.title": "Group Details",

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Message History", "chat.message-history": "Message History",
"chat.pop-out": "Pop out chat", "chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize", "chat.maximize": "Maximize",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 said in %2:", "composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:", "composer.user_said": "%1 said:",

View File

@@ -12,15 +12,11 @@
"you_have_unread_notifications": "You have unread notifications.", "you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>", "new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.", "upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> has favourited your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> flagged a post.",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to" : "<strong>%1</strong> has posted a reply to: <strong>%2</strong>", "user_posted_to" : "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed", "email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",

View File

@@ -12,8 +12,5 @@
"user.posts": "Posts made by %1", "user.posts": "Posts made by %1",
"user.topics": "Topics created by %1", "user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings", "user.settings": "User Settings"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "Week", "week": "Week",
"month": "Month", "month": "Month",
"year": "Year", "year": "Year",
"alltime": "All Time",
"no_recent_topics": "There are no recent topics." "no_recent_topics": "There are no recent topics."
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"no-matches": "No posts found"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "There are no topics with this tag.", "no_tag_topics": "There are no topics with this tag.",
"tags": "Tags", "tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.", "enter_tags_here": "Enter tags here. Press enter after each tag.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "There are no tags yet." "no_tags": "There are no tags yet."
} }

View File

@@ -21,6 +21,7 @@
"restore": "Restore", "restore": "Restore",
"move": "Move", "move": "Move",
"fork": "Fork", "fork": "Fork",
"banned": "banned",
"link": "Link", "link": "Link",
"share": "Share", "share": "Share",
"tools": "Tools", "tools": "Tools",
@@ -32,7 +33,7 @@
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?", "flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.", "flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
@@ -42,12 +43,10 @@
"markAsUnreadForAll.success" : "Topic marked as unread for all.", "markAsUnreadForAll.success" : "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic", "watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Topic Tools", "thread_tools.title": "Thread Tools",
"thread_tools.markAsUnreadForAll": "Mark Unread", "thread_tools.markAsUnreadForAll": "Mark Unread",
"thread_tools.pin": "Pin Topic", "thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic", "thread_tools.unpin": "Unpin Topic",
@@ -57,11 +56,11 @@
"thread_tools.move_all": "Move All", "thread_tools.move_all": "Move All",
"thread_tools.fork": "Fork Topic", "thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic", "thread_tools.delete": "Delete Topic",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic", "thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic", "thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm" : "Are you sure you want to purge this topic?", "thread_tools.purge_confirm" : "Are you sure you want to purge this thread?",
"topic_move_success": "This topic has been successfully moved to %1", "topic_move_success": "This topic has been successfully moved to %1",
@@ -87,7 +86,7 @@
"topic_will_be_moved_to": "This topic will be moved to the category", "topic_will_be_moved_to": "This topic will be moved to the category",
"fork_topic_instruction": "Click the posts you want to fork", "fork_topic_instruction": "Click the posts you want to fork",
"fork_no_pids": "No posts selected!", "fork_no_pids": "No posts selected!",
"fork_success": "Successfully forked topic! Click here to go to the forked topic.", "fork_success": "Succesfully forked topic!",
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.discard": "Discard", "composer.discard": "Discard",

View File

@@ -5,8 +5,6 @@
"email": "Email", "email": "Email",
"confirm_email": "Confirm Email", "confirm_email": "Confirm Email",
"delete_account": "Delete Account",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
"fullname": "Full Name", "fullname": "Full Name",
"website": "Website", "website": "Website",
@@ -32,7 +30,6 @@
"edit": "Edit", "edit": "Edit",
"uploaded_picture": "Uploaded Picture", "uploaded_picture": "Uploaded Picture",
"upload_new_picture": "Upload New Picture", "upload_new_picture": "Upload New Picture",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Current Password", "current_password": "Current Password",
"change_password": "Change Password", "change_password": "Change Password",
"change_password_error": "Invalid Password!", "change_password_error": "Invalid Password!",
@@ -52,14 +49,12 @@
"settings": "Settings", "settings": "Settings",
"show_email": "Show My Email", "show_email": "Show My Email",
"show_fullname": "Show My Full Name",
"digest_label": "Subscribe to Digest", "digest_label": "Subscribe to Digest",
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule", "digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
"digest_off": "Off", "digest_off": "Off",
"digest_daily": "Daily", "digest_daily": "Daily",
"digest_weekly": "Weekly", "digest_weekly": "Weekly",
"digest_monthly": "Monthly", "digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "This user doesn't have any followers :(", "has_no_follower": "This user doesn't have any followers :(",
"follows_no_one": "This user isn't following anyone :(", "follows_no_one": "This user isn't following anyone :(",
@@ -76,8 +71,5 @@
"notification_sounds" : "Play a sound when you receive a notification.", "notification_sounds" : "Play a sound when you receive a notification.",
"browsing": "Browsing Settings", "browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?", "open_links_in_new_tab": "Open outgoing links in new tab?"
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
} }

View File

@@ -5,5 +5,6 @@
"search": "Search", "search": "Search",
"enter_username": "Enter a username to search", "enter_username": "Enter a username to search",
"load_more": "Load More", "load_more": "Load More",
"user-not-found": "User not found!",
"users-found-search-took": "%1 user(s) found! Search took %2 ms." "users-found-search-took": "%1 user(s) found! Search took %2 ms."
} }

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>There are no topics in this category.</strong><br />Why don't you try posting one?", "no_topics": "<strong>There are no topics in this category.</strong><br />Why don't you try posting one?",
"browsing": "browsing", "browsing": "browsing",
"no_replies": "No one has replied", "no_replies": "No one has replied",
"share_this_category": "Share this category", "share_this_category": "Share this category"
"ignore": "Ignore"
} }

View File

@@ -13,11 +13,8 @@
"digest.latest_topics": "Latest topics from %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.subject": "New chat message received from %1",
"notif.chat.cta": "Click here to continue the conversation",
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"unsub.cta": "Click here to alter those settings",
"closing": "Thanks!" "closing": "Thanks!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Invalid title!", "invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data", "invalid-user-data": "Invalid User Data",
"invalid-password": "Invalid Password", "invalid-password": "Invalid Password",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Invalid pagination value", "invalid-pagination-value": "Invalid pagination value",
"username-taken": "Username taken", "username-taken": "Username taken",
"email-taken": "Email taken", "email-taken": "Email taken",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.", "email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short", "username-too-short": "Username too short",
"username-too-long": "Username too long",
"user-banned": "User banned", "user-banned": "User banned",
"user-too-new": "You need to wait %1 seconds before making your first post!",
"no-category": "Category doesn't exist", "no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist", "no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist", "no-post": "Post doesn't exist",
@@ -56,9 +52,5 @@
"upload-error": "Upload Error : %1", "upload-error": "Upload Error : %1",
"signature-too-long": "Signature can't be longer than %1 characters!", "signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!", "cant-chat-with-yourself": "You can't chat with yourself!",
"reputation-system-disabled": "Reputation system is disabled.", "not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Message History", "chat.message-history": "Message History",
"chat.pop-out": "Pop out chat", "chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize", "chat.maximize": "Maximize",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 said in %2:", "composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:", "composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?" "composer.discard": "Are you sure you wish to discard this post?"

View File

@@ -10,14 +10,11 @@
"new_notification": "New Notification", "new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.", "you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>", "new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.", "upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> has favorited your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> flagged a post.",
"favourited_your_post_in": "<strong>%1</strong> has favorited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>", "user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Email Confirmed", "email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...", "email-confirm-error": "An error occurred...",

View File

@@ -12,7 +12,5 @@
"user.posts": "Posts made by %1", "user.posts": "Posts made by %1",
"user.topics": "Topics created by %1", "user.topics": "Topics created by %1",
"user.favourites": "%1's Favorite Posts", "user.favourites": "%1's Favorite Posts",
"user.settings": "User Settings", "user.settings": "User Settings"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "Week", "week": "Week",
"month": "Month", "month": "Month",
"year": "Year", "year": "Year",
"alltime": "All Time",
"no_recent_topics": "There are no recent topics." "no_recent_topics": "There are no recent topics."
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"no-matches": "No posts found"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "There are no topics with this tag.", "no_tag_topics": "There are no topics with this tag.",
"tags": "Tags", "tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.", "enter_tags_here": "Enter tags here. Press enter after each tag.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "There are no tags yet." "no_tags": "There are no tags yet."
} }

View File

@@ -28,17 +28,15 @@
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?", "flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.", "flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.", "markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic", "watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Topic Tools", "thread_tools.title": "Thread Tools",
"thread_tools.markAsUnreadForAll": "Mark Unread", "thread_tools.markAsUnreadForAll": "Mark Unread",
"thread_tools.pin": "Pin Topic", "thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic", "thread_tools.unpin": "Unpin Topic",
@@ -48,11 +46,11 @@
"thread_tools.move_all": "Move All", "thread_tools.move_all": "Move All",
"thread_tools.fork": "Fork Topic", "thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic", "thread_tools.delete": "Delete Topic",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic", "thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic", "thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "Are you sure you want to purge this thread?",
"topic_move_success": "This topic has been successfully moved to %1", "topic_move_success": "This topic has been successfully moved to %1",
"post_delete_confirm": "Are you sure you want to delete this post?", "post_delete_confirm": "Are you sure you want to delete this post?",
"post_restore_confirm": "Are you sure you want to restore this post?", "post_restore_confirm": "Are you sure you want to restore this post?",
@@ -73,7 +71,7 @@
"topic_will_be_moved_to": "This topic will be moved to the category", "topic_will_be_moved_to": "This topic will be moved to the category",
"fork_topic_instruction": "Click the posts you want to fork", "fork_topic_instruction": "Click the posts you want to fork",
"fork_no_pids": "No posts selected!", "fork_no_pids": "No posts selected!",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.", "fork_success": "Succesfully forked topic!",
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",

View File

@@ -4,8 +4,6 @@
"username": "User Name", "username": "User Name",
"email": "Email", "email": "Email",
"confirm_email": "Confirm Email", "confirm_email": "Confirm Email",
"delete_account": "Delete Account",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
"fullname": "Full Name", "fullname": "Full Name",
"website": "Website", "website": "Website",
"location": "Location", "location": "Location",
@@ -29,7 +27,6 @@
"edit": "Edit", "edit": "Edit",
"uploaded_picture": "Uploaded Picture", "uploaded_picture": "Uploaded Picture",
"upload_new_picture": "Upload New Picture", "upload_new_picture": "Upload New Picture",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Current Password", "current_password": "Current Password",
"change_password": "Change Password", "change_password": "Change Password",
"change_password_error": "Invalid Password!", "change_password_error": "Invalid Password!",
@@ -53,7 +50,6 @@
"digest_daily": "Daily", "digest_daily": "Daily",
"digest_weekly": "Weekly", "digest_weekly": "Weekly",
"digest_monthly": "Monthly", "digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "This user doesn't have any followers :(", "has_no_follower": "This user doesn't have any followers :(",
"follows_no_one": "This user isn't following anyone :(", "follows_no_one": "This user isn't following anyone :(",
"has_no_posts": "This user didn't post anything yet.", "has_no_posts": "This user didn't post anything yet.",
@@ -65,7 +61,5 @@
"posts_per_page": "Posts per Page", "posts_per_page": "Posts per Page",
"notification_sounds": "Play a sound when you receive a notification.", "notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings", "browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?", "open_links_in_new_tab": "Open outgoing links in new tab?"
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
} }

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />¿Por que no te animas y publicas uno?", "no_topics": "<strong>No hay temas en esta categoría.</strong><br />¿Por que no te animas y publicas uno?",
"browsing": "viendo ahora", "browsing": "viendo ahora",
"no_replies": "Nadie ha respondido aún", "no_replies": "Nadie ha respondido aún",
"share_this_category": "Compartir esta categoría", "share_this_category": "Compartir esta categoría"
"ignore": "Ignorar"
} }

View File

@@ -1,23 +1,20 @@
{ {
"password-reset-requested": "Reinicio de contraseña solicitado - %1!", "password-reset-requested": "Password Reset Requested - %1!",
"welcome-to": "Bienvenido a %1", "welcome-to": "Welcome to %1",
"greeting_no_name": "Hola", "greeting_no_name": "Hello",
"greeting_with_name": "Hola %1", "greeting_with_name": "Hello %1",
"welcome.text1": "Gracias por registrarte con %1!", "welcome.text1": "Thank you for registering with %1!",
"welcome.text2": "Para activar completamente tu cuenta, necesitamos verificar que la dirección email con la que te registraste te pertenece.", "welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
"welcome.cta": "Cliquea aquí para confirmar tu dirección email.", "welcome.cta": "Click here to confirm your email address",
"reset.text1": "Recibimos una solicitud para reiniciar tu contraseña, posiblemente porque la olvidaste. Si no es así, por favor ignora este email.", "reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
"reset.text2": "Para continuar con el reinicio de contraseña, por favor cliquea en el siguiente vínculo:", "reset.text2": "To continue with the password reset, please click on the following link:",
"reset.cta": "Cliquea aquí para reiniciar tu contraseña", "reset.cta": "Click here to reset your password",
"digest.notifications": "Tienes algunas notificaciónes de %1 sin leer:", "digest.notifications": "You have some unread notifications from %1:",
"digest.latest_topics": "Últimos temas de %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Cliquea aquí para visitar %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "Este compendio te fue enviado debido a tus ajustes de subscripción.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.daily.no_topics": "No han habido temas activos en el día pasado", "digest.unsub.cta": "Click here to alter those settings",
"notif.chat.subject": "Nuevo mensaje de chat recibido de %1", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.cta": "Haz click aquí para continuar la conversación", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"notif.chat.unsub.info": "Esta notificación de chat se te envió debido a tus ajustes de suscripción.", "closing": "Thanks!"
"test.text1": "Este es un email de prueba para verificar que el envío de email está ajustado correctamente para tu NodeBB",
"unsub.cta": "Haz click aquí para modificar los ajustes.",
"closing": "¡Gracias!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Título no válido!", "invalid-title": "Título no válido!",
"invalid-user-data": "Datos de Usuario no válidos", "invalid-user-data": "Datos de Usuario no válidos",
"invalid-password": "Contraseña no válida", "invalid-password": "Contraseña no válida",
"invalid-username-or-password": "Por favor especifica tanto un usuario como contraseña",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Valor de paginación no válido.", "invalid-pagination-value": "Valor de paginación no válido.",
"username-taken": "Nombre de usuario ya escogido", "username-taken": "Nombre de usuario ya escogido",
"email-taken": "El correo electrónico ya está escogido.", "email-taken": "El correo electrónico ya está escogido.",
"email-not-confirmed": "Tu correo electrónico está sin confirmar, por favor haz click aquí para confirmar tu email.", "email-not-confirmed": "Tu correo electrónico está sin confirmar, por favor haz click aquí para confirmar tu email.",
"username-too-short": "El nombre de usuario es demasiado corto", "username-too-short": "El nombre de usuario es demasiado corto",
"username-too-long": "Nombre de usuario demasiado largo",
"user-banned": "Usuario expulsado", "user-banned": "Usuario expulsado",
"user-too-new": "Necesitas esperar %1 segundos antes de hacer tu primera publicación.",
"no-category": "La categoría no existe", "no-category": "La categoría no existe",
"no-topic": "El tema no existe.", "no-topic": "El tema no existe.",
"no-post": "La publicación no existe", "no-post": "La publicación no existe",
@@ -29,7 +25,7 @@
"no-user": "El usuario no existe", "no-user": "El usuario no existe",
"no-teaser": "El extracto del tema no existe.", "no-teaser": "El extracto del tema no existe.",
"no-privileges": "No tienes los privilegios necesarios para esa acción.", "no-privileges": "No tienes los privilegios necesarios para esa acción.",
"no-emailers-configured": "Ningún plugin para email fue cargado, así que no se pudo enviar email de prueba.", "no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
"category-disabled": "Categoría deshabilitada.", "category-disabled": "Categoría deshabilitada.",
"topic-locked": "Tema bloqueado.", "topic-locked": "Tema bloqueado.",
"still-uploading": "Por favor, espera a que terminen las subidas.", "still-uploading": "Por favor, espera a que terminen las subidas.",
@@ -56,9 +52,5 @@
"upload-error": "Error de subida: %1", "upload-error": "Error de subida: %1",
"signature-too-long": "Las firmas no pueden ser más largas de %1 caracteres!", "signature-too-long": "Las firmas no pueden ser más largas de %1 caracteres!",
"cant-chat-with-yourself": "No puedes conversar contigo mismo!", "cant-chat-with-yourself": "No puedes conversar contigo mismo!",
"reputation-system-disabled": "El sistema de reputación está deshabilitado.", "not-enough-reputation-to-downvote": "No tienes suficiente reputación para votar negativo este post"
"downvoting-disabled": "La votación negativa está deshabilitada.",
"not-enough-reputation-to-downvote": "No tienes suficiente reputación para votar negativo este post",
"not-enough-reputation-to-flag": "No tienes suficiente reputación para marcar esta publicación",
"reload-failed": "NodeBB encontró un problema mientras refrescar: \"%1\". NodeBB intentará cargar el resto de contenido, aunque deberías deshacer lo que hiciste antes de refrescar."
} }

View File

@@ -1,7 +1,7 @@
{ {
"view_group": "Ver Grupo", "view_group": "View Group",
"details.title": "Detalles de Grupo", "details.title": "Group Details",
"details.members": "Lista de Miembros", "details.members": "Member List",
"details.has_no_posts": "Los miembros de este grupo no han hecho ninguna publicación.", "details.has_no_posts": "This group's members have not made any posts.",
"details.latest_posts": "Últimas Publicaciones" "details.latest_posts": "Latest Posts"
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Historial de mensajes", "chat.message-history": "Historial de mensajes",
"chat.pop-out": "Mostrar en ventana independiente", "chat.pop-out": "Mostrar en ventana independiente",
"chat.maximize": "Maximizar", "chat.maximize": "Maximizar",
"chat.yesterday": "Ayer",
"chat.seven_days": "7 Días",
"chat.thirty_days": "30 Días",
"chat.three_months": "3 Meses",
"composer.user_said_in": "%1 dijo en %2:", "composer.user_said_in": "%1 dijo en %2:",
"composer.user_said": "%1 dijo:", "composer.user_said": "%1 dijo:",
"composer.discard": "¿Estás seguro de que deseas descargar este post?" "composer.discard": "¿Estás seguro de que deseas descargar este post?"

View File

@@ -4,20 +4,17 @@
"see_all": "Ver todas las notificaciones", "see_all": "Ver todas las notificaciones",
"back_to_home": "Volver a %1", "back_to_home": "Volver a %1",
"outgoing_link": "Enlace Externo", "outgoing_link": "Enlace Externo",
"outgoing_link_message": "Ahora estás saliendo %1.", "outgoing_link_message": "You are now leaving %1.",
"continue_to": "Continuar a %1", "continue_to": "Continue to %1",
"return_to": "Regresar a %1", "return_to": "Return to %1",
"new_notification": "Nueva Notificación", "new_notification": "Nueva Notificación",
"you_have_unread_notifications": "Tienes notificaciones sin leer.", "you_have_unread_notifications": "Tienes notificaciones sin leer.",
"new_message_from": "Nuevo mensaje de <strong>%1</strong>", "new_message_from": "Nuevo mensaje de <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> ha votado como relevante tu respuesta en <strong>%2</strong>.", "upvoted_your_post": "<strong>%1</strong> ha marcado como favorita tu respuesta.",
"moved_your_post": "<strong>%1</strong> has moved your post.", "favourited_your_post": "<strong>%1</strong> ha marcado como favorita tu respuesta.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.", "user_flagged_post": "<strong>%1</strong> ha marcado como indebida una respuesta.",
"favourited_your_post_in": "<strong>%1</strong> ha marcado como favorito su publicación en <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> ha marcado como indebida una respuesta en <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> ha publicado una respuesta a: <strong>%2</strong>", "user_posted_to": "<strong>%1</strong> ha publicado una respuesta a: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> te mencionó en <strong>%2</strong>", "user_mentioned_you_in": "<strong>%1</strong> te mencionó en <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> comenzó a seguirte.",
"email-confirmed": "Correo electrónico confirmado", "email-confirmed": "Correo electrónico confirmado",
"email-confirmed-message": "Gracias por validar tu correo electrónico. Tu cuenta ya está completamente activa.", "email-confirmed-message": "Gracias por validar tu correo electrónico. Tu cuenta ya está completamente activa.",
"email-confirm-error": "Un error ocurrió...", "email-confirm-error": "Un error ocurrió...",

View File

@@ -5,14 +5,12 @@
"recent": "Temas Recientes", "recent": "Temas Recientes",
"users": "Usuarios Registrado", "users": "Usuarios Registrado",
"notifications": "Notificaciones", "notifications": "Notificaciones",
"tags": "Temas etiquetados bajo \"%1\"", "tags": "Topics tagged under \"%1\"",
"user.edit": "Editando \"%1\"", "user.edit": "Editando \"%1\"",
"user.following": "Gente que sigue %1 ", "user.following": "Gente que sigue %1 ",
"user.followers": "Seguidores de %1", "user.followers": "Seguidores de %1",
"user.posts": "Posteos de %1", "user.posts": "Posteos de %1",
"user.topics": "Temas creados por %1", "user.topics": "Temas creados por %1",
"user.favourites": "Publicaciones favoritas de %1 ", "user.favourites": "Publicaciones favoritas de %1 ",
"user.settings": "Preferencias del Usuario", "user.settings": "Preferencias del Usuario"
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administator has left this message:"
} }

View File

@@ -4,6 +4,5 @@
"week": "Semana", "week": "Semana",
"month": "Mes", "month": "Mes",
"year": "Año", "year": "Año",
"alltime": "Siempre",
"no_recent_topics": "No hay publicaciones recientes" "no_recent_topics": "No hay publicaciones recientes"
} }

View File

@@ -1,4 +1,3 @@
{ {
"results_matching": "%1 resuldado(s) coinciden con \"%2\". (%3 segundos)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"no-matches": "No se encontraron publicaciones"
} }

View File

@@ -2,6 +2,5 @@
"no_tag_topics": "No hay temas con esta etiqueta.", "no_tag_topics": "No hay temas con esta etiqueta.",
"tags": "Etiquetas", "tags": "Etiquetas",
"enter_tags_here": "Introduce las etiquetas aquí. Pulsa intro desde de cada una.", "enter_tags_here": "Introduce las etiquetas aquí. Pulsa intro desde de cada una.",
"enter_tags_here_short": "Enter tags...",
"no_tags": "Aún no hay etiquetas." "no_tags": "Aún no hay etiquetas."
} }

View File

@@ -28,17 +28,15 @@
"flag_title": "Reportar esta publicación a los moderadores", "flag_title": "Reportar esta publicación a los moderadores",
"flag_confirm": "¿Estás seguro de que quieres marcar como indebido este mensaje?", "flag_confirm": "¿Estás seguro de que quieres marcar como indebido este mensaje?",
"flag_success": "Este mensaje ha sido marcado para la moderación.", "flag_success": "Este mensaje ha sido marcado para la moderación.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "Este tema ha sido borrado. Solo los miembros con privilegios pueden verlo.",
"following_topic.message": "Ahora recibiras notificaciones cuando alguien publique en este tema.", "following_topic.message": "Ahora recibiras notificaciones cuando alguien publique en este tema.",
"not_following_topic.message": "No recibiras notificaciones de este tema.", "not_following_topic.message": "No recibiras notificaciones de este tema.",
"login_to_subscribe": "Por favor, conectate para subscribirte a este tema.", "login_to_subscribe": "Por favor, conectate para subscribirte a este tema.",
"markAsUnreadForAll.success": "Publicación marcada como no leída para todos.", "markAsUnreadForAll.success": "Publicación marcada como no leída para todos.",
"watch": "Seguir", "watch": "Seguir",
"unwatch": "Unwatch",
"watch.title": "Serás notificado cuando haya nuevas respuestas en este tema", "watch.title": "Serás notificado cuando haya nuevas respuestas en este tema",
"unwatch.title": "Stop watching this topic",
"share_this_post": "Compartir este post", "share_this_post": "Compartir este post",
"thread_tools.title": "Topic Tools", "thread_tools.title": "Herramientas del Tema",
"thread_tools.markAsUnreadForAll": "Marcar como no leído", "thread_tools.markAsUnreadForAll": "Marcar como no leído",
"thread_tools.pin": "Tema Importante", "thread_tools.pin": "Tema Importante",
"thread_tools.unpin": "Quitar Importante", "thread_tools.unpin": "Quitar Importante",
@@ -48,11 +46,11 @@
"thread_tools.move_all": "Mover todo", "thread_tools.move_all": "Mover todo",
"thread_tools.fork": "Bifurcar Tema", "thread_tools.fork": "Bifurcar Tema",
"thread_tools.delete": "Borrar Tema", "thread_tools.delete": "Borrar Tema",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?", "thread_tools.delete_confirm": "¿Estás seguro de que quieres eliminar este hilo?",
"thread_tools.restore": "Restaurar Tema", "thread_tools.restore": "Restaurar Tema",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "¿Estás seguro de que quieres restaurar este hilo?",
"thread_tools.purge": "Purgar publicación", "thread_tools.purge": "Purgar publicación",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "¿Estás seguro que deseas purgar este hilo?",
"topic_move_success": "El tema ha sido movido correctamente a %1", "topic_move_success": "El tema ha sido movido correctamente a %1",
"post_delete_confirm": "¿Estás seguro de que quieres eliminar esta respuesta?", "post_delete_confirm": "¿Estás seguro de que quieres eliminar esta respuesta?",
"post_restore_confirm": "¿Estás seguro de que quieres restaurar esta respuesta?", "post_restore_confirm": "¿Estás seguro de que quieres restaurar esta respuesta?",
@@ -73,7 +71,7 @@
"topic_will_be_moved_to": "Este tema será movido a la categoría", "topic_will_be_moved_to": "Este tema será movido a la categoría",
"fork_topic_instruction": "Click en las publicaciones que quieres bifurcar", "fork_topic_instruction": "Click en las publicaciones que quieres bifurcar",
"fork_no_pids": "¡No seleccionaste publicaciones!", "fork_no_pids": "¡No seleccionaste publicaciones!",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.", "fork_success": "¡Bifurcado con exito!",
"composer.title_placeholder": "Ingresa el titulo de tu tema", "composer.title_placeholder": "Ingresa el titulo de tu tema",
"composer.discard": "Descartar", "composer.discard": "Descartar",
"composer.submit": "Enviar", "composer.submit": "Enviar",
@@ -89,7 +87,7 @@
"more_users_and_guests": "%1 usuario(s) y %2 invitado(s) más", "more_users_and_guests": "%1 usuario(s) y %2 invitado(s) más",
"more_users": "%1 usuario(s) más", "more_users": "%1 usuario(s) más",
"more_guests": "%1 invitado(s) más", "more_guests": "%1 invitado(s) más",
"users_and_others": "%1 y otros %2", "users_and_others": "%1 and %2 others",
"sort_by": "Ordenar por", "sort_by": "Ordenar por",
"oldest_to_newest": "Más antiguo a más nuevo", "oldest_to_newest": "Más antiguo a más nuevo",
"newest_to_oldest": "Más nuevo a más antiguo", "newest_to_oldest": "Más nuevo a más antiguo",

View File

@@ -4,8 +4,6 @@
"username": "Nombre de usuario", "username": "Nombre de usuario",
"email": "Correo Electrónico", "email": "Correo Electrónico",
"confirm_email": "Repetir correo electrónico", "confirm_email": "Repetir correo electrónico",
"delete_account": "Eliminar cuenta",
"delete_account_confirm": "Estás seguro de que quieres eliminar tu cuenta? <br /><strong>Esta acción es irreversible y no podrás recuperar tus datos</strong><br /><br />Introduce tu nombre de usuario para confirmar la eliminación de la cuenta.",
"fullname": "Nombre completo", "fullname": "Nombre completo",
"website": "Sitio Web", "website": "Sitio Web",
"location": "Ubicación", "location": "Ubicación",
@@ -29,7 +27,6 @@
"edit": "Editar", "edit": "Editar",
"uploaded_picture": "Fotos subidas", "uploaded_picture": "Fotos subidas",
"upload_new_picture": "Subir Nueva Foto", "upload_new_picture": "Subir Nueva Foto",
"upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Contraseña actual", "current_password": "Contraseña actual",
"change_password": "Cambiar Contraseña", "change_password": "Cambiar Contraseña",
"change_password_error": "Contraseña no válida!", "change_password_error": "Contraseña no válida!",
@@ -53,7 +50,6 @@
"digest_daily": "Diariamente", "digest_daily": "Diariamente",
"digest_weekly": "Semanalmente", "digest_weekly": "Semanalmente",
"digest_monthly": "Mensualmente", "digest_monthly": "Mensualmente",
"send_chat_notifications": "Envía un correo electrónico si recibes un mensaje de chat cuando no estás en línea.",
"has_no_follower": "Este miembro no tiene seguidores. :(", "has_no_follower": "Este miembro no tiene seguidores. :(",
"follows_no_one": "Este miembro no sigue a nadie. :(", "follows_no_one": "Este miembro no sigue a nadie. :(",
"has_no_posts": "Este usuario aún no ha publicado nada.", "has_no_posts": "Este usuario aún no ha publicado nada.",
@@ -65,7 +61,5 @@
"posts_per_page": "Post por página", "posts_per_page": "Post por página",
"notification_sounds": "Reproducir un sonido al recibir una notificación", "notification_sounds": "Reproducir un sonido al recibir una notificación",
"browsing": "Preferencias de navegación.", "browsing": "Preferencias de navegación.",
"open_links_in_new_tab": "Abrir los enlaces externos en una nueva pestaña?", "open_links_in_new_tab": "Abrir los enlaces externos en una nueva pestaña?"
"follow_topics_you_reply_to": "Seguir publicaciones en las que respondes.",
"follow_topics_you_create": "Seguir publicaciones que creas."
} }

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>Kahjuks ei leidu siin kategoorias ühtegi teemat.</strong><br />Soovid postitada?", "no_topics": "<strong>Kahjuks ei leidu siin kategoorias ühtegi teemat.</strong><br />Soovid postitada?",
"browsing": "vaatab", "browsing": "vaatab",
"no_replies": "Keegi pole vastanud", "no_replies": "Keegi pole vastanud",
"share_this_category": "Jaga seda kategooriat", "share_this_category": "Jaga seda kategooriat"
"ignore": "Ignore"
} }

View File

@@ -13,11 +13,8 @@
"digest.latest_topics": "Latest topics from %1", "digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1", "digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.", "digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day", "digest.daily.no_topics": "There have been no active topics in the past day",
"notif.chat.subject": "New chat message received from %1",
"notif.chat.cta": "Click here to continue the conversation",
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.", "test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"unsub.cta": "Click here to alter those settings",
"closing": "Thanks!" "closing": "Thanks!"
} }

View File

@@ -12,16 +12,12 @@
"invalid-title": "Vigane pealkiri!", "invalid-title": "Vigane pealkiri!",
"invalid-user-data": "Vigased kasutaja andmed", "invalid-user-data": "Vigased kasutaja andmed",
"invalid-password": "Vigane parool", "invalid-password": "Vigane parool",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-search-term": "Invalid search term",
"invalid-pagination-value": "Vigane lehe väärtus", "invalid-pagination-value": "Vigane lehe väärtus",
"username-taken": "Kasutajanimi on juba võetud", "username-taken": "Kasutajanimi on juba võetud",
"email-taken": "Email on võetud", "email-taken": "Email on võetud",
"email-not-confirmed": "Su emaili aadress ei ole kinnitatud, vajuta siia et kinnitada.", "email-not-confirmed": "Su emaili aadress ei ole kinnitatud, vajuta siia et kinnitada.",
"username-too-short": "Kasutajanimi on liiga lühike", "username-too-short": "Kasutajanimi on liiga lühike",
"username-too-long": "Username too long",
"user-banned": "Kasutaja bannitud", "user-banned": "Kasutaja bannitud",
"user-too-new": "You need to wait %1 seconds before making your first post!",
"no-category": "Kategooriat ei eksisteeri", "no-category": "Kategooriat ei eksisteeri",
"no-topic": "Teemat ei eksisteeri", "no-topic": "Teemat ei eksisteeri",
"no-post": "Postitust ei eksisteeri", "no-post": "Postitust ei eksisteeri",
@@ -56,9 +52,5 @@
"upload-error": "Üleslaadimise viga: %1", "upload-error": "Üleslaadimise viga: %1",
"signature-too-long": "Allkiri ei saa olla pikem kui %1 tähemärki!", "signature-too-long": "Allkiri ei saa olla pikem kui %1 tähemärki!",
"cant-chat-with-yourself": "Sa ei saa endaga vestelda!", "cant-chat-with-yourself": "Sa ei saa endaga vestelda!",
"reputation-system-disabled": "Reputation system is disabled.", "not-enough-reputation-to-downvote": "Sul ei ole piisavalt reputatsiooni, et anda negatiivset hinnangut sellele postitusele."
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "Sul ei ole piisavalt reputatsiooni, et anda negatiivset hinnangut sellele postitusele.",
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
} }

View File

@@ -12,10 +12,6 @@
"chat.message-history": "Sõnumite ajalugu", "chat.message-history": "Sõnumite ajalugu",
"chat.pop-out": "Pop-out vestlus", "chat.pop-out": "Pop-out vestlus",
"chat.maximize": "Suurenda", "chat.maximize": "Suurenda",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 ütles %2:", "composer.user_said_in": "%1 ütles %2:",
"composer.user_said": "%1 ütles:", "composer.user_said": "%1 ütles:",
"composer.discard": "Oled kindel, et soovid selle postituse tühistada?" "composer.discard": "Oled kindel, et soovid selle postituse tühistada?"

Some files were not shown because too many files have changed in this diff Show More