mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-17 14:00:29 +01:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b85261e2bf | ||
|
|
4c289a63b9 | ||
|
|
5b3a2b951b | ||
|
|
d80d4df80d | ||
|
|
d721e96226 | ||
|
|
af4881c695 | ||
|
|
fb6b6243f2 | ||
|
|
cc9b5d65fc | ||
|
|
2d7132d9d3 | ||
|
|
50d5be1b0e | ||
|
|
5424f63b9e | ||
|
|
f087acfe54 | ||
|
|
f2332b0af6 | ||
|
|
fcfa9c1733 | ||
|
|
4321cef397 |
10
.gitignore
vendored
10
.gitignore
vendored
@@ -3,7 +3,7 @@ node_modules/
|
||||
sftp-config.json
|
||||
config.json
|
||||
public/src/nodebb.min.js
|
||||
!src/views/config.json
|
||||
public/config.json
|
||||
public/css/*.css
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
@@ -26,11 +26,3 @@ pidfile
|
||||
# templates
|
||||
/public/templates
|
||||
/public/sounds
|
||||
|
||||
/public/uploads
|
||||
|
||||
# compiled files
|
||||
/public/stylesheet.css
|
||||
/public/admin.css
|
||||
/public/nodebb.min.js
|
||||
/public/nodebb.min.js.map
|
||||
@@ -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
15
NOTES.md
Normal 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.
|
||||
69
app.js
69
app.js
@@ -17,6 +17,7 @@
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
"use strict";
|
||||
/*global require, global, process*/
|
||||
|
||||
@@ -28,7 +29,6 @@ var fs = require('fs'),
|
||||
semver = require('semver'),
|
||||
winston = require('winston'),
|
||||
path = require('path'),
|
||||
cluster = require('cluster'),
|
||||
pkg = require('./package.json'),
|
||||
utils = require('./public/src/utils.js');
|
||||
|
||||
@@ -58,13 +58,11 @@ if(os.platform() === 'linux') {
|
||||
});
|
||||
}
|
||||
|
||||
if (!cluster.isWorker) {
|
||||
// If run using `node app`, log GNU copyright info along with server info
|
||||
// Log GNU copyright info along with server info
|
||||
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
|
||||
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('');
|
||||
}
|
||||
|
||||
// Alternate configuration file support
|
||||
var configFile = path.join(__dirname, '/config.json'),
|
||||
@@ -75,7 +73,7 @@ if (nconf.get('config')) {
|
||||
}
|
||||
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();
|
||||
} else if (nconf.get('setup') || nconf.get('install') || !configExists) {
|
||||
setup();
|
||||
@@ -83,6 +81,8 @@ if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nc
|
||||
upgrade();
|
||||
} else if (nconf.get('reset')) {
|
||||
reset();
|
||||
} else {
|
||||
displayHelp();
|
||||
}
|
||||
|
||||
function loadConfig() {
|
||||
@@ -99,25 +99,23 @@ function loadConfig() {
|
||||
|
||||
// Ensure themes_path is a full filepath
|
||||
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'));
|
||||
}
|
||||
|
||||
function start() {
|
||||
loadConfig();
|
||||
|
||||
if (!cluster.isWorker) {
|
||||
winston.info('Time: ' + new Date());
|
||||
winston.info('Initializing NodeBB v' + pkg.version);
|
||||
winston.info('* using configuration stored in: ' + configFile);
|
||||
}
|
||||
|
||||
if (cluster.isWorker && process.env.cluster_setup === 'true') {
|
||||
var host = nconf.get(nconf.get('database') + ':host'),
|
||||
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
|
||||
|
||||
winston.info('* using ' + nconf.get('database') +' store ' + storeLocation);
|
||||
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) {
|
||||
@@ -138,42 +136,19 @@ function start() {
|
||||
upgrade.check(function(schema_ok) {
|
||||
if (schema_ok || nconf.get('check-schema') === false) {
|
||||
sockets.init(webserver.server);
|
||||
plugins.init();
|
||||
|
||||
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
|
||||
|
||||
plugins.ready(function() {
|
||||
webserver.init(function() {
|
||||
webserver.listen(function() {
|
||||
process.send({
|
||||
action: 'ready'
|
||||
});
|
||||
});
|
||||
});
|
||||
webserver.init();
|
||||
});
|
||||
|
||||
process.on('SIGTERM', shutdown);
|
||||
process.on('SIGINT', shutdown);
|
||||
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) {
|
||||
winston.error(err.stack);
|
||||
winston.error(err.message);
|
||||
console.log(err.stack);
|
||||
|
||||
meta.js.killMinifier();
|
||||
@@ -181,13 +156,11 @@ function start() {
|
||||
});
|
||||
} else {
|
||||
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');
|
||||
if (cluster.isWorker) {
|
||||
cluster.worker.kill();
|
||||
} else {
|
||||
winston.warn(' node app --upgrade');
|
||||
winston.warn('To ignore this error (not recommended):');
|
||||
winston.warn(' node app --no-check-schema');
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -340,8 +313,6 @@ function shutdown(code) {
|
||||
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
|
||||
require('./src/database').close();
|
||||
winston.info('[app] Database connection closed.');
|
||||
require('./src/webserver').server.close();
|
||||
winston.info('[app] Web server closed to connections.');
|
||||
|
||||
winston.info('[app] Shutdown complete.');
|
||||
process.exit(code || 0);
|
||||
@@ -358,3 +329,15 @@ function restart() {
|
||||
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)');
|
||||
}
|
||||
|
||||
29
bcrypt.js
29
bcrypt.js
@@ -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;
|
||||
}
|
||||
@@ -11,10 +11,6 @@
|
||||
"field": "postDelay",
|
||||
"value": 10
|
||||
},
|
||||
{
|
||||
"field": "initialPostDelay",
|
||||
"value": 10
|
||||
},
|
||||
{
|
||||
"field": "minimumPostLength",
|
||||
"value": 8
|
||||
@@ -35,10 +31,6 @@
|
||||
"field": "allowLocalLogin",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"field": "allowAccountDelete",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"field": "allowFileUploads",
|
||||
"value": 0
|
||||
@@ -76,8 +68,8 @@
|
||||
"value": 256
|
||||
},
|
||||
{
|
||||
"field": "profileImageDimension",
|
||||
"value": 128
|
||||
"field": "chatMessagesToDisplay",
|
||||
"value": 50
|
||||
},
|
||||
{
|
||||
"field": "requireEmailConfirmation",
|
||||
|
||||
@@ -12,7 +12,7 @@ function success(err, config, callback) {
|
||||
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) {
|
||||
if (!databaseConfig) {
|
||||
@@ -39,11 +39,15 @@ function success(err, config, callback) {
|
||||
password: databaseConfig['mongo:password'],
|
||||
database: databaseConfig['mongo:database']
|
||||
};
|
||||
} else if (database === 'level') {
|
||||
config.level = {
|
||||
database: databaseConfig['level:database']
|
||||
};
|
||||
} else {
|
||||
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++) {
|
||||
delete config[allQuestions[x].name];
|
||||
}
|
||||
@@ -63,6 +67,12 @@ function success(err, config, callback) {
|
||||
} else {
|
||||
prompt.get(questions.mongo, dbQuestionsSuccess);
|
||||
}
|
||||
} else if(database === 'level') {
|
||||
if (config['level:database']) {
|
||||
dbQuestionsSuccess(null, config);
|
||||
} else {
|
||||
prompt.get(questions.level, dbQuestionsSuccess);
|
||||
}
|
||||
} else {
|
||||
return callback(new Error('unknown database : ' + database));
|
||||
}
|
||||
|
||||
275
loader.js
275
loader.js
@@ -2,229 +2,81 @@
|
||||
|
||||
var nconf = require('nconf'),
|
||||
fs = require('fs'),
|
||||
path = require('path'),
|
||||
cluster = require('cluster'),
|
||||
async = require('async'),
|
||||
logrotate = require('logrotate-stream'),
|
||||
|
||||
pkg = require('./package.json'),
|
||||
|
||||
pidFilePath = __dirname + '/pidfile',
|
||||
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
|
||||
silent = process.env.NODE_ENV !== 'development' ? true : false,
|
||||
numProcs,
|
||||
|
||||
Loader = {
|
||||
timesStarted: 0,
|
||||
shutdown_queue: [],
|
||||
js: {
|
||||
cache: undefined,
|
||||
map: undefined
|
||||
},
|
||||
css: {
|
||||
cache: undefined,
|
||||
acpCache: undefined
|
||||
output = fs.openSync(__dirname + '/logs/output.log', 'a'),
|
||||
start = function() {
|
||||
var fork = require('child_process').fork,
|
||||
nbb_start = function() {
|
||||
if (timesStarted > 3) {
|
||||
console.log('\n[loader] Experienced three start attempts in 10 seconds, most likely an error on startup. Halting.');
|
||||
return nbb_stop();
|
||||
}
|
||||
};
|
||||
|
||||
Loader.init = function(callback) {
|
||||
cluster.setupMaster({
|
||||
exec: "app.js",
|
||||
silent: silent
|
||||
timesStarted++;
|
||||
if (startTimer) {
|
||||
clearTimeout(startTimer);
|
||||
}
|
||||
startTimer = setTimeout(resetTimer, 1000*10);
|
||||
|
||||
nbb = fork('./app', process.argv.slice(2), {
|
||||
env: process.env
|
||||
});
|
||||
Loader.primaryWorker = 1;
|
||||
|
||||
if (silent) {
|
||||
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) {
|
||||
nbb.on('message', function(message) {
|
||||
if (message && typeof message === 'object' && message.action) {
|
||||
var otherWorkers;
|
||||
|
||||
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;
|
||||
if (message.action === 'restart') {
|
||||
nbb_restart();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
cluster.on('listening', function(worker) {
|
||||
console.log('[cluster] Child Process (' + worker.process.pid + ') listening for connections.');
|
||||
});
|
||||
|
||||
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;
|
||||
});
|
||||
nbb.on('exit', function(code, signal) {
|
||||
if (code) {
|
||||
nbb_start();
|
||||
} else {
|
||||
console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.');
|
||||
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
|
||||
});
|
||||
nbb_stop();
|
||||
}
|
||||
});
|
||||
|
||||
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);
|
||||
nbb.kill();
|
||||
if (fs.existsSync(pidFilePath)) {
|
||||
var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10);
|
||||
if (process.pid === pid) {
|
||||
fs.unlinkSync(pidFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
if (callback) callback();
|
||||
};
|
||||
|
||||
Loader.restart = function(callback) {
|
||||
// Slate existing workers for termination -- welcome to death row.
|
||||
Loader.shutdown_queue = Loader.shutdown_queue.concat(Object.keys(cluster.workers));
|
||||
Loader.start();
|
||||
};
|
||||
|
||||
Loader.reload = function() {
|
||||
Object.keys(cluster.workers).forEach(function(worker_id) {
|
||||
cluster.workers[worker_id].send({
|
||||
action: 'reload'
|
||||
},
|
||||
nbb_restart = function() {
|
||||
nbb.removeAllListeners('exit').on('exit', function() {
|
||||
nbb_start();
|
||||
});
|
||||
});
|
||||
};
|
||||
nbb.kill();
|
||||
},
|
||||
resetTimer = function() {
|
||||
clearTimeout(startTimer);
|
||||
timesStarted = 0;
|
||||
},
|
||||
timesStarted = 0,
|
||||
startTimer;
|
||||
|
||||
Loader.notifyWorkers = function (msg) {
|
||||
Object.keys(cluster.workers).forEach(function(id) {
|
||||
cluster.workers[id].send(msg);
|
||||
});
|
||||
}
|
||||
process.on('SIGINT', nbb_stop);
|
||||
process.on('SIGTERM', nbb_stop);
|
||||
process.on('SIGHUP', nbb_restart);
|
||||
|
||||
nbb_start();
|
||||
},
|
||||
nbb;
|
||||
|
||||
nconf.argv().file({
|
||||
file: path.join(__dirname, '/config.json')
|
||||
});
|
||||
|
||||
numProcs = nconf.get('cluster') || 1;
|
||||
numProcs = (numProcs === true) ? require('os').cpus().length : numProcs;
|
||||
nconf.argv();
|
||||
|
||||
// Start the daemon!
|
||||
if (nconf.get('daemon') !== false) {
|
||||
// Check for a still-active NodeBB process
|
||||
if (fs.existsSync(pidFilePath)) {
|
||||
try {
|
||||
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
|
||||
@@ -235,18 +87,13 @@ if (nconf.get('daemon') !== false) {
|
||||
}
|
||||
}
|
||||
|
||||
require('daemon')();
|
||||
|
||||
fs.writeFile(__dirname + '/pidfile', process.pid);
|
||||
}
|
||||
|
||||
async.series([
|
||||
Loader.init,
|
||||
Loader.displayStartupMessages,
|
||||
Loader.addClusterEvents,
|
||||
Loader.start
|
||||
], function(err) {
|
||||
if (err) {
|
||||
console.log('[loader] Error during startup: ' + err.message);
|
||||
}
|
||||
// Daemonize and record new pid
|
||||
require('daemon')({
|
||||
stdout: output
|
||||
});
|
||||
fs.writeFile(__dirname + '/pidfile', process.pid);
|
||||
|
||||
start();
|
||||
} else {
|
||||
start();
|
||||
}
|
||||
|
||||
22
minifier.js
22
minifier.js
@@ -8,14 +8,13 @@ var uglifyjs = require('uglify-js'),
|
||||
crypto = require('crypto'),
|
||||
|
||||
Minifier = {
|
||||
js: {}
|
||||
js: {},
|
||||
css: {}
|
||||
};
|
||||
|
||||
/* Javascript */
|
||||
Minifier.js.minify = function (scripts, relativePath, minify, callback) {
|
||||
var options = {
|
||||
compress: false
|
||||
};
|
||||
Minifier.js.minify = function (scripts, minify, callback) {
|
||||
var options = {};
|
||||
|
||||
scripts = scripts.filter(function(file) {
|
||||
return fs.existsSync(file);
|
||||
@@ -24,8 +23,8 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) {
|
||||
if (!minify) {
|
||||
options.sourceMapURL = '/nodebb.min.js.map';
|
||||
options.outSourceMap = 'nodebb.min.js.map';
|
||||
options.sourceRoot = relativePath;
|
||||
options.mangle = false;
|
||||
options.compress = false;
|
||||
options.prefix = 1;
|
||||
}
|
||||
|
||||
@@ -57,10 +56,17 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) {
|
||||
process.on('message', function(payload) {
|
||||
switch(payload.action) {
|
||||
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({
|
||||
type: 'end',
|
||||
data: data
|
||||
payload: 'script'
|
||||
});
|
||||
|
||||
process.stderr.write(data.map);
|
||||
process.send({
|
||||
type: 'end',
|
||||
payload: 'mapping'
|
||||
});
|
||||
});
|
||||
break;
|
||||
|
||||
@@ -7,19 +7,19 @@
|
||||
'use strict';
|
||||
/*global before*/
|
||||
|
||||
var utils = require('./../../public/src/utils.js'),
|
||||
var utils = require('./../public/src/utils.js'),
|
||||
path = require('path'),
|
||||
nconf = require('nconf'),
|
||||
winston = require('winston'),
|
||||
errorText;
|
||||
|
||||
|
||||
nconf.file({ file: path.join(__dirname, '../../config.json') });
|
||||
nconf.file({ file: path.join(__dirname, '../config.json') });
|
||||
nconf.defaults({
|
||||
base_dir: path.join(__dirname,'../..'),
|
||||
themes_path: path.join(__dirname, '../../node_modules'),
|
||||
upload_url: path.join(path.sep, '../../uploads', path.sep),
|
||||
views_dir: path.join(__dirname, '../../public/templates')
|
||||
base_dir: path.join(__dirname,'..'),
|
||||
themes_path: path.join(__dirname, '../node_modules'),
|
||||
upload_url: path.join(path.sep, '../uploads', path.sep),
|
||||
views_dir: path.join(__dirname, '../public/templates')
|
||||
});
|
||||
|
||||
var dbType = nconf.get('database'),
|
||||
@@ -66,8 +66,8 @@
|
||||
|
||||
nconf.set(dbType, testDbConfig);
|
||||
|
||||
var db = require('../../src/database'),
|
||||
meta = require('../../src/meta');
|
||||
var db = require('../src/database'),
|
||||
meta = require('../src/meta');
|
||||
|
||||
before(function(done) {
|
||||
db.init(function(err) {
|
||||
@@ -82,12 +82,11 @@
|
||||
|
||||
meta.configs.init(function () {
|
||||
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('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'),
|
||||
sockets = require('../../src/socket.io');
|
||||
var webserver = require('../src/webserver'),
|
||||
sockets = require('../src/socket.io');
|
||||
sockets.init(webserver.server);
|
||||
|
||||
done();
|
||||
7
nodebb
7
nodebb
@@ -28,6 +28,11 @@ case "$1" in
|
||||
echo " \"./nodebb stop\" to stop the NodeBB server";
|
||||
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
|
||||
"$node" loader -d "$@"
|
||||
;;
|
||||
@@ -102,7 +107,7 @@ case "$1" in
|
||||
echo "Launching NodeBB in \"development\" mode."
|
||||
echo "To run the production build of NodeBB, please use \"forever\"."
|
||||
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
2196
npm-shrinkwrap.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
69
package.json
69
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "nodebb",
|
||||
"license": "GPLv3 or later",
|
||||
"description": "NodeBB Forum",
|
||||
"version": "0.5.2",
|
||||
"version": "0.5.0",
|
||||
"homepage": "http://www.nodebb.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -17,51 +17,48 @@
|
||||
"dependencies": {
|
||||
"async": "~0.9.0",
|
||||
"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-multiparty": "^1.2.4",
|
||||
"cookie-parser": "^1.3.3",
|
||||
"cron": "^1.0.5",
|
||||
"csurf": "^1.6.1",
|
||||
"cron": "~1.0.4",
|
||||
"daemon": "~1.1.0",
|
||||
"express": "^4.9.5",
|
||||
"express-session": "^1.8.2",
|
||||
"express": "4.6.1",
|
||||
"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",
|
||||
"gravatar": "^1.1.0",
|
||||
"less": "^1.7.5",
|
||||
"logrotate-stream": "^0.2.3",
|
||||
"gravatar": "1.0.6",
|
||||
"less": "~1.7.3",
|
||||
"mkdirp": "~0.5.0",
|
||||
"morgan": "^1.3.2",
|
||||
"nconf": "~0.6.7",
|
||||
"nodebb-plugin-dbsearch": "0.0.15",
|
||||
"nodebb-plugin-markdown": "^0.7.0",
|
||||
"nodebb-plugin-mentions": "~0.6.0",
|
||||
"nodebb-plugin-dbsearch": "0.0.13",
|
||||
"nodebb-plugin-markdown": "~0.5.0",
|
||||
"nodebb-plugin-mentions": "~0.5.0",
|
||||
"nodebb-plugin-soundpack-default": "~0.1.1",
|
||||
"nodebb-theme-lavender": "~0.1.0",
|
||||
"nodebb-theme-vanilla": "~0.1.0",
|
||||
"nodebb-widget-essentials": "~0.1.1",
|
||||
"npm": "^2.1.4",
|
||||
"passport": "^0.2.1",
|
||||
"nodebb-theme-lavender": "~0.0.74",
|
||||
"nodebb-theme-vanilla": "~0.0.111",
|
||||
"nodebb-widget-essentials": "~0.1.0",
|
||||
"npm": "^1.4.6",
|
||||
"passport": "~0.2.0",
|
||||
"passport-local": "1.0.0",
|
||||
"prompt": "^0.2.14",
|
||||
"request": "^2.44.0",
|
||||
"prompt": "~0.2.11",
|
||||
"request": "~2.38.0",
|
||||
"rimraf": "~2.2.6",
|
||||
"rss": "^1.0.0",
|
||||
"semver": "^4.0.3",
|
||||
"serve-favicon": "^2.1.5",
|
||||
"sitemap": "^0.7.4",
|
||||
"socket.io": "^0.9.17",
|
||||
"socket.io-client": "^0.9.17",
|
||||
"rss": "~0.3.2",
|
||||
"semver": "~2.3.1",
|
||||
"sitemap": "~0.7.3",
|
||||
"socket.io": "~0.9.16",
|
||||
"socket.io-wildcard": "~0.1.1",
|
||||
"string": "^2.1.0",
|
||||
"templates.js": "0.1.2",
|
||||
"string": "~1.9.0",
|
||||
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
||||
"underscore": "~1.7.0",
|
||||
"validator": "~3.21.0",
|
||||
"winston": "^0.8.0",
|
||||
"xregexp": "~2.0.0"
|
||||
"underscore": "~1.6.0",
|
||||
"validator": "~3.16.1",
|
||||
"winston": "~0.7.2",
|
||||
"xregexp": "~2.0.0",
|
||||
"templates.js": "0.0.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"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 |
@@ -3,6 +3,5 @@
|
||||
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />",
|
||||
"browsing": "تصفح",
|
||||
"no_replies": "لم يرد أحد",
|
||||
"share_this_category": "انشر هذه الفئة",
|
||||
"ignore": "Ignore"
|
||||
"share_this_category": "انشر هذه الفئة"
|
||||
}
|
||||
@@ -13,11 +13,8 @@
|
||||
"digest.latest_topics": "Latest topics from %1",
|
||||
"digest.cta": "Click here to visit %1",
|
||||
"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",
|
||||
"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.",
|
||||
"unsub.cta": "Click here to alter those settings",
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Invalid title!",
|
||||
"invalid-user-data": "Invalid User Data",
|
||||
"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",
|
||||
"username-taken": "اسم المستخدم ماخوذ",
|
||||
"email-taken": "البريد الالكتروني ماخوذ",
|
||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
||||
"username-too-short": "Username too short",
|
||||
"username-too-long": "Username too long",
|
||||
"user-banned": "المستخدم محظور",
|
||||
"user-too-new": "You need to wait %1 seconds before making your first post!",
|
||||
"no-category": "Category doesn't exist",
|
||||
"no-topic": "Topic doesn't exist",
|
||||
"no-post": "Post doesn't exist",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "مشكلة في الرفع: 1%",
|
||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
||||
"reputation-system-disabled": "Reputation system is disabled.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Message History",
|
||||
"chat.pop-out": "Pop out chat",
|
||||
"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": "%1 said:",
|
||||
"composer.discard": "Are you sure you wish to discard this post?"
|
||||
|
||||
@@ -10,14 +10,11 @@
|
||||
"new_notification": "New Notification",
|
||||
"you_have_unread_notifications": "You have unread notifications.",
|
||||
"new_message_from": "New message from <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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>",
|
||||
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
|
||||
"favourited_your_post": "<strong>%1</strong> has favourited your post.",
|
||||
"user_flagged_post": "<strong>%1</strong> flagged a post.",
|
||||
"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_started_following_you": "<strong>%1</strong> started following you.",
|
||||
"email-confirmed": "Email Confirmed",
|
||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
||||
"email-confirm-error": "An error occurred...",
|
||||
|
||||
@@ -12,7 +12,5 @@
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"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:"
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "أسبوع",
|
||||
"month": "شهر",
|
||||
"year": "Year",
|
||||
"alltime": "All Time",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
||||
"no-matches": "No posts found"
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "There are no topics with this tag.",
|
||||
"tags": "Tags",
|
||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
||||
"enter_tags_here_short": "Enter tags...",
|
||||
"no_tags": "There are no tags yet."
|
||||
}
|
||||
@@ -28,17 +28,15 @@
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"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.",
|
||||
"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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
"thread_tools.title": "Topic Tools",
|
||||
"thread_tools.title": "أدوات الموضوع",
|
||||
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
|
||||
"thread_tools.pin": "علق الموضوع",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
@@ -48,11 +46,11 @@
|
||||
"thread_tools.move_all": "Move All",
|
||||
"thread_tools.fork": "تفرع الموضوع",
|
||||
"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_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_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",
|
||||
"post_delete_confirm": "Are you sure you want to delete this post?",
|
||||
"post_restore_confirm": "Are you sure you want to restore this post?",
|
||||
@@ -73,7 +71,7 @@
|
||||
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
|
||||
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
|
||||
"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.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
"username": "إسم المستخدم",
|
||||
"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": "الاسم الكامل",
|
||||
"website": "الموقع الإلكتروني",
|
||||
"location": "موقع",
|
||||
@@ -29,7 +27,6 @@
|
||||
"edit": "صحح",
|
||||
"uploaded_picture": "صورة تم تحميلها",
|
||||
"upload_new_picture": "تحميل صورة جديدة",
|
||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
||||
"current_password": "Current Password",
|
||||
"change_password": "تغيير كلمة السر",
|
||||
"change_password_error": "Invalid Password!",
|
||||
@@ -53,7 +50,6 @@
|
||||
"digest_daily": "Daily",
|
||||
"digest_weekly": "Weekly",
|
||||
"digest_monthly": "Monthly",
|
||||
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
|
||||
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
|
||||
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
|
||||
"has_no_posts": "This user didn't post anything yet.",
|
||||
@@ -65,7 +61,5 @@
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification.",
|
||||
"browsing": "Browsing Settings",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Open outgoing links in new tab?"
|
||||
}
|
||||
@@ -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í!",
|
||||
"browsing": "prohlíží",
|
||||
"no_replies": "Nikdo ještě neodpověděl",
|
||||
"share_this_category": "Share this category",
|
||||
"ignore": "Ignore"
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
@@ -13,11 +13,8 @@
|
||||
"digest.latest_topics": "Latest topics from %1",
|
||||
"digest.cta": "Click here to visit %1",
|
||||
"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",
|
||||
"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.",
|
||||
"unsub.cta": "Click here to alter those settings",
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Invalid title!",
|
||||
"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",
|
||||
"username-taken": "Username taken",
|
||||
"email-taken": "Email taken",
|
||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
||||
"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-topic": "Topic doesn't exist",
|
||||
"no-post": "Post doesn't exist",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "Upload Error : %1",
|
||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
||||
"reputation-system-disabled": "Reputation system is disabled.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Message History",
|
||||
"chat.pop-out": "Pop out chat",
|
||||
"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": "%1 said:",
|
||||
"composer.discard": "Are you sure you wish to discard this post?"
|
||||
|
||||
@@ -10,14 +10,11 @@
|
||||
"new_notification": "New Notification",
|
||||
"you_have_unread_notifications": "You have unread notifications.",
|
||||
"new_message_from": "New message from <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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>",
|
||||
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
|
||||
"favourited_your_post": "<strong>%1</strong> has favourited your post.",
|
||||
"user_flagged_post": "<strong>%1</strong> flagged a post.",
|
||||
"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_started_following_you": "<strong>%1</strong> started following you.",
|
||||
"email-confirmed": "Email Confirmed",
|
||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
||||
"email-confirm-error": "An error occurred...",
|
||||
|
||||
@@ -12,7 +12,5 @@
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"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:"
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "Týden",
|
||||
"month": "Měsíc",
|
||||
"year": "Year",
|
||||
"alltime": "All Time",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
||||
"no-matches": "No posts found"
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "There are no topics with this tag.",
|
||||
"tags": "Tags",
|
||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
||||
"enter_tags_here_short": "Enter tags...",
|
||||
"no_tags": "There are no tags yet."
|
||||
}
|
||||
@@ -28,17 +28,15 @@
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"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.",
|
||||
"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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"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.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
@@ -48,11 +46,11 @@
|
||||
"thread_tools.move_all": "Move All",
|
||||
"thread_tools.fork": "Fork 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_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_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",
|
||||
"post_delete_confirm": "Are you sure you want to delete 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",
|
||||
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
|
||||
"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.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
"username": "Uživatelské jméno",
|
||||
"email": "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í",
|
||||
"website": "Webové stránky",
|
||||
"location": "Poloha",
|
||||
@@ -29,7 +27,6 @@
|
||||
"edit": "Upravit",
|
||||
"uploaded_picture": "Nahraný obrázek",
|
||||
"upload_new_picture": "Nahrát nový obrázek",
|
||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
||||
"current_password": "Current Password",
|
||||
"change_password": "Změnit heslo",
|
||||
"change_password_error": "Invalid Password!",
|
||||
@@ -53,7 +50,6 @@
|
||||
"digest_daily": "Daily",
|
||||
"digest_weekly": "Weekly",
|
||||
"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 :(",
|
||||
"follows_no_one": "Tento uživatel nikoho nesleduje :(",
|
||||
"has_no_posts": "This user didn't post anything yet.",
|
||||
@@ -65,7 +61,5 @@
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification.",
|
||||
"browsing": "Browsing Settings",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Open outgoing links in new tab?"
|
||||
}
|
||||
@@ -3,6 +3,5 @@
|
||||
"no_topics": "<strong>Es gibt noch keine Themen in dieser Kategorie.</strong><br />Warum beginnst du nicht das erste?",
|
||||
"browsing": "Aktiv",
|
||||
"no_replies": "Niemand hat geantwortet",
|
||||
"share_this_category": "Teile diese Kategorie",
|
||||
"ignore": "Ignorieren"
|
||||
"share_this_category": "Teile diese Kategorie"
|
||||
}
|
||||
@@ -13,11 +13,8 @@
|
||||
"digest.latest_topics": "Aktuellste Themen vom %1",
|
||||
"digest.cta": "Klicke hier, um %1 zu besuchen",
|
||||
"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",
|
||||
"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.",
|
||||
"unsub.cta": "Klicke hier, um diese Einstellungen zu ändern.",
|
||||
"closing": "Danke!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Ungültiger Titel",
|
||||
"invalid-user-data": "Ungültige Benutzerdaten",
|
||||
"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",
|
||||
"username-taken": "Der Benutzername 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.",
|
||||
"username-too-short": "Benutzername ist zu kurz",
|
||||
"username-too-long": "Der Benutzername ist zu lang",
|
||||
"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-topic": "Das Thema existiert nicht",
|
||||
"no-post": "Der Beitrag existiert nicht",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "Upload-Fehler: %1",
|
||||
"signature-too-long": "Die Signatur darf maximal %1 Zeichen enthalten!",
|
||||
"cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!",
|
||||
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "Deine Reputation ist zu niedrig, um diesen Beitrag negativ zu bewerten."
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Nachrichtenverlauf",
|
||||
"chat.pop-out": "Chat als Pop-out anzeigen",
|
||||
"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": "%1 sagte:",
|
||||
"composer.discard": "Bist du sicher, dass du diesen Post verwerfen möchtest?"
|
||||
|
||||
@@ -10,14 +10,11 @@
|
||||
"new_notification": "Neue Benachrichtigung",
|
||||
"you_have_unread_notifications": "Du hast ungelesene Benachrichtigungen.",
|
||||
"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.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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",
|
||||
"upvoted_your_post": "<strong>%1</strong> hat deinen Beitrag positiv bewertet.",
|
||||
"favourited_your_post": "<strong>%1</strong> favorisiert deinen Beitrag.",
|
||||
"user_flagged_post": "<strong>%1</strong> hat einen Beitrag markiert.",
|
||||
"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_started_following_you": "<strong>%1</strong> folgt dir jetzt.",
|
||||
"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-confirm-error": "Es ist ein Fehler aufgetreten ...",
|
||||
|
||||
@@ -5,14 +5,12 @@
|
||||
"recent": "Neueste Themen",
|
||||
"users": "Registrierte User",
|
||||
"notifications": "Benachrichtigungen",
|
||||
"tags": "Themen markiert unter \"%1\"",
|
||||
"tags": "Topics tagged under \"%1\"",
|
||||
"user.edit": "Bearbeite \"%1\"",
|
||||
"user.following": "Nutzer, die %1 folgt",
|
||||
"user.followers": "Nutzer, die %1 folgen",
|
||||
"user.posts": "Beiträge von %1",
|
||||
"user.topics": "Themen von %1",
|
||||
"user.favourites": "Von %1 favorisierte Beiträge",
|
||||
"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:"
|
||||
"user.settings": "Benutzer-Einstellungen"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "Woche",
|
||||
"month": "Monat",
|
||||
"year": "Jahr",
|
||||
"alltime": "Gesamter Zeitraum",
|
||||
"no_recent_topics": "Es gibt keine aktuellen Themen."
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 Ergebniss(e) stimmen mit \"%2\" überein, (%3 Sekunden)",
|
||||
"no-matches": "Keine Beiträge gefunden"
|
||||
"results_matching": "%1 Ergebniss(e) stimmen mit \"%2\" überein, (%3 Sekunden)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "Es gibt keine Themen mit diesem Tag.",
|
||||
"tags": "Tags",
|
||||
"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."
|
||||
}
|
||||
@@ -28,17 +28,15 @@
|
||||
"flag_title": "Diesen Beitrag zur Moderation markieren",
|
||||
"flag_confirm": "Sind Sie sicher, dass Sie diesen Post markieren möchten?",
|
||||
"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.",
|
||||
"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",
|
||||
"markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.",
|
||||
"watch": "Beobachten",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Bei neuen Antworten benachrichtigen",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"share_this_post": "Diesen Beitrag teilen",
|
||||
"thread_tools.title": "Topic Tools",
|
||||
"thread_tools.title": "Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
|
||||
"thread_tools.pin": "Thema anpinnen",
|
||||
"thread_tools.unpin": "Thema nicht mehr anpinnen",
|
||||
@@ -48,11 +46,11 @@
|
||||
"thread_tools.move_all": "Alle verschieben",
|
||||
"thread_tools.fork": "Thema aufspalten",
|
||||
"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_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_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.",
|
||||
"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?",
|
||||
@@ -73,7 +71,7 @@
|
||||
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
||||
"fork_topic_instruction": "Klicke auf die Beiträge, die du aufspalten willst",
|
||||
"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.discard": "Verwerfen",
|
||||
"composer.submit": "Absenden",
|
||||
@@ -89,7 +87,7 @@
|
||||
"more_users_and_guests": "%1 weitere(r) Nutzer und %2 Gäste",
|
||||
"more_users": "%1 weitere(r) Nutzer",
|
||||
"more_guests": "%1 weitere Gäste",
|
||||
"users_and_others": "%1 und %2 andere",
|
||||
"users_and_others": "%1 and %2 others",
|
||||
"sort_by": "Sortieren nach",
|
||||
"oldest_to_newest": "Älteste zuerst",
|
||||
"newest_to_oldest": "Neuster zuerst",
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
"username": "Nutzername",
|
||||
"email": "E-Mail",
|
||||
"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",
|
||||
"website": "Homepage",
|
||||
"location": "Wohnort",
|
||||
@@ -29,7 +27,6 @@
|
||||
"edit": "Ändern",
|
||||
"uploaded_picture": "Hochgeladene Bilder",
|
||||
"upload_new_picture": "Neues Bild hochladen",
|
||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
||||
"current_password": "Aktuelles Passwort",
|
||||
"change_password": "Passwort ändern",
|
||||
"change_password_error": "Ungültiges Passwort!",
|
||||
@@ -53,7 +50,6 @@
|
||||
"digest_daily": "Täglich",
|
||||
"digest_weekly": "Wöchentlich",
|
||||
"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.",
|
||||
"follows_no_one": "Dieser User folgt noch niemandem :(",
|
||||
"has_no_posts": "Dieser Nutzer hat noch nichts gepostet.",
|
||||
@@ -65,7 +61,5 @@
|
||||
"posts_per_page": "Beiträge pro Seite",
|
||||
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
|
||||
"browsing": "Browser Einstellungen",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Externe Links in neuem Tab öffnen?"
|
||||
}
|
||||
@@ -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?",
|
||||
"browsing": "browsin'",
|
||||
"no_replies": "No one has replied to ye message",
|
||||
"share_this_category": "Share this category",
|
||||
"ignore": "Ignore"
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
@@ -13,11 +13,8 @@
|
||||
"digest.latest_topics": "Latest topics from %1",
|
||||
"digest.cta": "Click here to visit %1",
|
||||
"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",
|
||||
"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.",
|
||||
"unsub.cta": "Click here to alter those settings",
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Invalid title!",
|
||||
"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",
|
||||
"username-taken": "Username taken",
|
||||
"email-taken": "Email taken",
|
||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
||||
"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-topic": "Topic doesn't exist",
|
||||
"no-post": "Post doesn't exist",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "Upload Error : %1",
|
||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
||||
"reputation-system-disabled": "Reputation system is disabled.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Message History",
|
||||
"chat.pop-out": "Pop out chat",
|
||||
"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": "%1 said:",
|
||||
"composer.discard": "Are you sure you wish to discard this post?"
|
||||
|
||||
@@ -10,14 +10,11 @@
|
||||
"new_notification": "New Notification",
|
||||
"you_have_unread_notifications": "You have unread notifications.",
|
||||
"new_message_from": "New message from <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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>",
|
||||
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
|
||||
"favourited_your_post": "<strong>%1</strong> has favourited your post.",
|
||||
"user_flagged_post": "<strong>%1</strong> flagged a post.",
|
||||
"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_started_following_you": "<strong>%1</strong> started following you.",
|
||||
"email-confirmed": "Email Confirmed",
|
||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
||||
"email-confirm-error": "An error occurred...",
|
||||
|
||||
@@ -12,7 +12,5 @@
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"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:"
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "Week",
|
||||
"month": "Month",
|
||||
"year": "Year",
|
||||
"alltime": "All Time",
|
||||
"no_recent_topics": "There be no recent topics."
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
||||
"no-matches": "No posts found"
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "There are no topics with this tag.",
|
||||
"tags": "Tags",
|
||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
||||
"enter_tags_here_short": "Enter tags...",
|
||||
"no_tags": "There are no tags yet."
|
||||
}
|
||||
@@ -28,17 +28,15 @@
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"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.",
|
||||
"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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
"thread_tools.title": "Topic Tools",
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||
"thread_tools.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
@@ -48,11 +46,11 @@
|
||||
"thread_tools.move_all": "Move All",
|
||||
"thread_tools.fork": "Fork 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_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_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",
|
||||
"post_delete_confirm": "Are you sure you want to delete 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",
|
||||
"fork_topic_instruction": "Click the posts you want to fork",
|
||||
"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.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
"username": "User Name",
|
||||
"email": "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",
|
||||
"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",
|
||||
"change_password": "Change Password",
|
||||
"change_password_error": "Invalid Password!",
|
||||
@@ -53,7 +50,6 @@
|
||||
"digest_daily": "Daily",
|
||||
"digest_weekly": "Weekly",
|
||||
"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 :(",
|
||||
"follows_no_one": "This user isn't following anyone :(",
|
||||
"has_no_posts": "This user didn't post anything yet.",
|
||||
@@ -65,7 +61,5 @@
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification.",
|
||||
"browsing": "Browsing Settings",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Open outgoing links in new tab?"
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
"browsing": "browsing",
|
||||
"no_replies": "No one has replied",
|
||||
|
||||
"share_this_category": "Share this category",
|
||||
"ignore": "Ignore"
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
|
||||
@@ -13,19 +13,14 @@
|
||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
||||
"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.cta": "Click here to visit %1",
|
||||
"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",
|
||||
|
||||
"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.",
|
||||
|
||||
"unsub.cta": "Click here to alter those settings",
|
||||
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -15,28 +15,24 @@
|
||||
"invalid-title": "Invalid title",
|
||||
"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",
|
||||
|
||||
"username-taken": "Username 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-long": "Username too long",
|
||||
|
||||
"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-topic": "Topic does not exist",
|
||||
"no-post": "Post does not exist",
|
||||
"no-group": "Group does not exist",
|
||||
"no-user": "User does not exist",
|
||||
"no-teaser": "Teaser does not exist",
|
||||
"no-privileges": "You do not have enough privileges for this action.",
|
||||
"no-category": "Category doesn't exist",
|
||||
"no-topic": "Topic doesn't exist",
|
||||
"no-post": "Post doesn't exist",
|
||||
"no-group": "Group doesn't exist",
|
||||
"no-user": "User doesn't exist",
|
||||
"no-teaser": "Teaser doesn't exist",
|
||||
"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",
|
||||
|
||||
"category-disabled": "Category disabled",
|
||||
@@ -44,16 +40,16 @@
|
||||
"topic-locked": "Topic Locked",
|
||||
|
||||
"still-uploading": "Please wait for uploads to complete.",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.",
|
||||
"title-too-short": "Please enter a longer title. Titles 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. At least %1 characters.",
|
||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
||||
"invalid-title": "Invalid title!",
|
||||
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
||||
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
||||
"too-many-posts": "You can only post every %1 seconds.",
|
||||
"file-too-big": "Maximum allowed file size is %1 kbs",
|
||||
|
||||
"cant-vote-self-post": "You cannot vote for your own post",
|
||||
"already-favourited": "You have already favourited this post",
|
||||
"already-unfavourited": "You have already unfavourited this post",
|
||||
"already-favourited": "You already favourited this post",
|
||||
"already-unfavourited": "You already unfavourited this post",
|
||||
|
||||
"cant-ban-other-admins": "You can't ban other admins!",
|
||||
|
||||
@@ -63,25 +59,21 @@
|
||||
"group-already-exists": "Group already exists",
|
||||
"group-name-change-not-allowed": "Group name change not allowed",
|
||||
|
||||
"post-already-deleted": "This post has already been deleted",
|
||||
"post-already-restored": "This post has already been restored",
|
||||
"post-already-deleted": "Post already deleted",
|
||||
"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.",
|
||||
"invalid-file": "Invalid File",
|
||||
"uploads-are-disabled": "Uploads are disabled",
|
||||
"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!",
|
||||
|
||||
"reputation-system-disabled": "Reputation system is disabled.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
|
||||
}
|
||||
@@ -94,7 +94,5 @@
|
||||
"guests": "Guests",
|
||||
|
||||
"updated.title": "Forum Updated",
|
||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.",
|
||||
|
||||
"privacy": "Privacy"
|
||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
"groups": "Groups",
|
||||
"view_group": "View Group",
|
||||
|
||||
"details.title": "Group Details",
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Message History",
|
||||
"chat.pop-out": "Pop out chat",
|
||||
"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": "%1 said:",
|
||||
|
||||
@@ -12,15 +12,11 @@
|
||||
"you_have_unread_notifications": "You have unread notifications.",
|
||||
|
||||
"new_message_from": "New message from <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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>",
|
||||
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
|
||||
"favourited_your_post": "<strong>%1</strong> has favourited your post.",
|
||||
"user_flagged_post": "<strong>%1</strong> flagged a post.",
|
||||
"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_started_following_you": "<strong>%1</strong> started following you.",
|
||||
|
||||
"email-confirmed": "Email Confirmed",
|
||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
||||
|
||||
@@ -12,8 +12,5 @@
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"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:"
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "Week",
|
||||
"month": "Month",
|
||||
"year": "Year",
|
||||
"alltime": "All Time",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
||||
"no-matches": "No posts found"
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "There are no topics with this tag.",
|
||||
"tags": "Tags",
|
||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
||||
"enter_tags_here_short": "Enter tags...",
|
||||
"no_tags": "There are no tags yet."
|
||||
}
|
||||
@@ -21,6 +21,7 @@
|
||||
"restore": "Restore",
|
||||
"move": "Move",
|
||||
"fork": "Fork",
|
||||
"banned": "banned",
|
||||
"link": "Link",
|
||||
"share": "Share",
|
||||
"tools": "Tools",
|
||||
@@ -32,7 +33,7 @@
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"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.",
|
||||
"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.",
|
||||
|
||||
"watch": "Watch",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
|
||||
"thread_tools.title": "Topic Tools",
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||
"thread_tools.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
@@ -57,11 +56,11 @@
|
||||
"thread_tools.move_all": "Move All",
|
||||
"thread_tools.fork": "Fork 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_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_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",
|
||||
|
||||
@@ -87,7 +86,7 @@
|
||||
"topic_will_be_moved_to": "This topic will be moved to the category",
|
||||
"fork_topic_instruction": "Click the posts you want to fork",
|
||||
"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.discard": "Discard",
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
|
||||
"email": "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",
|
||||
"website": "Website",
|
||||
@@ -32,7 +30,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",
|
||||
"change_password": "Change Password",
|
||||
"change_password_error": "Invalid Password!",
|
||||
@@ -52,14 +49,12 @@
|
||||
|
||||
"settings": "Settings",
|
||||
"show_email": "Show My Email",
|
||||
"show_fullname": "Show My Full Name",
|
||||
"digest_label": "Subscribe to Digest",
|
||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
||||
"digest_off": "Off",
|
||||
"digest_daily": "Daily",
|
||||
"digest_weekly": "Weekly",
|
||||
"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 :(",
|
||||
"follows_no_one": "This user isn't following anyone :(",
|
||||
@@ -76,8 +71,5 @@
|
||||
"notification_sounds" : "Play a sound when you receive a notification.",
|
||||
|
||||
"browsing": "Browsing Settings",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Open outgoing links in new tab?"
|
||||
}
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
"search": "Search",
|
||||
"enter_username": "Enter a username to search",
|
||||
"load_more": "Load More",
|
||||
"user-not-found": "User not found!",
|
||||
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
||||
}
|
||||
@@ -3,6 +3,5 @@
|
||||
"no_topics": "<strong>There are no topics in this category.</strong><br />Why don't you try posting one?",
|
||||
"browsing": "browsing",
|
||||
"no_replies": "No one has replied",
|
||||
"share_this_category": "Share this category",
|
||||
"ignore": "Ignore"
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
@@ -13,11 +13,8 @@
|
||||
"digest.latest_topics": "Latest topics from %1",
|
||||
"digest.cta": "Click here to visit %1",
|
||||
"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",
|
||||
"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.",
|
||||
"unsub.cta": "Click here to alter those settings",
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Invalid title!",
|
||||
"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",
|
||||
"username-taken": "Username taken",
|
||||
"email-taken": "Email taken",
|
||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
||||
"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-topic": "Topic doesn't exist",
|
||||
"no-post": "Post doesn't exist",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "Upload Error : %1",
|
||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
||||
"reputation-system-disabled": "Reputation system is disabled.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Message History",
|
||||
"chat.pop-out": "Pop out chat",
|
||||
"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": "%1 said:",
|
||||
"composer.discard": "Are you sure you wish to discard this post?"
|
||||
|
||||
@@ -10,14 +10,11 @@
|
||||
"new_notification": "New Notification",
|
||||
"you_have_unread_notifications": "You have unread notifications.",
|
||||
"new_message_from": "New message from <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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>",
|
||||
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
|
||||
"favourited_your_post": "<strong>%1</strong> has favorited your post.",
|
||||
"user_flagged_post": "<strong>%1</strong> flagged a post.",
|
||||
"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_started_following_you": "<strong>%1</strong> started following you.",
|
||||
"email-confirmed": "Email Confirmed",
|
||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
||||
"email-confirm-error": "An error occurred...",
|
||||
|
||||
@@ -12,7 +12,5 @@
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favorite Posts",
|
||||
"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:"
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "Week",
|
||||
"month": "Month",
|
||||
"year": "Year",
|
||||
"alltime": "All Time",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
||||
"no-matches": "No posts found"
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "There are no topics with this tag.",
|
||||
"tags": "Tags",
|
||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
||||
"enter_tags_here_short": "Enter tags...",
|
||||
"no_tags": "There are no tags yet."
|
||||
}
|
||||
@@ -28,17 +28,15 @@
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"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.",
|
||||
"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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
"thread_tools.title": "Topic Tools",
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||
"thread_tools.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
@@ -48,11 +46,11 @@
|
||||
"thread_tools.move_all": "Move All",
|
||||
"thread_tools.fork": "Fork 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_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_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",
|
||||
"post_delete_confirm": "Are you sure you want to delete 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",
|
||||
"fork_topic_instruction": "Click the posts you want to fork",
|
||||
"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.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
"username": "User Name",
|
||||
"email": "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",
|
||||
"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",
|
||||
"change_password": "Change Password",
|
||||
"change_password_error": "Invalid Password!",
|
||||
@@ -53,7 +50,6 @@
|
||||
"digest_daily": "Daily",
|
||||
"digest_weekly": "Weekly",
|
||||
"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 :(",
|
||||
"follows_no_one": "This user isn't following anyone :(",
|
||||
"has_no_posts": "This user didn't post anything yet.",
|
||||
@@ -65,7 +61,5 @@
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification.",
|
||||
"browsing": "Browsing Settings",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Open outgoing links in new tab?"
|
||||
}
|
||||
@@ -3,6 +3,5 @@
|
||||
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />¿Por que no te animas y publicas uno?",
|
||||
"browsing": "viendo ahora",
|
||||
"no_replies": "Nadie ha respondido aún",
|
||||
"share_this_category": "Compartir esta categoría",
|
||||
"ignore": "Ignorar"
|
||||
"share_this_category": "Compartir esta categoría"
|
||||
}
|
||||
@@ -1,23 +1,20 @@
|
||||
{
|
||||
"password-reset-requested": "Reinicio de contraseña solicitado - %1!",
|
||||
"welcome-to": "Bienvenido a %1",
|
||||
"greeting_no_name": "Hola",
|
||||
"greeting_with_name": "Hola %1",
|
||||
"welcome.text1": "Gracias por registrarte con %1!",
|
||||
"welcome.text2": "Para activar completamente tu cuenta, necesitamos verificar que la dirección email con la que te registraste te pertenece.",
|
||||
"welcome.cta": "Cliquea aquí para confirmar tu dirección email.",
|
||||
"reset.text1": "Recibimos una solicitud para reiniciar tu contraseña, posiblemente porque la olvidaste. Si no es así, por favor ignora este email.",
|
||||
"reset.text2": "Para continuar con el reinicio de contraseña, por favor cliquea en el siguiente vínculo:",
|
||||
"reset.cta": "Cliquea aquí para reiniciar tu contraseña",
|
||||
"digest.notifications": "Tienes algunas notificaciónes de %1 sin leer:",
|
||||
"digest.latest_topics": "Últimos temas de %1",
|
||||
"digest.cta": "Cliquea aquí para visitar %1",
|
||||
"digest.unsub.info": "Este compendio te fue enviado debido a tus ajustes de subscripción.",
|
||||
"digest.daily.no_topics": "No han habido temas activos en el día pasado",
|
||||
"notif.chat.subject": "Nuevo mensaje de chat recibido de %1",
|
||||
"notif.chat.cta": "Haz click aquí para continuar la conversación",
|
||||
"notif.chat.unsub.info": "Esta notificación de chat se te envió debido a tus ajustes de suscripción.",
|
||||
"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!"
|
||||
"password-reset-requested": "Password Reset Requested - %1!",
|
||||
"welcome-to": "Welcome to %1",
|
||||
"greeting_no_name": "Hello",
|
||||
"greeting_with_name": "Hello %1",
|
||||
"welcome.text1": "Thank you for registering with %1!",
|
||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
||||
"welcome.cta": "Click here to confirm your email address",
|
||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
||||
"reset.cta": "Click here to reset your password",
|
||||
"digest.notifications": "You have some unread notifications from %1:",
|
||||
"digest.latest_topics": "Latest topics from %1",
|
||||
"digest.cta": "Click here to visit %1",
|
||||
"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",
|
||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Título no válido!",
|
||||
"invalid-user-data": "Datos de Usuario no válidos",
|
||||
"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.",
|
||||
"username-taken": "Nombre de usuario ya 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.",
|
||||
"username-too-short": "El nombre de usuario es demasiado corto",
|
||||
"username-too-long": "Nombre de usuario demasiado largo",
|
||||
"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-topic": "El tema no existe.",
|
||||
"no-post": "La publicación no existe",
|
||||
@@ -29,7 +25,7 @@
|
||||
"no-user": "El usuario no existe",
|
||||
"no-teaser": "El extracto del tema no existe.",
|
||||
"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.",
|
||||
"topic-locked": "Tema bloqueado.",
|
||||
"still-uploading": "Por favor, espera a que terminen las subidas.",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "Error de subida: %1",
|
||||
"signature-too-long": "Las firmas no pueden ser más largas de %1 caracteres!",
|
||||
"cant-chat-with-yourself": "No puedes conversar contigo mismo!",
|
||||
"reputation-system-disabled": "El sistema de reputación está deshabilitado.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "No tienes suficiente reputación para votar negativo este post"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"view_group": "Ver Grupo",
|
||||
"details.title": "Detalles de Grupo",
|
||||
"details.members": "Lista de Miembros",
|
||||
"details.has_no_posts": "Los miembros de este grupo no han hecho ninguna publicación.",
|
||||
"details.latest_posts": "Últimas Publicaciones"
|
||||
"view_group": "View Group",
|
||||
"details.title": "Group Details",
|
||||
"details.members": "Member List",
|
||||
"details.has_no_posts": "This group's members have not made any posts.",
|
||||
"details.latest_posts": "Latest Posts"
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Historial de mensajes",
|
||||
"chat.pop-out": "Mostrar en ventana independiente",
|
||||
"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": "%1 dijo:",
|
||||
"composer.discard": "¿Estás seguro de que deseas descargar este post?"
|
||||
|
||||
@@ -4,20 +4,17 @@
|
||||
"see_all": "Ver todas las notificaciones",
|
||||
"back_to_home": "Volver a %1",
|
||||
"outgoing_link": "Enlace Externo",
|
||||
"outgoing_link_message": "Ahora estás saliendo %1.",
|
||||
"continue_to": "Continuar a %1",
|
||||
"return_to": "Regresar a %1",
|
||||
"outgoing_link_message": "You are now leaving %1.",
|
||||
"continue_to": "Continue to %1",
|
||||
"return_to": "Return to %1",
|
||||
"new_notification": "Nueva Notificación",
|
||||
"you_have_unread_notifications": "Tienes notificaciones sin leer.",
|
||||
"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>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"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>",
|
||||
"upvoted_your_post": "<strong>%1</strong> ha marcado como favorita tu respuesta.",
|
||||
"favourited_your_post": "<strong>%1</strong> ha marcado como favorita tu respuesta.",
|
||||
"user_flagged_post": "<strong>%1</strong> ha marcado como indebida una respuesta.",
|
||||
"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_started_following_you": "<strong>%1</strong> comenzó a seguirte.",
|
||||
"email-confirmed": "Correo electrónico confirmado",
|
||||
"email-confirmed-message": "Gracias por validar tu correo electrónico. Tu cuenta ya está completamente activa.",
|
||||
"email-confirm-error": "Un error ocurrió...",
|
||||
|
||||
@@ -5,14 +5,12 @@
|
||||
"recent": "Temas Recientes",
|
||||
"users": "Usuarios Registrado",
|
||||
"notifications": "Notificaciones",
|
||||
"tags": "Temas etiquetados bajo \"%1\"",
|
||||
"tags": "Topics tagged under \"%1\"",
|
||||
"user.edit": "Editando \"%1\"",
|
||||
"user.following": "Gente que sigue %1 ",
|
||||
"user.followers": "Seguidores de %1",
|
||||
"user.posts": "Posteos de %1",
|
||||
"user.topics": "Temas creados por %1",
|
||||
"user.favourites": "Publicaciones favoritas de %1 ",
|
||||
"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:"
|
||||
"user.settings": "Preferencias del Usuario"
|
||||
}
|
||||
@@ -4,6 +4,5 @@
|
||||
"week": "Semana",
|
||||
"month": "Mes",
|
||||
"year": "Año",
|
||||
"alltime": "Siempre",
|
||||
"no_recent_topics": "No hay publicaciones recientes"
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"results_matching": "%1 resuldado(s) coinciden con \"%2\". (%3 segundos)",
|
||||
"no-matches": "No se encontraron publicaciones"
|
||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
|
||||
}
|
||||
@@ -2,6 +2,5 @@
|
||||
"no_tag_topics": "No hay temas con esta etiqueta.",
|
||||
"tags": "Etiquetas",
|
||||
"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."
|
||||
}
|
||||
@@ -28,17 +28,15 @@
|
||||
"flag_title": "Reportar esta publicación a los moderadores",
|
||||
"flag_confirm": "¿Estás seguro de que quieres marcar como indebido este mensaje?",
|
||||
"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.",
|
||||
"not_following_topic.message": "No recibiras notificaciones de este tema.",
|
||||
"login_to_subscribe": "Por favor, conectate para subscribirte a este tema.",
|
||||
"markAsUnreadForAll.success": "Publicación marcada como no leída para todos.",
|
||||
"watch": "Seguir",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Serás notificado cuando haya nuevas respuestas en este tema",
|
||||
"unwatch.title": "Stop watching this topic",
|
||||
"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.pin": "Tema Importante",
|
||||
"thread_tools.unpin": "Quitar Importante",
|
||||
@@ -48,11 +46,11 @@
|
||||
"thread_tools.move_all": "Mover todo",
|
||||
"thread_tools.fork": "Bifurcar 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_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_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",
|
||||
"post_delete_confirm": "¿Estás seguro de que quieres eliminar 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",
|
||||
"fork_topic_instruction": "Click en las publicaciones que quieres bifurcar",
|
||||
"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.discard": "Descartar",
|
||||
"composer.submit": "Enviar",
|
||||
@@ -89,7 +87,7 @@
|
||||
"more_users_and_guests": "%1 usuario(s) y %2 invitado(s) más",
|
||||
"more_users": "%1 usuario(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",
|
||||
"oldest_to_newest": "Más antiguo a más nuevo",
|
||||
"newest_to_oldest": "Más nuevo a más antiguo",
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
"username": "Nombre de usuario",
|
||||
"email": "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",
|
||||
"website": "Sitio Web",
|
||||
"location": "Ubicación",
|
||||
@@ -29,7 +27,6 @@
|
||||
"edit": "Editar",
|
||||
"uploaded_picture": "Fotos subidas",
|
||||
"upload_new_picture": "Subir Nueva Foto",
|
||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
||||
"current_password": "Contraseña actual",
|
||||
"change_password": "Cambiar Contraseña",
|
||||
"change_password_error": "Contraseña no válida!",
|
||||
@@ -53,7 +50,6 @@
|
||||
"digest_daily": "Diariamente",
|
||||
"digest_weekly": "Semanalmente",
|
||||
"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. :(",
|
||||
"follows_no_one": "Este miembro no sigue a nadie. :(",
|
||||
"has_no_posts": "Este usuario aún no ha publicado nada.",
|
||||
@@ -65,7 +61,5 @@
|
||||
"posts_per_page": "Post por página",
|
||||
"notification_sounds": "Reproducir un sonido al recibir una notificación",
|
||||
"browsing": "Preferencias de navegación.",
|
||||
"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."
|
||||
"open_links_in_new_tab": "Abrir los enlaces externos en una nueva pestaña?"
|
||||
}
|
||||
@@ -3,6 +3,5 @@
|
||||
"no_topics": "<strong>Kahjuks ei leidu siin kategoorias ühtegi teemat.</strong><br />Soovid postitada?",
|
||||
"browsing": "vaatab",
|
||||
"no_replies": "Keegi pole vastanud",
|
||||
"share_this_category": "Jaga seda kategooriat",
|
||||
"ignore": "Ignore"
|
||||
"share_this_category": "Jaga seda kategooriat"
|
||||
}
|
||||
@@ -13,11 +13,8 @@
|
||||
"digest.latest_topics": "Latest topics from %1",
|
||||
"digest.cta": "Click here to visit %1",
|
||||
"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",
|
||||
"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.",
|
||||
"unsub.cta": "Click here to alter those settings",
|
||||
"closing": "Thanks!"
|
||||
}
|
||||
@@ -12,16 +12,12 @@
|
||||
"invalid-title": "Vigane pealkiri!",
|
||||
"invalid-user-data": "Vigased kasutaja andmed",
|
||||
"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",
|
||||
"username-taken": "Kasutajanimi on juba võetud",
|
||||
"email-taken": "Email on võetud",
|
||||
"email-not-confirmed": "Su emaili aadress ei ole kinnitatud, vajuta siia et kinnitada.",
|
||||
"username-too-short": "Kasutajanimi on liiga lühike",
|
||||
"username-too-long": "Username too long",
|
||||
"user-banned": "Kasutaja bannitud",
|
||||
"user-too-new": "You need to wait %1 seconds before making your first post!",
|
||||
"no-category": "Kategooriat ei eksisteeri",
|
||||
"no-topic": "Teemat ei eksisteeri",
|
||||
"no-post": "Postitust ei eksisteeri",
|
||||
@@ -56,9 +52,5 @@
|
||||
"upload-error": "Üleslaadimise viga: %1",
|
||||
"signature-too-long": "Allkiri ei saa olla pikem kui %1 tähemärki!",
|
||||
"cant-chat-with-yourself": "Sa ei saa endaga vestelda!",
|
||||
"reputation-system-disabled": "Reputation system is disabled.",
|
||||
"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."
|
||||
"not-enough-reputation-to-downvote": "Sul ei ole piisavalt reputatsiooni, et anda negatiivset hinnangut sellele postitusele."
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"chat.message-history": "Sõnumite ajalugu",
|
||||
"chat.pop-out": "Pop-out vestlus",
|
||||
"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": "%1 ütles:",
|
||||
"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
Reference in New Issue
Block a user