Compare commits

..

15 Commits

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

8
.gitignore vendored
View File

@@ -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,9 +26,3 @@ pidfile
# templates
/public/templates
/public/sounds
# compiled files
/public/stylesheet.css
/public/admin.css
/public/nodebb.min.js
/public/nodebb.min.js.map

15
NOTES.md Normal file
View File

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

37
app.js
View File

@@ -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');
@@ -99,12 +99,10 @@ 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();
winston.info('Time: ' + new Date());
@@ -138,44 +136,17 @@ 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() {
// If this callback is called, this means that loader.js is used
process.on('message', function(msg) {
if (msg === 'bind') {
webserver.listen();
}
});
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] Stylesheet propagated to worker ' + cluster.worker.id);
break;
}
});
process.on('uncaughtException', function(err) {
winston.error(err.message);
console.log(err.stack);
@@ -342,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);

View File

@@ -1,30 +0,0 @@
'use strict';
var bcrypt = require('bcryptjs');
process.on('message', function(m) {
if (m.type === 'hash') {
hash(m.rounds, m.password);
} else if (m.type === 'compare') {
compare(m.password, m.hash);
}
});
function hash(rounds, password) {
bcrypt.genSalt(rounds, function(err, salt) {
if (err) {
return process.send({type:'hash', err: {message: err.message}});
}
bcrypt.hash(password, salt, function(err, hash) {
process.send({type:'hash', err: err ? {message: err.message} : null, hash: hash, password: password});
});
});
}
function compare(password, hash) {
bcrypt.compare(password, hash, function(err, res) {
process.send({type:'compare', err: err ? {message: err.message} : null, hash: hash, password: password, result: res});
});
}

View File

@@ -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,11 +68,11 @@
"value": 256
},
{
"field": "profileImageDimension",
"value": 128
"field": "chatMessagesToDisplay",
"value": 50
},
{
"field": "requireEmailConfirmation",
"value": 0
}
]
]

264
loader.js
View File

@@ -2,209 +2,81 @@
var nconf = require('nconf'),
fs = require('fs'),
path = require('path'),
cluster = require('cluster'),
async = require('async'),
logrotate = require('logrotate-stream'),
pidFilePath = __dirname + '/pidfile',
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
silent = process.env.NODE_ENV !== 'development' ? true : false,
numCPUs,
Loader = {
timesStarted: 0,
shutdown_queue: [],
js: {
cache: undefined,
map: undefined
},
css: {
cache: undefined,
acpCache: undefined
}
};
Loader.init = function() {
cluster.setupMaster({
exec: "app.js",
silent: silent
});
if (silent) {
console.log = function(value) {
output.write(value + '\n');
};
}
cluster.on('fork', function(worker) {
worker.on('message', function(message) {
if (message && typeof message === 'object' && message.action) {
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
});
}
worker.send('bind');
// 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;
var 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;
var 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':
notifyWorkers(message);
break;
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();
}
}
});
});
cluster.on('listening', function(worker) {
console.log('[cluster] Child Process (' + worker.process.pid + ') listening for connections.');
});
function notifyWorkers(msg) {
Object.keys(cluster.workers).forEach(function(id) {
cluster.workers[id].send(msg);
});
}
cluster.on('exit', function(worker, code, signal) {
if (code !== 0) {
if (Loader.timesStarted < numCPUs*3) {
Loader.timesStarted++;
if (Loader.crashTimer) {
clearTimeout(Loader.crashTimer);
timesStarted++;
if (startTimer) {
clearTimeout(startTimer);
}
Loader.crashTimer = setTimeout(function() {
Loader.timesStarted = 0;
startTimer = setTimeout(resetTimer, 1000*10);
nbb = fork('./app', process.argv.slice(2), {
env: process.env
});
} else {
console.log(numCPUs*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...')
nbb.on('message', function(message) {
if (message && typeof message === 'object' && message.action) {
if (message.action === 'restart') {
nbb_restart();
}
}
});
var wasPrimary = parseInt(worker.id, 10) === Loader.primaryWorker;
cluster.fork({
handle_jobs: wasPrimary
});
}
});
nbb.on('exit', function(code, signal) {
if (code) {
nbb_start();
} else {
nbb_stop();
}
});
},
nbb_stop = function() {
if (startTimer) {
clearTimeout(startTimer);
}
process.on('SIGHUP', Loader.restart);
nbb.kill();
if (fs.existsSync(pidFilePath)) {
var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10);
if (process.pid === pid) {
fs.unlinkSync(pidFilePath);
}
}
},
nbb_restart = function() {
nbb.removeAllListeners('exit').on('exit', function() {
nbb_start();
});
nbb.kill();
},
resetTimer = function() {
clearTimeout(startTimer);
timesStarted = 0;
},
timesStarted = 0,
startTimer;
Loader.start();
};
process.on('SIGINT', nbb_stop);
process.on('SIGTERM', nbb_stop);
process.on('SIGHUP', nbb_restart);
Loader.start = function() {
var worker;
nbb_start();
},
nbb;
Loader.primaryWorker = 1;
for(var x=0;x<numCPUs;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);
}
}
}
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'
});
});
};
nconf.argv().file({
file: path.join(__dirname, '/config.json')
});
numCPUs = nconf.get('cluster') || 1;
numCPUs = (numCPUs === true) ? require('os').cpus().length : numCPUs;
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' });
@@ -215,9 +87,13 @@ if (nconf.get('daemon') !== false) {
}
}
require('daemon')();
// Daemonize and record new pid
require('daemon')({
stdout: output
});
fs.writeFile(__dirname + '/pidfile', process.pid);
}
Loader.init();
start();
} else {
start();
}

View File

@@ -13,10 +13,8 @@ var uglifyjs = require('uglify-js'),
};
/* 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);
@@ -25,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;
}
@@ -58,7 +56,7 @@ 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',

View File

@@ -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();

5
nodebb
View File

@@ -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 "$@"
;;

622
npm-shrinkwrap.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "nodebb",
"version": "0.5.1",
"version": "0.5.0",
"dependencies": {
"async": {
"version": "0.9.0",
@@ -13,9 +13,9 @@
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.0.2.tgz"
},
"body-parser": {
"version": "1.9.0",
"version": "1.8.2",
"from": "body-parser@^1.0.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.9.0.tgz",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.8.2.tgz",
"dependencies": {
"bytes": {
"version": "1.0.0",
@@ -23,9 +23,9 @@
"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz"
},
"depd": {
"version": "1.0.0",
"from": "depd@~1.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.0.0.tgz"
"version": "0.4.5",
"from": "depd@0.4.5",
"resolved": "https://registry.npmjs.org/depd/-/depd-0.4.5.tgz"
},
"iconv-lite": {
"version": "0.4.4",
@@ -50,9 +50,9 @@
}
},
"qs": {
"version": "2.2.4",
"from": "qs@2.2.4",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.2.4.tgz"
"version": "2.2.3",
"from": "qs@~2.2.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.2.3.tgz"
},
"raw-body": {
"version": "1.3.0",
@@ -60,19 +60,19 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz"
},
"type-is": {
"version": "1.5.2",
"version": "1.5.1",
"from": "type-is@~1.5.1",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.5.2.tgz",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.5.1.tgz",
"dependencies": {
"mime-types": {
"version": "2.0.2",
"from": "mime-types@~2.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.2.tgz",
"version": "2.0.1",
"from": "mime-types@~2.0.1",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.1.tgz",
"dependencies": {
"mime-db": {
"version": "1.1.0",
"from": "mime-db@~1.1.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.1.0.tgz"
"version": "1.0.1",
"from": "mime-db@~1.0.1",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz"
}
}
}
@@ -86,26 +86,26 @@
"resolved": "https://registry.npmjs.org/compression/-/compression-1.1.0.tgz",
"dependencies": {
"accepts": {
"version": "1.1.1",
"version": "1.1.0",
"from": "accepts@~1.1.0",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.1.0.tgz",
"dependencies": {
"mime-types": {
"version": "2.0.2",
"from": "mime-types@~2.0.2",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.2.tgz",
"version": "2.0.1",
"from": "mime-types@~2.0.1",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.1.tgz",
"dependencies": {
"mime-db": {
"version": "1.1.0",
"from": "mime-db@~1.1.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.1.0.tgz"
"version": "1.0.1",
"from": "mime-db@~1.0.1",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz"
}
}
},
"negotiator": {
"version": "0.4.8",
"from": "negotiator@0.4.8",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.8.tgz"
"version": "0.4.7",
"from": "negotiator@0.4.7",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz"
}
}
},
@@ -120,9 +120,9 @@
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.0.tgz",
"dependencies": {
"mime-db": {
"version": "1.0.3",
"version": "1.0.1",
"from": "mime-db@~1.0.1",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.0.3.tgz"
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.0.1.tgz"
}
}
},
@@ -150,11 +150,6 @@
}
}
},
"connect-ensure-login": {
"version": "0.1.1",
"from": "connect-ensure-login@^0.1.1",
"resolved": "https://registry.npmjs.org/connect-ensure-login/-/connect-ensure-login-0.1.1.tgz"
},
"connect-flash": {
"version": "0.1.1",
"from": "connect-flash@^0.1.1",
@@ -217,9 +212,9 @@
}
},
"qs": {
"version": "2.2.4",
"from": "qs@2.2.4",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.2.4.tgz"
"version": "2.2.3",
"from": "qs@~2.2.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-2.2.3.tgz"
},
"type-is": {
"version": "1.3.2",
@@ -258,9 +253,9 @@
}
},
"cron": {
"version": "1.0.5",
"version": "1.0.4",
"from": "cron@~1.0.4",
"resolved": "https://registry.npmjs.org/cron/-/cron-1.0.5.tgz"
"resolved": "https://registry.npmjs.org/cron/-/cron-1.0.4.tgz"
},
"csurf": {
"version": "1.6.1",
@@ -435,7 +430,7 @@
},
"mime": {
"version": "1.2.11",
"from": "mime@~1.2.11",
"from": "mime@1.2.11",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
},
"ms": {
@@ -548,7 +543,7 @@
},
"uid-safe": {
"version": "1.0.1",
"from": "uid-safe@~1.0.1",
"from": "uid-safe@1.0.1",
"resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz",
"dependencies": {
"mz": {
@@ -787,40 +782,6 @@
}
}
},
"logrotate-stream": {
"version": "0.2.3",
"from": "logrotate-stream@^0.2.3",
"resolved": "https://registry.npmjs.org/logrotate-stream/-/logrotate-stream-0.2.3.tgz",
"dependencies": {
"byt": {
"version": "0.1.0",
"from": "byt@~0.1.0",
"resolved": "https://registry.npmjs.org/byt/-/byt-0.1.0.tgz"
},
"log-rotate": {
"version": "0.2.7",
"from": "log-rotate@~0.2.2",
"resolved": "https://registry.npmjs.org/log-rotate/-/log-rotate-0.2.7.tgz"
},
"optimist": {
"version": "0.6.1",
"from": "optimist@~0.6.0",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"dependencies": {
"wordwrap": {
"version": "0.0.2",
"from": "wordwrap@~0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
},
"minimist": {
"version": "0.0.10",
"from": "minimist@~0.0.1",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"
}
}
}
}
},
"mkdirp": {
"version": "0.5.0",
"from": "mkdirp@~0.5.0",
@@ -834,9 +795,9 @@
}
},
"morgan": {
"version": "1.3.2",
"version": "1.3.1",
"from": "morgan@^1.0.0",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.3.2.tgz",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.3.1.tgz",
"dependencies": {
"basic-auth": {
"version": "1.0.0",
@@ -909,19 +870,111 @@
}
},
"nodebb-plugin-markdown": {
"version": "0.6.4",
"from": "nodebb-plugin-markdown@~0.6.3",
"version": "0.5.0-2",
"from": "nodebb-plugin-markdown@~0.5.0",
"resolved": "https://registry.npmjs.org/nodebb-plugin-markdown/-/nodebb-plugin-markdown-0.5.0-2.tgz",
"dependencies": {
"marked": {
"version": "0.3.2",
"from": "marked@~0.3.2",
"resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz"
},
"pygmentize-bundled": {
"version": "2.1.1",
"from": "pygmentize-bundled@~2.1.0",
"resolved": "https://registry.npmjs.org/pygmentize-bundled/-/pygmentize-bundled-2.1.1.tgz",
"dependencies": {
"mkdirp": {
"version": "0.3.5",
"from": "mkdirp@~0.3.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"
},
"readable-stream": {
"version": "1.0.31",
"from": "readable-stream@~1.0.17",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz",
"dependencies": {
"core-util-is": {
"version": "1.0.1",
"from": "core-util-is@~1.0.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
"isarray": {
"version": "0.0.1",
"from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"string_decoder": {
"version": "0.10.31",
"from": "string_decoder@~0.10.x",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
"inherits": {
"version": "2.0.1",
"from": "inherits@~2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
}
}
},
"bl": {
"version": "0.4.2",
"from": "bl@~0.4.1",
"resolved": "https://registry.npmjs.org/bl/-/bl-0.4.2.tgz"
},
"through2": {
"version": "0.2.3",
"from": "through2@~0.2.1",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
"dependencies": {
"readable-stream": {
"version": "1.1.13",
"from": "readable-stream@~1.1.9",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz",
"dependencies": {
"core-util-is": {
"version": "1.0.1",
"from": "core-util-is@~1.0.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
"isarray": {
"version": "0.0.1",
"from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"string_decoder": {
"version": "0.10.31",
"from": "string_decoder@~0.10.x",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
"inherits": {
"version": "2.0.1",
"from": "inherits@~2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
}
}
},
"xtend": {
"version": "2.1.2",
"from": "xtend@~2.1.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
"dependencies": {
"object-keys": {
"version": "0.4.0",
"from": "object-keys@~0.4.0",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
}
}
}
}
}
}
}
}
},
"nodebb-plugin-mentions": {
"version": "0.6.2",
"from": "nodebb-plugin-mentions@~0.6.0",
"version": "0.5.0-8",
"from": "nodebb-plugin-mentions@~0.5.0",
"resolved": "https://registry.npmjs.org/nodebb-plugin-mentions/-/nodebb-plugin-mentions-0.5.0-8.tgz",
"dependencies": {
"async": {
"version": "0.2.10",
@@ -936,18 +989,17 @@
"resolved": "https://registry.npmjs.org/nodebb-plugin-soundpack-default/-/nodebb-plugin-soundpack-default-0.1.1.tgz"
},
"nodebb-theme-lavender": {
"version": "0.1.8",
"from": "nodebb-theme-lavender@~0.1.0"
"version": "0.0.79",
"from": "nodebb-theme-lavender@~0.0.74"
},
"nodebb-theme-vanilla": {
"version": "0.1.9",
"from": "nodebb-theme-vanilla@~0.1.0",
"resolved": "https://registry.npmjs.org/nodebb-theme-vanilla/-/nodebb-theme-vanilla-0.1.9.tgz"
"version": "0.0.137",
"from": "nodebb-theme-vanilla@~0.0.111"
},
"nodebb-widget-essentials": {
"version": "0.1.1",
"from": "nodebb-widget-essentials@~0.1.1",
"resolved": "https://registry.npmjs.org/nodebb-widget-essentials/-/nodebb-widget-essentials-0.1.1.tgz",
"version": "0.1.0-6",
"from": "nodebb-widget-essentials@~0.1.0",
"resolved": "https://registry.npmjs.org/nodebb-widget-essentials/-/nodebb-widget-essentials-0.1.0-6.tgz",
"dependencies": {
"async": {
"version": "0.2.10",
@@ -962,9 +1014,9 @@
}
},
"npm": {
"version": "1.5.0-alpha-4",
"version": "1.4.27",
"from": "npm@^1.4.6",
"resolved": "https://registry.npmjs.org/npm/-/npm-1.5.0-alpha-4.tgz",
"resolved": "https://registry.npmjs.org/npm/-/npm-1.4.27.tgz",
"dependencies": {
"abbrev": {
"version": "1.0.5",
@@ -989,24 +1041,6 @@
"version": "0.0.2",
"from": "archy@0.0.2"
},
"async-some": {
"version": "1.0.0",
"from": "async-some@*",
"dependencies": {
"dezalgo": {
"version": "1.0.0",
"from": "dezalgo@>=1.0.0-0 <2.0.0-0",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.0.tgz",
"dependencies": {
"asap": {
"version": "1.0.0",
"from": "asap@>=1.0.0-0 <2.0.0-0",
"resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz"
}
}
}
}
},
"block-stream": {
"version": "0.0.7",
"from": "block-stream@latest"
@@ -1030,36 +1064,43 @@
"from": "../chownr"
},
"cmd-shim": {
"version": "1.1.1",
"from": "cmd-shim@latest",
"resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.1.tgz"
"version": "2.0.0",
"from": "git://github.com/othiym23/cmd-shim",
"resolved": "git://github.com/othiym23/cmd-shim#12de64ca97f45ac600910092f19afacc3d5376dd"
},
"columnify": {
"version": "1.1.0",
"from": "columnify@latest",
"resolved": "https://registry.npmjs.org/columnify/-/columnify-1.1.0.tgz",
"version": "1.2.1",
"from": "columnify@^1.2.1",
"resolved": "https://registry.npmjs.org/columnify/-/columnify-1.2.1.tgz",
"dependencies": {
"strip-ansi": {
"version": "0.2.2",
"from": "strip-ansi@^0.2.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz",
"version": "1.0.0",
"from": "strip-ansi@^1.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-1.0.0.tgz",
"dependencies": {
"ansi-regex": {
"version": "0.1.0",
"from": "ansi-regex@^0.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz"
"version": "0.2.1",
"from": "ansi-regex@^0.2.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz"
}
}
},
"wcwidth.js": {
"version": "0.0.4",
"from": "wcwidth.js@~0.0.4",
"resolved": "https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.4.tgz",
"wcwidth": {
"version": "1.0.0",
"from": "wcwidth@^1.0.0",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz",
"dependencies": {
"underscore": {
"version": "1.6.0",
"from": "underscore@>= 1.3.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"
"defaults": {
"version": "1.0.0",
"from": "defaults@^1.0.0",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.0.tgz",
"dependencies": {
"clone": {
"version": "0.1.18",
"from": "clone@~0.1.5",
"resolved": "https://registry.npmjs.org/clone/-/clone-0.1.18.tgz"
}
}
}
}
}
@@ -1070,38 +1111,34 @@
"from": "editor@latest",
"resolved": "https://registry.npmjs.org/editor/-/editor-0.1.0.tgz"
},
"fs-vacuum": {
"version": "1.2.1",
"from": "fs-vacuum@>=1.2.1-0 <1.3.0-0"
},
"fstream": {
"version": "0.1.28",
"from": "fstream@~0.1.27"
"version": "1.0.2",
"from": "fstream@latest"
},
"fstream-npm": {
"version": "0.1.7",
"version": "1.0.0",
"from": "fstream-npm@latest",
"dependencies": {
"fstream-ignore": {
"version": "0.0.8",
"from": "fstream-ignore@~0.0",
"resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.8.tgz"
"version": "1.0.1",
"from": "fstream-ignore@^1.0.0"
}
}
},
"github-url-from-git": {
"version": "1.1.1",
"from": "github-url-from-git@1.1.1",
"resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz"
"version": "1.4.0",
"from": "github-url-from-git@^1.4.0",
"resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz"
},
"github-url-from-username-repo": {
"version": "0.2.0",
"from": "github-url-from-username-repo@latest",
"resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.2.0.tgz"
"version": "1.0.0",
"from": "github-url-from-username-repo@^1.0.0",
"resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.0.tgz"
},
"glob": {
"version": "4.0.3",
"from": "glob@latest"
"version": "4.0.5",
"from": "glob@latest",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.0.5.tgz"
},
"graceful-fs": {
"version": "3.0.2",
@@ -1119,29 +1156,29 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.2.1.tgz"
},
"init-package-json": {
"version": "0.1.1",
"from": "init-package-json@latest",
"version": "1.0.0",
"from": "init-package-json@1.0.0",
"resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.0.0.tgz",
"dependencies": {
"promzard": {
"version": "0.2.2",
"from": "promzard@>=0.2.0-0 <0.3.0-0",
"from": "promzard@~0.2.0",
"resolved": "https://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz"
}
}
},
"lockfile": {
"version": "0.4.2",
"from": "lockfile@0.4.2",
"resolved": "https://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz"
"version": "1.0.0",
"from": "lockfile@latest"
},
"lru-cache": {
"version": "2.5.0",
"from": "lru-cache@latest"
},
"minimatch": {
"version": "0.3.0",
"version": "1.0.0",
"from": "minimatch@latest",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
"dependencies": {
"sigmund": {
"version": "1.0.0",
@@ -1151,13 +1188,20 @@
}
},
"mkdirp": {
"version": "0.3.5",
"from": "mkdirp@latest"
"version": "0.5.0",
"from": "mkdirp@latest",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
"dependencies": {
"minimist": {
"version": "0.0.8",
"from": "minimist@0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
}
}
},
"node-gyp": {
"version": "0.13.1",
"from": "node-gyp@~0.13.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-0.13.1.tgz"
"version": "1.0.1",
"from": "node-gyp@latest"
},
"nopt": {
"version": "3.0.1",
@@ -1172,33 +1216,26 @@
"version": "1.0.2",
"from": "npm-install-checks@latest"
},
"npm-package-arg": {
"version": "2.0.0",
"from": "npm-package-arg@>=2.0.0-0 <2.1.0-0",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-2.0.0.tgz"
},
"npm-registry-client": {
"version": "3.0.2",
"from": "npm-registry-client@3.0.2",
"resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-3.0.2.tgz"
"version": "2.0.7",
"from": "npm-registry-client@^2.0.7"
},
"npm-user-validate": {
"version": "0.1.0",
"from": "npm-user-validate@latest"
},
"npmconf": {
"version": "2.0.3",
"from": "npmconf@2.0.3",
"resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.0.3.tgz",
"version": "1.1.8",
"from": "npmconf@^1.1.8",
"dependencies": {
"config-chain": {
"version": "1.1.8",
"from": "config-chain@>=1.1.8-0 <1.2.0-0",
"from": "config-chain@~1.1.8",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz",
"dependencies": {
"proto-list": {
"version": "1.2.3",
"from": "proto-list@>=1.2.1-0 <1.3.0-0",
"from": "proto-list@~1.2.1",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz"
}
}
@@ -1248,115 +1285,190 @@
}
},
"read-package-json": {
"version": "1.2.3",
"from": "read-package-json@1.2.3",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-1.2.3.tgz"
"version": "1.2.7",
"from": "read-package-json@^1.2.7",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-1.2.7.tgz",
"dependencies": {
"normalize-package-data": {
"version": "1.0.1",
"from": "normalize-package-data@^1.0.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-1.0.1.tgz"
}
}
},
"request": {
"version": "2.30.0",
"from": "request@latest",
"version": "2.42.0",
"from": "request@^2.42.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.42.0.tgz",
"dependencies": {
"bl": {
"version": "0.9.1",
"from": "bl@~0.9.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-0.9.1.tgz",
"dependencies": {
"readable-stream": {
"version": "1.0.31",
"from": "readable-stream@~1.0.26",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz",
"dependencies": {
"core-util-is": {
"version": "1.0.1",
"from": "core-util-is@~1.0.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
"isarray": {
"version": "0.0.1",
"from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"string_decoder": {
"version": "0.10.31",
"from": "string_decoder@~0.10.x",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
}
}
}
}
},
"caseless": {
"version": "0.6.0",
"from": "caseless@~0.6.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz"
},
"forever-agent": {
"version": "0.5.2",
"from": "forever-agent@~0.5.0",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
},
"qs": {
"version": "0.6.6",
"from": "qs@~0.6.0"
"version": "1.2.2",
"from": "qs@~1.2.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz"
},
"json-stringify-safe": {
"version": "5.0.0",
"from": "json-stringify-safe@~5.0.0"
"from": "json-stringify-safe@~5.0.0",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
},
"forever-agent": {
"version": "0.5.0",
"from": "forever-agent@~0.5.0"
"mime-types": {
"version": "1.0.2",
"from": "mime-types@~1.0.1",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz"
},
"node-uuid": {
"version": "1.4.1",
"from": "node-uuid@~1.4.0"
"from": "node-uuid@~1.4.0",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
},
"mime": {
"version": "1.2.11",
"from": "mime@~1.2.9"
"tunnel-agent": {
"version": "0.4.0",
"from": "tunnel-agent@~0.4.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz"
},
"tough-cookie": {
"version": "0.9.15",
"from": "tough-cookie@~0.9.15",
"version": "0.12.1",
"from": "tough-cookie@>=0.12.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz",
"dependencies": {
"punycode": {
"version": "1.2.3",
"from": "punycode@>=0.2.0"
"version": "1.3.1",
"from": "punycode@>=0.2.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz"
}
}
},
"form-data": {
"version": "0.1.2",
"version": "0.1.4",
"from": "form-data@~0.1.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"dependencies": {
"combined-stream": {
"version": "0.0.4",
"version": "0.0.5",
"from": "combined-stream@~0.0.4",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz",
"dependencies": {
"delayed-stream": {
"version": "0.0.5",
"from": "delayed-stream@0.0.5"
"from": "delayed-stream@0.0.5",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
}
}
},
"mime": {
"version": "1.2.11",
"from": "mime@~1.2.11",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
},
"async": {
"version": "0.2.9",
"from": "async@~0.2.9"
"version": "0.9.0",
"from": "async@~0.9.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
}
}
},
"tunnel-agent": {
"version": "0.3.0",
"from": "tunnel-agent@~0.3.0"
},
"http-signature": {
"version": "0.10.0",
"from": "http-signature@~0.10.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz",
"dependencies": {
"assert-plus": {
"version": "0.1.2",
"from": "assert-plus@0.1.2"
"from": "assert-plus@0.1.2",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
},
"asn1": {
"version": "0.1.11",
"from": "asn1@0.1.11"
"from": "asn1@0.1.11",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
},
"ctype": {
"version": "0.5.2",
"from": "ctype@0.5.2"
"from": "ctype@0.5.2",
"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
}
}
},
"oauth-sign": {
"version": "0.3.0",
"from": "oauth-sign@~0.3.0"
"version": "0.4.0",
"from": "oauth-sign@~0.4.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz"
},
"hawk": {
"version": "1.0.0",
"from": "hawk@~1.0.0",
"version": "1.1.1",
"from": "hawk@1.1.1",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
"dependencies": {
"hoek": {
"version": "0.9.1",
"from": "hoek@0.9.x"
"from": "hoek@0.9.x",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
},
"boom": {
"version": "0.4.2",
"from": "boom@0.4.x"
"from": "boom@0.4.x",
"resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
},
"cryptiles": {
"version": "0.2.2",
"from": "cryptiles@0.2.x"
"from": "cryptiles@0.2.x",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
},
"sntp": {
"version": "0.2.4",
"from": "sntp@0.2.x"
"from": "sntp@0.2.x",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
}
}
},
"aws-sign2": {
"version": "0.5.0",
"from": "aws-sign2@~0.5.0"
"from": "aws-sign2@~0.5.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
},
"stringstream": {
"version": "0.0.4",
"from": "stringstream@~0.0.4",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
}
}
},
@@ -1411,8 +1523,8 @@
"from": "sorted-object@"
},
"tar": {
"version": "0.1.20",
"from": "tar@~0.1.19"
"version": "1.0.1",
"from": "tar@latest"
},
"text-table": {
"version": "0.2.0",
@@ -1430,10 +1542,6 @@
"inherits": {
"version": "2.0.1",
"from": "inherits@"
},
"normalize-package-data": {
"version": "0.4.1",
"from": "normalize-package-data@0.4.1"
}
}
},
@@ -1767,14 +1875,14 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz"
},
"serve-favicon": {
"version": "2.1.5",
"version": "2.1.4",
"from": "serve-favicon@^2.0.1",
"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.1.5.tgz",
"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.1.4.tgz",
"dependencies": {
"etag": {
"version": "1.4.0",
"from": "etag@~1.4.0",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.4.0.tgz",
"version": "1.3.1",
"from": "etag@~1.3.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.3.1.tgz",
"dependencies": {
"crc": {
"version": "3.0.0",
@@ -1802,7 +1910,7 @@
},
"socket.io": {
"version": "0.9.17",
"from": "socket.io@0.9.17",
"from": "socket.io@~0.9.16",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz",
"dependencies": {
"socket.io-client": {
@@ -1878,62 +1986,6 @@
}
}
},
"socket.io-client": {
"version": "0.9.17",
"from": "socket.io-client@0.9.17",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.17.tgz",
"dependencies": {
"uglify-js": {
"version": "1.2.5",
"from": "uglify-js@1.2.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz"
},
"ws": {
"version": "0.4.32",
"from": "ws@0.4.x",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz",
"dependencies": {
"commander": {
"version": "2.1.0",
"from": "commander@~2.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz"
},
"nan": {
"version": "1.0.0",
"from": "nan@~1.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz"
},
"tinycolor": {
"version": "0.0.1",
"from": "tinycolor@0.x",
"resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz"
},
"options": {
"version": "0.0.5",
"from": "options@>=0.0.5",
"resolved": "https://registry.npmjs.org/options/-/options-0.0.5.tgz"
}
}
},
"xmlhttprequest": {
"version": "1.4.2",
"from": "xmlhttprequest@1.4.2",
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz"
},
"active-x-obfuscator": {
"version": "0.0.1",
"from": "active-x-obfuscator@0.0.1",
"resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz",
"dependencies": {
"zeparser": {
"version": "0.0.5",
"from": "zeparser@0.0.5",
"resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz"
}
}
}
}
},
"socket.io-wildcard": {
"version": "0.1.1",
"from": "socket.io-wildcard@~0.1.1",
@@ -1945,9 +1997,9 @@
"resolved": "https://registry.npmjs.org/string/-/string-1.9.1.tgz"
},
"templates.js": {
"version": "0.0.14",
"from": "templates.js@0.0.14",
"resolved": "https://registry.npmjs.org/templates.js/-/templates.js-0.0.14.tgz"
"version": "0.0.13",
"from": "templates.js@0.0.13",
"resolved": "https://registry.npmjs.org/templates.js/-/templates.js-0.0.13.tgz"
},
"uglify-js": {
"version": "2.4.15",

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPLv3 or later",
"description": "NodeBB Forum",
"version": "0.5.1",
"version": "0.5.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -17,31 +17,30 @@
"dependencies": {
"async": "~0.9.0",
"bcryptjs": "~2.0.1",
"body-parser": "^1.0.1",
"compression": "^1.0.1",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-multiparty": "^1.0.1",
"cookie-parser": "^1.0.1",
"cron": "~1.0.4",
"csurf": "^1.1.0",
"daemon": "~1.1.0",
"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.0.6",
"less": "~1.7.3",
"logrotate-stream": "^0.2.3",
"mkdirp": "~0.5.0",
"morgan": "^1.0.0",
"nconf": "~0.6.7",
"nodebb-plugin-dbsearch": "0.0.13",
"nodebb-plugin-markdown": "~0.6.3",
"nodebb-plugin-mentions": "~0.6.0",
"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",
"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",
@@ -50,18 +49,16 @@
"rimraf": "~2.2.6",
"rss": "~0.3.2",
"semver": "~2.3.1",
"serve-favicon": "^2.0.1",
"sitemap": "~0.7.3",
"socket.io": "0.9.17",
"socket.io-client": "0.9.17",
"socket.io": "~0.9.16",
"socket.io-wildcard": "~0.1.1",
"string": "~1.9.0",
"templates.js": "0.0.14",
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
"underscore": "~1.6.0",
"validator": "~3.16.1",
"winston": "~0.7.2",
"xregexp": "~2.0.0"
"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: 861 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

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

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -55,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"
}

View File

@@ -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?"

View File

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

View File

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

View File

@@ -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)"
}

View File

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

View File

@@ -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": "موقع",
@@ -52,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.",
@@ -64,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?"
}

View File

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

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -55,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"
}

View File

@@ -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?"

View File

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

View File

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

View File

@@ -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)"
}

View File

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

View File

@@ -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",
@@ -52,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.",
@@ -64,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?"
}

View File

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

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -55,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."
}

View File

@@ -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?"

View File

@@ -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> hat deinen Beitrag verschoben.",
"moved_your_topic": "<strong>%1</strong> hat dein Thema verschoben.",
"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 ...",

View File

@@ -5,7 +5,7 @@
"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",

View File

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

View File

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

View File

@@ -71,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",
@@ -87,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",

View File

@@ -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",
@@ -52,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.",
@@ -64,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?"
}

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>Thar be no topics in 'tis category.</strong><br />Why don't ye give a go' postin' one?",
"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"
}

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -55,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"
}

View File

@@ -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?"

View File

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

View File

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

View File

@@ -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)"
}

View File

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

View File

@@ -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",
@@ -52,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.",
@@ -64,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?"
}

View File

@@ -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"
}

View File

@@ -17,15 +17,10 @@
"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!"
}

View File

@@ -15,8 +15,6 @@
"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",
@@ -25,10 +23,8 @@
"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",
@@ -79,10 +75,5 @@
"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"
}

View File

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

View File

@@ -12,14 +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_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.",

View File

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

View File

@@ -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)"
}

View File

@@ -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."
}

View File

@@ -33,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.",
@@ -43,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",
@@ -58,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",
@@ -88,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": "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",

View File

@@ -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!",
@@ -58,7 +55,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 :(",
@@ -75,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?"
}

View File

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

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -55,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"
}

View File

@@ -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?"

View File

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

View File

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

View File

@@ -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)"
}

View File

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

View File

@@ -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",
@@ -52,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.",
@@ -64,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?"
}

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />¿Por que no te animas y publicas uno?",
"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"
}

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -28,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.",
@@ -55,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"
}

View File

@@ -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"
}

View File

@@ -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?"

View File

@@ -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> ha movido su publicación.",
"moved_your_topic": "<strong>%1<strong> ha movido su tema.",
"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ó...",

View File

@@ -5,7 +5,7 @@
"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",

View File

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

View File

@@ -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)"
}

View File

@@ -71,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",
@@ -87,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",

View File

@@ -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",
@@ -52,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.",
@@ -64,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?"
}

View File

@@ -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"
}

View File

@@ -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!"
}

View File

@@ -12,15 +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-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",
@@ -55,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."
}

View File

@@ -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?"

View File

@@ -10,14 +10,11 @@
"new_notification": "Uus teade",
"you_have_unread_notifications": "Sul ei ole lugemata teateid.",
"new_message_from": "Uus sõnum kasutajalt <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> hääletas sinu postituse poolt.",
"favourited_your_post": "<strong>%1</strong> märkis sinu postituse lemmikuks.",
"user_flagged_post": "<strong>%1</strong> märgistas postituse.",
"user_posted_to": "Kasutaja <strong>%1</strong> postitas vastuse teemasse <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mainis sind postituses <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "Emaili aadress kinnitatud",
"email-confirmed-message": "Täname, et kinnitasite oma emaili aadressi. Teie kasutaja omn nüüd täielikult aktiveeritud.",
"email-confirm-error": "Süsteemis tekkis viga...",

View File

@@ -4,6 +4,5 @@
"week": "Nädal",
"month": "Kuu",
"year": "Aasta",
"alltime": "All Time",
"no_recent_topics": "Hetkel ei ole hiljutisi teemasid."
}

View File

@@ -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)"
}

View File

@@ -71,7 +71,7 @@
"topic_will_be_moved_to": "See teema liigutatakse antud kategooriasse",
"fork_topic_instruction": "Vajuta postitustele, mida soovid forkida",
"fork_no_pids": "Sa ei ole postitusi valinud!",
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.",
"fork_success": "Edukalt forkisid teema!",
"composer.title_placeholder": "Sisesta teema pealkiri siia...",
"composer.discard": "Katkesta",
"composer.submit": "Postita",

View File

@@ -4,8 +4,6 @@
"username": "Kasutajanimi",
"email": "Email",
"confirm_email": "Kinnita 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": "Täisnimi",
"website": "Koduleht",
"location": "Asukoht",
@@ -52,7 +50,6 @@
"digest_daily": "Igapäevaselt",
"digest_weekly": "Iga nädal",
"digest_monthly": "Iga kuu",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"has_no_follower": "Sellel kasutajal pole ühtegi jälgijat :(",
"follows_no_one": "See kasutaja ei jälgi kedagi :(",
"has_no_posts": "See kasutaja pole midagi postitanud veel.",
@@ -64,7 +61,5 @@
"posts_per_page": "Postitusi ühe lehekülje kohta",
"notification_sounds": "Tee häält, kui saabub teade.",
"browsing": "Sirvimis sätted",
"open_links_in_new_tab": "Ava väljaminevad lingid uues vaheaknas?",
"follow_topics_you_reply_to": "Follow topics that you reply to.",
"follow_topics_you_create": "Follow topics you create."
"open_links_in_new_tab": "Ava väljaminevad lingid uues vaheaknas?"
}

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>هیچ جستاری در این دسته نیست.</strong><br />چرا شما یکی نفرستید؟",
"browsing": "بیننده‌ها",
"no_replies": "هیچ کسی پاسخ نداده است.",
"share_this_category": "به اشتراک‌گذاری این دسته",
"ignore": "Ignore"
"share_this_category": "به اشتراک‌گذاری این دسته"
}

View File

@@ -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!"
}

View File

@@ -12,15 +12,12 @@
"invalid-title": "عنوان نامعتبر است!",
"invalid-user-data": "داده‌های کاربری نامعتبر است.",
"invalid-password": "گذرواژه نامعتبر است.",
"invalid-username-or-password": "Please specify both a username and password",
"invalid-pagination-value": "عدد صفحه‌بندی نامعتبر است.",
"username-taken": "این نام کاربری گرفته شده است.",
"email-taken": "این رایانامه گرفته شده است.",
"email-not-confirmed": "رایانامه شما تأیید نشده است، لطفاً برای تأیید رایانامه‌تان اینجا را بفشارید.",
"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": "چنین دسته‌ای وجود ندارد.",
"no-topic": "چنین جستاری وجود ندارد.",
"no-post": "چنین دیدگاهی وجود ندارد.",
@@ -55,9 +52,5 @@
"upload-error": "خطای بارگذاری: %1",
"signature-too-long": "امضا نمی‌تواند بیش‌تر از %1 نویسه داشته باشد.",
"cant-chat-with-yourself": "شما نمی‌توانید با خودتان گفتگو کنید!",
"reputation-system-disabled": "Reputation system is disabled.",
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "شما اعتبار کافی برای دادن رای منفی به این دیدگاه را ندارید.",
"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": "شما اعتبار کافی برای دادن رای منفی به این دیدگاه را ندارید."
}

View File

@@ -12,10 +12,6 @@
"chat.message-history": "تاریخچه پیام‌ها",
"chat.pop-out": "Pop out chat",
"chat.maximize": "تمام صفحه",
"chat.yesterday": "Yesterday",
"chat.seven_days": "7 Days",
"chat.thirty_days": "30 Days",
"chat.three_months": "3 Months",
"composer.user_said_in": "%1 در %2 گفته است:",
"composer.user_said": "%1 گفته است:",
"composer.discard": "آیا از دور انداختن این دیدگاه اطمینان دارید؟"

View File

@@ -10,14 +10,11 @@
"new_notification": "آکاه‌سازی تازه",
"you_have_unread_notifications": "شما آگاه‌سازی‌های نخوانده دارید.",
"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> به دیدگاه شما رای داده است.",
"favourited_your_post": "<strong>%1</strong> دیدگاه شما را پسندیده است.",
"user_flagged_post": "پرچم خوردن یک دیدگاه از سوی <strong>%1</strong>",
"user_posted_to": "پاسخ دادن به <strong>%2</strong> از سوی <strong>%1</strong>",
"user_mentioned_you_in": "%1 در %2 به شما اشاره کرد",
"user_started_following_you": "<strong>%1</strong> started following you.",
"email-confirmed": "رایانامه تایید شد",
"email-confirmed-message": "بابت تایید ایمیلتان سپاس‌گزاریم. حساب کاربری شما اکنون به صورت کامل فعال شده است.",
"email-confirm-error": "خطایی پیش آمده است...",

View File

@@ -4,6 +4,5 @@
"week": "هفته",
"month": "ماه",
"year": "سال",
"alltime": "All Time",
"no_recent_topics": "هیچ جستار تازه‌ای نیست."
}

View File

@@ -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)"
}

View File

@@ -71,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": "سرنویس جستارتان را اینجا بنویسید...",
"composer.discard": "دور بیانداز",
"composer.submit": "بفرست",

View File

@@ -4,8 +4,6 @@
"username": "نام کاربری",
"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": "محل سکونت",
@@ -52,7 +50,6 @@
"digest_daily": "روزانه",
"digest_weekly": "هفتگی",
"digest_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": "این کاربر هنوز هیچ دیدگاهی نگذاشته است.",
@@ -64,7 +61,5 @@
"posts_per_page": "شمار دیدگاه‌ها در هر برگه",
"notification_sounds": "پخش صدا هنگامی که شما یک آگاه‌سازی دریافت می‌کنید.",
"browsing": "تنظیمات مرور",
"open_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": "بازکردن لینک‌های خارجی در تب جدید؟"
}

View File

@@ -3,6 +3,5 @@
"no_topics": "<strong>Tällä aihealueella ei ole yhtään aihetta.</strong><br />Miksi et aloittaisi uutta?",
"browsing": "selaamassa",
"no_replies": "Kukaan ei ole vastannut",
"share_this_category": "Jaa tämä kategoria",
"ignore": "Ignore"
"share_this_category": "Jaa tämä kategoria"
}

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