Compare commits

..

2 Commits

Author SHA1 Message Date
Julian Lam
e9b9f090e4 0.2.2 2014-01-16 09:32:41 -05:00
Julian Lam
b82a6fa888 adding accidentally removed upgrade directives to v0.2.x branch 2014-01-16 09:30:18 -05:00
492 changed files with 16301 additions and 20826 deletions

2
.gitignore vendored
View File

@@ -14,7 +14,7 @@ Vagrantfile
.vagrant
provision.sh
*.komodoproject
.DS_Store
feeds/recent.rss
# winston?

View File

@@ -1,335 +0,0 @@
[main]
host = https://www.transifex.com
[nodebb.category]
file_filter = public/language/<lang>/category.json
source_file = public/language/en_GB/category.json
source_lang = en_GB
trans.ar = public/language/ar/category.json
trans.cs = public/language/cs/category.json
trans.de = public/language/de/category.json
trans.es = public/language/es/category.json
trans.fi = public/language/fi/category.json
trans.fr = public/language/fr/category.json
trans.he = public/language/he/category.json
trans.hu = public/language/hu/category.json
trans.it = public/language/it/category.json
trans.nb = public/language/nb/category.json
trans.pt_BR = public/language/pt_BR/category.json
trans.ru = public/language/ru/category.json
trans.sk = public/language/sk/category.json
trans.sv = public/language/sv/category.json
trans.tr = public/language/tr/category.json
trans.zh_CN = public/language/zh_CN/category.json
trans.zh_TW = public/language/zh_TW/category.json
type = KEYVALUEJSON
[nodebb.login]
file_filter = public/language/<lang>/login.json
source_file = public/language/en_GB/login.json
source_lang = en_GB
trans.ar = public/language/ar/login.json
trans.cs = public/language/cs/login.json
trans.de = public/language/de/login.json
trans.es = public/language/es/login.json
trans.fi = public/language/fi/login.json
trans.fr = public/language/fr/login.json
trans.he = public/language/he/login.json
trans.hu = public/language/hu/login.json
trans.it = public/language/it/login.json
trans.nb = public/language/nb/login.json
trans.pt_BR = public/language/pt_BR/login.json
trans.ru = public/language/ru/login.json
trans.sk = public/language/sk/login.json
trans.sv = public/language/sv/login.json
trans.tr = public/language/tr/login.json
trans.zh_CN = public/language/zh_CN/login.json
trans.zh_TW = public/language/zh_TW/login.json
type = KEYVALUEJSON
[nodebb.recent]
source_file = public/language/en_GB/recent.json
source_lang = en_GB
trans.ar = public/language/ar/recent.json
trans.cs = public/language/cs/recent.json
trans.de = public/language/de/recent.json
trans.es = public/language/es/recent.json
trans.fi = public/language/fi/recent.json
trans.fr = public/language/fr/recent.json
trans.he = public/language/he/recent.json
trans.hu = public/language/hu/recent.json
trans.it = public/language/it/recent.json
trans.nb = public/language/nb/recent.json
trans.pt_BR = public/language/pt_BR/recent.json
trans.ru = public/language/ru/recent.json
trans.sk = public/language/sk/recent.json
trans.sv = public/language/sv/recent.json
trans.tr = public/language/tr/recent.json
trans.zh_CN = public/language/zh_CN/recent.json
trans.zh_TW = public/language/zh_TW/recent.json
type = KEYVALUEJSON
[nodebb.unread]
source_file = public/language/en_GB/unread.json
source_lang = en_GB
trans.ar = public/language/ar/unread.json
trans.cs = public/language/cs/unread.json
trans.de = public/language/de/unread.json
trans.es = public/language/es/unread.json
trans.fi = public/language/fi/unread.json
trans.fr = public/language/fr/unread.json
trans.he = public/language/he/unread.json
trans.hu = public/language/hu/unread.json
trans.it = public/language/it/unread.json
trans.nb = public/language/nb/unread.json
trans.pt_BR = public/language/pt_BR/unread.json
trans.ru = public/language/ru/unread.json
trans.sk = public/language/sk/unread.json
trans.sv = public/language/sv/unread.json
trans.tr = public/language/tr/unread.json
trans.zh_CN = public/language/zh_CN/unread.json
trans.zh_TW = public/language/zh_TW/unread.json
type = KEYVALUEJSON
[nodebb.footer]
source_file = public/language/en_GB/footer.json
source_lang = en_GB
trans.ar = public/language/ar/footer.json
trans.cs = public/language/cs/footer.json
trans.de = public/language/de/footer.json
trans.es = public/language/es/footer.json
trans.fi = public/language/fi/footer.json
trans.fr = public/language/fr/footer.json
trans.he = public/language/he/footer.json
trans.hu = public/language/hu/footer.json
trans.it = public/language/it/footer.json
trans.nb = public/language/nb/footer.json
trans.pt_BR = public/language/pt_BR/footer.json
trans.ru = public/language/ru/footer.json
trans.sk = public/language/sk/footer.json
trans.sv = public/language/sv/footer.json
trans.tr = public/language/tr/footer.json
trans.zh_CN = public/language/zh_CN/footer.json
trans.zh_TW = public/language/zh_TW/footer.json
type = KEYVALUEJSON
[nodebb.modules]
source_file = public/language/en_GB/modules.json
source_lang = en_GB
trans.ar = public/language/ar/modules.json
trans.cs = public/language/cs/modules.json
trans.de = public/language/de/modules.json
trans.es = public/language/es/modules.json
trans.fi = public/language/fi/modules.json
trans.fr = public/language/fr/modules.json
trans.he = public/language/he/modules.json
trans.hu = public/language/hu/modules.json
trans.it = public/language/it/modules.json
trans.nb = public/language/nb/modules.json
trans.pt_BR = public/language/pt_BR/modules.json
trans.ru = public/language/ru/modules.json
trans.sk = public/language/sk/modules.json
trans.sv = public/language/sv/modules.json
trans.tr = public/language/tr/modules.json
trans.zh_CN = public/language/zh_CN/modules.json
trans.zh_TW = public/language/zh_TW/modules.json
type = KEYVALUEJSON
[nodebb.register]
source_file = public/language/en_GB/register.json
source_lang = en_GB
trans.ar = public/language/ar/register.json
trans.cs = public/language/cs/register.json
trans.de = public/language/de/register.json
trans.es = public/language/es/register.json
trans.fi = public/language/fi/register.json
trans.fr = public/language/fr/register.json
trans.he = public/language/he/register.json
trans.hu = public/language/hu/register.json
trans.it = public/language/it/register.json
trans.nb = public/language/nb/register.json
trans.pt_BR = public/language/pt_BR/register.json
trans.ru = public/language/ru/register.json
trans.sk = public/language/sk/register.json
trans.sv = public/language/sv/register.json
trans.tr = public/language/tr/register.json
trans.zh_CN = public/language/zh_CN/register.json
trans.zh_TW = public/language/zh_TW/register.json
type = KEYVALUEJSON
[nodebb.user]
source_file = public/language/en_GB/user.json
source_lang = en_GB
trans.ar = public/language/ar/user.json
trans.cs = public/language/cs/user.json
trans.de = public/language/de/user.json
trans.es = public/language/es/user.json
trans.fi = public/language/fi/user.json
trans.fr = public/language/fr/user.json
trans.he = public/language/he/user.json
trans.hu = public/language/hu/user.json
trans.it = public/language/it/user.json
trans.nb = public/language/nb/user.json
trans.pt_BR = public/language/pt_BR/user.json
trans.ru = public/language/ru/user.json
trans.sk = public/language/sk/user.json
trans.sv = public/language/sv/user.json
trans.tr = public/language/tr/user.json
trans.zh_CN = public/language/zh_CN/user.json
trans.zh_TW = public/language/zh_TW/user.json
type = KEYVALUEJSON
[nodebb.global]
source_file = public/language/en_GB/global.json
source_lang = en_GB
trans.ar = public/language/ar/global.json
trans.cs = public/language/cs/global.json
trans.de = public/language/de/global.json
trans.es = public/language/es/global.json
trans.fi = public/language/fi/global.json
trans.fr = public/language/fr/global.json
trans.he = public/language/he/global.json
trans.hu = public/language/hu/global.json
trans.it = public/language/it/global.json
trans.nb = public/language/nb/global.json
trans.pt_BR = public/language/pt_BR/global.json
trans.ru = public/language/ru/global.json
trans.sk = public/language/sk/global.json
trans.sv = public/language/sv/global.json
trans.tr = public/language/tr/global.json
trans.zh_CN = public/language/zh_CN/global.json
trans.zh_TW = public/language/zh_TW/global.json
type = KEYVALUEJSON
[nodebb.notifications]
source_file = public/language/en_GB/notifications.json
source_lang = en_GB
trans.ar = public/language/ar/notifications.json
trans.cs = public/language/cs/notifications.json
trans.de = public/language/de/notifications.json
trans.es = public/language/es/notifications.json
trans.fi = public/language/fi/notifications.json
trans.fr = public/language/fr/notifications.json
trans.he = public/language/he/notifications.json
trans.hu = public/language/hu/notifications.json
trans.it = public/language/it/notifications.json
trans.nb = public/language/nb/notifications.json
trans.pt_BR = public/language/pt_BR/notifications.json
trans.ru = public/language/ru/notifications.json
trans.sk = public/language/sk/notifications.json
trans.sv = public/language/sv/notifications.json
trans.tr = public/language/tr/notifications.json
trans.zh_CN = public/language/zh_CN/notifications.json
trans.zh_TW = public/language/zh_TW/notifications.json
type = KEYVALUEJSON
[nodebb.reset_password]
source_file = public/language/en_GB/reset_password.json
source_lang = en_GB
trans.ar = public/language/ar/reset_password.json
trans.cs = public/language/cs/reset_password.json
trans.de = public/language/de/reset_password.json
trans.es = public/language/es/reset_password.json
trans.fi = public/language/fi/reset_password.json
trans.fr = public/language/fr/reset_password.json
trans.he = public/language/he/reset_password.json
trans.hu = public/language/hu/reset_password.json
trans.it = public/language/it/reset_password.json
trans.nb = public/language/nb/reset_password.json
trans.pt_BR = public/language/pt_BR/reset_password.json
trans.ru = public/language/ru/reset_password.json
trans.sk = public/language/sk/reset_password.json
trans.sv = public/language/sv/reset_password.json
trans.tr = public/language/tr/reset_password.json
trans.zh_CN = public/language/zh_CN/reset_password.json
trans.zh_TW = public/language/zh_TW/reset_password.json
type = KEYVALUEJSON
[nodebb.users]
source_file = public/language/en_GB/users.json
source_lang = en_GB
trans.ar = public/language/ar/users.json
trans.cs = public/language/cs/users.json
trans.de = public/language/de/users.json
trans.es = public/language/es/users.json
trans.fi = public/language/fi/users.json
trans.fr = public/language/fr/users.json
trans.he = public/language/he/users.json
trans.hu = public/language/hu/users.json
trans.it = public/language/it/users.json
trans.nb = public/language/nb/users.json
trans.pt_BR = public/language/pt_BR/users.json
trans.ru = public/language/ru/users.json
trans.sk = public/language/sk/users.json
trans.sv = public/language/sv/users.json
trans.tr = public/language/tr/users.json
trans.zh_CN = public/language/zh_CN/users.json
trans.zh_TW = public/language/zh_TW/users.json
type = KEYVALUEJSON
[nodebb.language]
source_file = public/language/en_GB/language.json
source_lang = en_GB
trans.ar = public/language/ar/language.json
trans.cs = public/language/cs/language.json
trans.de = public/language/de/language.json
trans.es = public/language/es/language.json
trans.fi = public/language/fi/language.json
trans.fr = public/language/fr/language.json
trans.he = public/language/he/language.json
trans.hu = public/language/hu/language.json
trans.it = public/language/it/language.json
trans.nb = public/language/nb/language.json
trans.pt_BR = public/language/pt_BR/language.json
trans.ru = public/language/ru/language.json
trans.sk = public/language/sk/language.json
trans.sv = public/language/sv/language.json
trans.tr = public/language/tr/language.json
trans.zh_CN = public/language/zh_CN/language.json
trans.zh_TW = public/language/zh_TW/language.json
type = KEYVALUEJSON
[nodebb.pages]
source_file = public/language/en_GB/pages.json
source_lang = en_GB
trans.ar = public/language/ar/pages.json
trans.cs = public/language/cs/pages.json
trans.de = public/language/de/pages.json
trans.es = public/language/es/pages.json
trans.fi = public/language/fi/pages.json
trans.fr = public/language/fr/pages.json
trans.he = public/language/he/pages.json
trans.hu = public/language/hu/pages.json
trans.it = public/language/it/pages.json
trans.nb = public/language/nb/pages.json
trans.pt_BR = public/language/pt_BR/pages.json
trans.ru = public/language/ru/pages.json
trans.sk = public/language/sk/pages.json
trans.sv = public/language/sv/pages.json
trans.tr = public/language/tr/pages.json
trans.zh_CN = public/language/zh_CN/pages.json
trans.zh_TW = public/language/zh_TW/pages.json
type = KEYVALUEJSON
[nodebb.topic]
source_file = public/language/en_GB/topic.json
source_lang = en_GB
trans.ar = public/language/ar/topic.json
trans.cs = public/language/cs/topic.json
trans.de = public/language/de/topic.json
trans.es = public/language/es/topic.json
trans.fi = public/language/fi/topic.json
trans.fr = public/language/fr/topic.json
trans.he = public/language/he/topic.json
trans.hu = public/language/hu/topic.json
trans.it = public/language/it/topic.json
trans.nb = public/language/nb/topic.json
trans.pt_BR = public/language/pt_BR/topic.json
trans.ru = public/language/ru/topic.json
trans.sk = public/language/sk/topic.json
trans.sv = public/language/sv/topic.json
trans.tr = public/language/tr/topic.json
trans.zh_CN = public/language/zh_CN/topic.json
trans.zh_TW = public/language/zh_TW/topic.json
type = KEYVALUEJSON

View File

@@ -1,45 +1,38 @@
# <img alt="NodeBB" src="http://i.imgur.com/3yj1n6N.png" />
**NodeBB Forum Software** is powered by Node.js and built on a Redis database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB is compatible down to IE8 and has many modern features out of the box such as social network integration and streaming discussions.
# NodeBB
**NodeBB** is a robust Node.js driven forum built on a redis database. It is powered by web sockets, and is compatible down to IE8.
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
* [Demo & Meta Discussion](http://community.nodebb.org)
* [NodeBB Blog](http://blog.nodebb.org)
* [NodeBB Homepage](http://www.nodebb.org/ "NodeBB")
* [Demo & Meta Discussion](http://try.nodebb.org)
* [Wiki Guides](https://github.com/designcreateplay/NodeBB/wiki) - includes setup for other platforms
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
* [Follow on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
* [Get Plugins](http://community.nodebb.org/category/7/nodebb-plugins "NodeBB Plugins")
* [Get Themes](http://community.nodebb.org/category/10/nodebb-themes "NodeBB Themes")
## Screenshots
[<img src="http://i.imgur.com/FLOUuIqb.png" />](http://i.imgur.com/FLOUuIq.png)&nbsp;[<img src="http://i.imgur.com/Ud1LrfIb.png" />](http://i.imgur.com/Ud1LrfI.png)&nbsp;[<img src="http://i.imgur.com/ZC8W39ab.png" />](http://i.imgur.com/ZC8W39a.png)&nbsp;[<img src="http://i.imgur.com/o90kVPib.png" />](http://i.imgur.com/o90kVPi.png)&nbsp;[<img src="http://i.imgur.com/AaRRrU2b.png" />](http://i.imgur.com/AaRRrU2.png)&nbsp;[<img src="http://i.imgur.com/LmHtPhob.png" />](http://i.imgur.com/LmHtPho.png)&nbsp;[<img src="http://i.imgur.com/paiJPJkb.jpg" />](http://i.imgur.com/paiJPJk.jpg)&nbsp;[<img src="http://i.imgur.com/ZfavPHDb.png" />](http://i.imgur.com/ZfavPHD.png)
Credit: [Convoe](http://www.convoe.com), [Kano](http://www.kano.me), [Manchester United Forum](http://manutdforums.com/).
![NodeBB Main Category Listing](http://i.imgur.com/zRdzCcj.png)
![NodeBB Topic Page](http://i.imgur.com/ZC8W39a.png)
## How can I follow along/contribute?
* Our feature roadmap is hosted on the project wiki's [Version History / Roadmap](https://github.com/designcreateplay/NodeBB/wiki/Version-History-%26-Roadmap)
* If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of [plugins](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extention of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes [Bootstrap 3](http://getbootstrap.com/) but themes can choose to use a different framework altogether.
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) to keep up to date with the latest NodeBB development.
* If you are a developer, feel free to check out the source and submit pull requests.
* If you are a designer, NodeBB needs themes! NodeBB will accept any LESS or CSS file and use it in place of the default Twitter Bootstrap theme. Consider extending Bootstrap themes by extending the base bootstrap LESS file.
## Requirements
NodeBB requires the following software to be installed:
* A version of Node.js at least 0.8 or greater
* Redis, version 2.6 or greater **or** MongoDB, version 2.4 or greater
* Redis, version 2.6 or greater or MongoDB, version 2.4 or greater
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
## Installation
First, we install our base software stack:
# apt-get install git nodejs redis-server build-essential imagemagick
# apt-get install git nodejs redis-server npm build-essential imagemagick
If you want to use MongoDB instead of Redis install it from http://www.mongodb.org/downloads and remove 'redis-server' from the above command. [MongoDB-Setup](https://github.com/designcreateplay/NodeBB/wiki/Installing-NodeBB-With-MongoDB)
If you want to use MongoDB instead of Redis install it from http://www.mongodb.org/downloads and remove 'redis-server' from the above command. [MongoDB-Setup](https://github.com/designcreateplay/NodeBB/wiki/MongoDB-Setup)
**If your package manager only installed a version of Node.js that is less than 0.8 (e.g. Ubuntu 12.10, 13.04):**
@@ -58,26 +51,19 @@ Obtain all of the dependencies required by NodeBB:
Initiate the setup script by running the app with the `--setup` flag:
$ ./nodebb setup
$ node app --setup
The default settings are for a local server running on the default port, with a redis store on the same machine/port.
Lastly, we run the forum.
$ ./nodebb start
$ node app
NodeBB can also be started with helper programs, such as `supervisor` and `forever`. [Take a look at the options here](https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB).
## Securing NodeBB
*(Optional)* Some server configurations may install the node binary as `nodejs` instead of `node`. You can re-map it (so as to not break compatibility with `node-supervisor`) by running the following command:
It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:
1. While some distributions set up Redis with a more restrictive configuration, Redis by default listens to all interfaces, which is especially dangerous when a server is open to the public. Some suggestions:
* Set `bind_address` to `127.0.0.1` so as to restrict access to the local machine only
* Use `requirepass` to secure Redis behind a password (preferably a long one)
* Familiarise yourself with [Redis Security](http://redis.io/topics/security)
2. Use `iptables` to secure your server from unintended open ports. In Ubuntu, `ufw` provides a friendlier interface to working with `iptables`.
* e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)
# update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
## Upgrading NodeBB

300
app.js
View File

@@ -16,192 +16,166 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function () {
"use strict";
"use strict";
// Configuration setup
var nconf = require('nconf');
nconf.argv().env();
var nconf = require('nconf');
nconf.argv().env();
var fs = require('fs'),
async = require('async'),
semver = require('semver'),
winston = require('winston'),
path = require('path'),
pkg = require('./package.json'),
utils = require('./public/src/utils.js'),
meta;
var fs = require('fs'),
os = require('os'),
semver = require('semver'),
winston = require('winston'),
path = require('path'),
pkg = require('./package.json'),
utils = require('./public/src/utils.js');
// Runtime environment
global.env = process.env.NODE_ENV || 'production';
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, {
colorize: true
});
global.env = process.env.NODE_ENV || 'production';
winston.add(winston.transports.File, {
filename: 'error.log',
level: 'error'
});
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, {
colorize: true
});
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
winston.err = function (err) {
winston.error(err.stack);
};
winston.add(winston.transports.File, {
filename: 'error.log',
level: 'error'
});
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
winston.err = function (err) {
winston.error(err.stack);
};
if(os.platform() === 'linux') {
require('child_process').exec('/usr/bin/which convert', function(err, stdout, stderr) {
if(err || !stdout) {
winston.warn('Couldn\'t find convert. Did you install imagemagick?');
}
});
}
// Log GNU copyright info along with server info
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('');
// Alternate configuration file support
var configFile = __dirname + '/config.json',
configExists;
if (nconf.get('config')) {
configFile = path.join(__dirname, nconf.get('config'));
}
configExists = fs.existsSync(configFile);
if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && configExists) {
start();
} else if (nconf.get('setup') || nconf.get('install') || !configExists) {
setup();
} else if (nconf.get('upgrade')) {
upgrade();
} else/* if (nconf.get('help') */{
displayHelp();
};
// Log GNU copyright info along with server info
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('');
function start() {
nconf.file({
file: __dirname + '/config.json'
});
nconf.defaults({
themes_path: path.join(__dirname, 'node_modules')
});
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
nconf.set('upload_url', path.join(path.sep, nconf.get('relative_path'), 'uploads', path.sep));
nconf.set('base_dir', __dirname);
// Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
winston.info('Time: ' + new Date());
winston.info('Initializing NodeBB v' + pkg.version);
winston.info('* using ' + nconf.get('database') +' store at ' + nconf.get(nconf.get('database') + ':host') + ':' + nconf.get(nconf.get('database') + ':port'));
winston.info('* using themes stored in: ' + nconf.get('themes_path'));
if (process.env.NODE_ENV === 'development') {
winston.info('Base Configuration OK.');
}
var meta = require('./src/meta');
require('./src/database').init(function(err) {
meta.configs.init(function () {
var templates = require('./public/src/templates'),
translator = require('./public/src/translator'),
webserver = require('./src/webserver'),
sockets = require('./src/socket.io'),
plugins = require('./src/plugins'),
notifications = require('./src/notifications'),
upgrade = require('./src/upgrade');
templates.setGlobal('relative_path', nconf.get('relative_path'));
upgrade.check(function(schema_ok) {
if (schema_ok || nconf.get('check-schema') === false) {
sockets.init(webserver.server);
plugins.init();
translator.loadServer();
var customTemplates = meta.config['theme:templates'] ? path.join(nconf.get('themes_path'), meta.config['theme:id'], meta.config['theme:templates']) : false;
utils.walk(path.join(__dirname, 'public/templates'), function (err, tplsToLoad) {
templates.init(tplsToLoad, customTemplates);
});
plugins.ready(function() {
templates.ready(webserver.init);
});
notifications.init();
} else {
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
winston.warn(' node app --upgrade');
winston.warn('To ignore this error (not recommended):');
winston.warn(' node app --no-check-schema')
process.exit();
}
});
if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && fs.existsSync(__dirname + '/config.json')) {
// Load server-side configs
nconf.file({
file: __dirname + '/config.json'
});
});
}
meta = require('./src/meta');
function setup() {
if (nconf.get('setup')) {
winston.info('NodeBB Setup Triggered via Command Line');
} else {
winston.warn('Configuration not found, starting NodeBB setup');
}
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path') + path.sep);
nconf.set('upload_url', path.join(path.sep, nconf.get('relative_path'), 'uploads', path.sep));
nconf.set('base_dir', __dirname);
nconf.file({
file: __dirname + '/config.json'
});
winston.info('Initializing NodeBB v' + pkg.version + ', on port ' + nconf.get('port') + ', using Redis store at ' + nconf.get('redis:host') + ':' + nconf.get('redis:port') + '.');
winston.info('NodeBB instance bound to: ' + ((nconf.get('bind_address') === "0.0.0.0" || !nconf.get('bind_address')) ? 'Any address (0.0.0.0)' : nconf.get('bind_address')));
var install = require('./src/install');
winston.info('Welcome to NodeBB!');
winston.info('This looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.');
winston.info('Press enter to accept the default setting (shown in brackets).');
install.setup(function (err) {
if (err) {
winston.error('There was a problem completing NodeBB setup: ', err.message);
} else {
winston.info('NodeBB Setup Completed. Run \'./nodebb start\' to manually start your NodeBB server.');
if (process.env.NODE_ENV === 'development') {
winston.info('Base Configuration OK.');
}
process.exit();
});
}
if (semver.gt(pkg.dependencies['nodebb-theme-cerulean'], require('./node_modules/nodebb-theme-cerulean/package.json').version)) {
winston.error('nodebb-theme-cerulean is out of date - please run npm install.')
}
function upgrade() {
nconf.file({
file: __dirname + '/config.json'
});
require('./src/database').init(function(err) {
meta.configs.init(function () {
var meta = require('./src/meta');
var templates = require('./public/src/templates'),
translator = require('./public/src/translator'),
webserver = require('./src/webserver'),
SocketIO = require('socket.io').listen(global.server, { log: false, transports: ['websocket', 'xhr-polling', 'jsonp-polling', 'flashsocket'], 'browser client minification': true}),
websockets = require('./src/websockets'),
plugins = require('./src/plugins'),
notifications = require('./src/notifications'),
upgrade = require('./src/upgrade');
require('./src/database').init(function(err) {
meta.configs.init(function () {
require('./src/upgrade').upgrade();
upgrade.check(function(schema_ok) {
if (schema_ok || nconf.get('check-schema') === false) {
websockets.init(SocketIO);
plugins.init();
global.templates = {};
global.translator = translator;
translator.loadServer();
var customTemplates = meta.config['theme:templates'] ? path.join(__dirname, 'node_modules', meta.config['theme:id'], meta.config['theme:templates']) : false;
utils.walk(path.join(__dirname, 'public/templates'), function (err, tplsToLoad) {
templates.init(tplsToLoad, customTemplates);
});
plugins.ready(function() {
templates.ready(webserver.init);
});
notifications.init();
} else {
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
winston.warn(' node app --upgrade');
winston.warn('To ignore this error (not recommended):');
winston.warn(' node app --no-check-schema')
process.exit();
}
});
});
});
});
}
} else if (nconf.get('setup') || nconf.get('install') || !fs.existsSync(__dirname + '/config.json')) {
// New install, ask setup questions
if (nconf.get('setup')) {
winston.info('NodeBB Setup Triggered via Command Line');
} else {
winston.warn('Configuration not found, starting NodeBB setup');
}
function displayHelp() {
winston.info('Usage: node app [options] [arguments]');
winston.info(' [NODE_ENV=development | NODE_ENV=production] node app [--start] [arguments]');
winston.info('');
winston.info('Options:');
winston.info(' --help displays this usage information');
winston.info(' --setup configure your environment and setup NodeBB');
winston.info(' --upgrade upgrade NodeBB, first read: github.com/designcreateplay/NodeBB/wiki/Upgrading-NodeBB');
winston.info(' --start manually start NodeBB (default when no options are given)');
}
nconf.file({
file: __dirname + '/config.json'
});
var install = require('./src/install');
winston.info('Welcome to NodeBB!');
winston.info('This looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.');
winston.info('Press enter to accept the default setting (shown in brackets).');
install.setup(function (err) {
if (err) {
winston.error('There was a problem completing NodeBB setup: ', err.message);
} else {
winston.info('NodeBB Setup Completed. Run \'node app\' to manually start your NodeBB server.');
}
process.exit();
});
} else if (nconf.get('upgrade')) {
nconf.file({
file: __dirname + '/config.json'
});
require('./src/database').init(function(err) {
meta = require('./src/meta.js');
meta.configs.init(function () {
require('./src/upgrade').upgrade();
});
});
} else/* if (nconf.get('help') */{
winston.info('Usage: node app [options] [arguments]');
winston.info(' [NODE_ENV=development | NODE_ENV=production] node app [--start] [arguments]');
winston.info('');
winston.info('Options:');
winston.info(' --help displays this usage information');
winston.info(' --setup configure your environment and setup NodeBB');
winston.info(' --upgrade upgrade NodeBB, first read: github.com/designcreateplay/NodeBB/wiki/Upgrading-NodeBB');
winston.info(' --start manually start NodeBB (default when no options are given)');
};
}());

1
feeds/categories/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*.rss

1
feeds/topics/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*.rss

51
nodebb
View File

@@ -6,52 +6,39 @@
case "$1" in
start)
node app "$@"
;;
upgrade)
npm install
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
node app --upgrade
touch package.json
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
;;
setup)
node app --setup
node app
;;
dev)
echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB"
NODE_ENV=development node app "$@"
NODE_ENV=development node app
;;
watch)
echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB"
NODE_ENV=development supervisor -q --extensions 'node|js|tpl' -- app "$@"
NODE_ENV=development supervisor -q --extensions 'node|js|tpl' -- app $1
;;
# language)
# case "$2" in
# check)
# node app --language="check"
# ;;
language)
case "$2" in
check)
node app --language="check"
;;
# *)
# echo "Language Settings"
# echo $"Usage: $0 language {check}"
# echo ''
# column -s ' ' -t <<< '
# check Compare language files against the /en directory
# '
# ;;
# esac
# ;;
*)
echo "Language Settings"
echo $"Usage: $0 language {check}"
echo ''
column -s ' ' -t <<< '
check Compare language files against the /en directory
'
;;
esac
;;
*)
echo "Welcome to NodeBB"
@@ -61,7 +48,7 @@ case "$1" in
start Start NodeBB in production mode
dev Start NodeBB in development mode
watch Start NodeBB in development mode and watch for changes
upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
language Language settings
'
exit 1
esac

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPLv3 or later",
"description": "NodeBB Forum",
"version": "0.3.1",
"version": "0.2.2",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -25,11 +25,12 @@
"passport-facebook": "0.1.5",
"less-middleware": "0.1.12",
"marked": "0.2.8",
"bcrypt": "0.7.5",
"async": "~0.2.8",
"node-imagemagick": "0.1.8",
"gravatar": "1.0.6",
"nconf": "~0.6.7",
"sitemap": "~0.7.1",
"sitemap": "~0.6.0",
"request": "~2.25.0",
"reds": "~0.2.4",
"winston": "~0.7.2",
@@ -37,27 +38,21 @@
"prompt": "~0.2.11",
"uglify-js": "~2.4.0",
"validator": "~1.5.1",
"nodebb-plugin-mentions": "~0.3",
"nodebb-plugin-mentions": "~0.1",
"nodebb-plugin-markdown": "~0.3",
"nodebb-theme-vanilla": "~0.0.13",
"nodebb-theme-cerulean": "~0.0.12",
"nodebb-theme-lavender": "~0.0",
"nodebb-theme-vanilla": "~0.0.12",
"nodebb-theme-cerulean": "0.0.10",
"cron": "~1.0.1",
"semver": "~2.2.1",
"string": "~1.7.0",
"xregexp": "~2.0.0",
"socket.io-wildcard": "~0.1.1",
"bcryptjs": "~0.7.10"
"xregexp": "~2.0.0"
},
"optionalDependencies": {
"redis": "0.8.3",
"mongodb": "~1.3.19",
"connect-redis": "1.4.5",
"connect-mongo": "0.4.0",
"hiredis": "~0.1.15",
"nodebb-plugin-sso-facebook": "~0.1.0",
"nodebb-plugin-sso-twitter": "~0.1.0",
"nodebb-plugin-sso-google": "~0.1.0"
"hiredis": "~0.1.15"
},
"devDependencies": {
"mocha": "~1.13.0"

View File

@@ -1,14 +0,0 @@
{
"new_topic_button": "موضوع جديد",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر واحد؟<br />",
"sidebar.recent_replies": "الردود مؤخرا",
"sidebar.active_participants": "المشاركون النشطة",
"sidebar.moderators": "المشرفين",
"posts": "مشاركات",
"views": "مشاهدات",
"posted": "نشر",
"browsing": "يتصفح",
"no_replies": "لم يرد أحد",
"replied": "رد",
"last_edited_by": "تغيرت أخيراً عبر"
}

View File

@@ -1,7 +0,0 @@
{
"stats.online": "حالياً على الموقع",
"stats.users": "مستخدمين",
"stats.topics": "مواضيع",
"stats.posts": "مشاركات",
"success": "نجاح"
}

View File

@@ -1,52 +0,0 @@
{
"home": "الصفحة الرئيسية",
"search": "بحث",
"buttons.close": "أغلق",
"403.title": "غير مسموح بالدخول",
"403.message": "يبدو أنك قد تعثر على الصفحة التي لم يكن لديك الوصول إليها. ربما يجب عليك <a href='/login'> تسجيل الدخول </a> ",
"404.title": "لم يتم العثور",
"404.message": "يبدو أنك قد تعثرت على صفحة غير موجودة. عودة إلى الصفحة الرئيسية.",
"500.title": "خطأ داخلي.",
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
"register": "تسجيل",
"login": "دخول",
"logout": "تسجيل الخروج",
"logout.title": "تم تسجيل الخروج",
"logout.message": "قمت بتسجيل الخروج بنجاح من NodeBB",
"save_changes": "حفظ التغييرات",
"close": "أغلق",
"header.admin": "مشرف",
"header.recent": "حديث",
"header.unread": "غير مقروء",
"header.popular": "Popular",
"header.users": "المستخدمين",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.search": "بحث",
"header.profile": "ملف",
"notifications.loading": "تحميل التبليغات",
"chats.loading": "تحميل الدردشات",
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
"motd.get": "NodeBB إحصل على",
"motd.fork": "فرع",
"motd.like": "ود",
"motd.follow": "تابع",
"previouspage": "Previous Page",
"nextpage": "Next Page",
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"posts": "Posts",
"views": "Views",
"posted": "posted",
"in": "in",
"recentposts": "Recent Posts",
"online": "Online",
"away": "Away",
"dnd": "Do not Disturb",
"invisible": "Invisible",
"offline": "Offline"
}

View File

@@ -1,5 +0,0 @@
{
"name": "العربية",
"code": "ar",
"dir": "rtl"
}

View File

@@ -1,10 +0,0 @@
{
"login": "دخول",
"username": "اسم المستخدم",
"password": "كلمة السر",
"remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة",
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
"login_successful": "قمت بتسجيل الدخول بنجاح!"
}

View File

@@ -1,6 +0,0 @@
{
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
"chat.placeholder": "اكتب رسالة دردشة هنا، وإضغط ENTER لإرسال",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة."
}

View File

@@ -1,10 +0,0 @@
{
"title": "إعلام",
"no_notifs": "You have no notifications",
"see_all": "See all Notifications",
"back_to_home": "العودة إلى NodeBB",
"outgoing_link": "رابط خارجي",
"outgoing_link_message": "أنت الأن ترحل",
"continue_to": "أكمل إلى",
"return_to": "إرجع إلى"
}

View File

@@ -1,12 +0,0 @@
{
"home": "Home",
"unread": "Unread Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
}

View File

@@ -1,7 +0,0 @@
{
"title": "Recent",
"day": "يوم",
"week": "أسبوع",
"month": "شهر",
"no_recent_topics": "There are no recent topics."
}

View File

@@ -1,18 +0,0 @@
{
"register": "تسجيل",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من الجمهور.",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.",
"help.minimum_password_length": "كلمتك السر يجب أن تكون على الأقل متألفة من 1% أحرف",
"email_address": "عنوان البريد الإلكتروني",
"email_address_placeholder": "ادخل عنوان البريد الإلكتروني",
"username": "اسم المستخدم",
"username_placeholder": "أدخل اسم المستخدم",
"password": "كلمة السر",
"password_placeholder": "أدخل كلمة السر",
"confirm_password": "تأكيد كلمة السر",
"confirm_password_placeholder": "تأكيد كلمة السر",
"register_now_button": "قم بالتسجيل الآن",
"alternative_registration": "التسجيل البديلة",
"terms_of_use": "Terms of Use",
"agree_to_terms_of_use": "I agree to the Terms of Use"
}

View File

@@ -1,13 +0,0 @@
{
"reset_password": "إعادة تعيين كلمة السر",
"update_password": "تحديث كلمة السر",
"password_changed.title": "تم تغير كلمة السر",
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
"wrong_reset_code.title": "إعادة تعيين رمز غير صحيح",
"wrong_reset_code.message": "رامز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمز جديد</a>",
"new_password": "كلمة السر الجديدة",
"repeat_password": "تأكيد كلمة السر",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود"
}

View File

@@ -1,63 +0,0 @@
{
"topic": "موضوع",
"topics": "مواضيع",
"no_topics_found": "لا توجد مواضيع !",
"no_posts_found": "No posts found!",
"profile": "ملف",
"posted_by": "Posted by",
"chat": "دردشة",
"notify_me": "تنبه من ردود جديدة في هذا الموضوع",
"quote": "اقتبس",
"reply": "رد",
"edit": "صحح",
"delete": "حذف",
"move": "انقل",
"fork": "فرع",
"banned": "محظور",
"link": "رابط",
"share": "شارك",
"tools": "أدوات",
"flag": "Flag",
"flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"thread_tools.title": "أدوات الموضوع",
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
"thread_tools.pin": "علق الموضوع",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "قفل الموضوع",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "نقل الموضوع",
"thread_tools.fork": "تفرع الموضوع",
"thread_tools.delete": "حذف الموضوع",
"thread_tools.restore": "Restore Topic",
"load_categories": "تحميل الفئات",
"disabled_categories_note": "الفئات المجلدة رمادية",
"confirm_move": "انقل",
"confirm_fork": "فرع",
"favourite": "المفضل",
"favourites": "المفضلة",
"favourites.not_logged_in.title": "ليس موجود حالياً",
"favourites.not_logged_in.message": "الرجاء تسجيل الدخول لتفضل هذا الرد",
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
"vote.not_logged_in.title": "Not Logged In",
"vote.not_logged_in.message": "Please log in in order to vote",
"vote.cant_vote_self.title": "Invalid Vote",
"vote.cant_vote_self.message": "You cannot vote for your own post",
"loading_more_posts": "تحميل المزيد من المشاركات",
"move_topic": "نقل الموضوع",
"move_post": "نقل الرد",
"fork_topic": "فرع الموضوع",
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
"fork_no_pids": "لم تختار أي رد",
"fork_success": "تفريع الموضوع بنجاح!",
"reputation": "سمعة",
"posts": "ردود",
"composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write",
"composer.preview": "Preview",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to",
"composer.new_topic": "New Topic"
}

View File

@@ -1,6 +0,0 @@
{
"title": "Unread",
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
"mark_all_read": "إجعل كل المواضيع مقرؤة",
"load_more": "حمل المزيد"
}

View File

@@ -1,39 +0,0 @@
{
"banned": "محظور",
"offline": "ليس موجود حالياً",
"username": "إسم المستخدم",
"email": "البريد الإلكتروني",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "موقع",
"age": "عمر",
"joined": "تاريخ التسجيل",
"lastonline": "تاريخ أخر دخول",
"profile": "Profile",
"profile_views": "مشاهد الملف",
"reputation": "سمعة",
"posts": "ردود",
"favourites": "Favourites",
"followers": "أتباع",
"following": "يتبع",
"signature": "توقيع",
"gravatar": "Gravatar",
"birthday": "عيد ميلاد",
"change_picture": "تغيير الصورة",
"edit": "صحح",
"uploaded_picture": "صورة تم تحميلها",
"upload_new_picture": "تحميل صورة جديدة",
"change_password": "تغيير كلمة السر",
"confirm_password": "تأكيد كلمة السر",
"password": "كلمة السر",
"upload_picture": "تحميل الصورة",
"upload_a_picture": "تحميل صورة",
"image_spec": "تستطيع تحميل سوى PNG، JPG، GIF تحت 256KB.",
"settings": "Settings",
"show_email": "أظهر بريدي الإلكتروني",
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
"has_no_posts": "This user didn't post anything yet.",
"email_hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي"
}

View File

@@ -1,9 +0,0 @@
{
"latest_users": "أحدث المستخدمين",
"top_posters": "أكثر المشتركين",
"most_reputation": "أعلى سمعة",
"online": "موجودين حالياً",
"search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث",
"load_more": "حمل المزيد"
}

View File

@@ -1,14 +0,0 @@
{
"new_topic_button": "Nové téma",
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
"sidebar.recent_replies": "Poslední příspěvky",
"sidebar.active_participants": "Aktivní účastníci",
"sidebar.moderators": "Moderátoři",
"posts": "příspěvky",
"views": "zobrazení",
"posted": "odesláno",
"browsing": "prohlíží",
"no_replies": "Nikdo ještě neodpověděl",
"replied": "přispěl",
"last_edited_by": "naposledy upravil"
}

View File

@@ -1,7 +0,0 @@
{
"stats.online": "Online",
"stats.users": "Uživatelé",
"stats.topics": "Témata",
"stats.posts": "Příspěvky",
"success": "úspěch"
}

View File

@@ -1,52 +0,0 @@
{
"home": "Domů",
"search": "Hledat",
"buttons.close": "Zavřít",
"403.title": "Přístup odepřen",
"403.message": "K této stránce nemáte přístup. Zkuste se <a href='/login'>přihlásit</a>?",
"404.title": "Stránka nenalezena",
"404.message": "Tato stránka bohužel neexistuje. Vraťte se na <a href='/'>domovskou stránku</a>.",
"500.title": "Neznámá chyba",
"500.message": "Jejda, vypadá to, že se něco pokazilo.",
"register": "Registrovat",
"login": "Přihlásit se",
"logout": "Odhlásit se",
"logout.title": "Odhlásili jsme Vás.",
"logout.message": "Úspěšně jsme Vás odhlásili z fóra.",
"save_changes": "Uložit změny",
"close": "Zrušit",
"header.admin": "Administrace",
"header.recent": "Aktuality",
"header.unread": "Nepřečtené",
"header.popular": "Populární",
"header.users": "Uživatelé",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.search": "Hledat",
"header.profile": "Můj profil",
"notifications.loading": "Načítání upozornění",
"chats.loading": "Načítání grafů",
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
"motd.get": "Získat NodeBB",
"motd.fork": "Fork",
"motd.like": "To se mi líbí",
"motd.follow": "Sledovat",
"previouspage": "Předchozí stránka",
"nextpage": "Další stránka",
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"posts": "Příspěvky",
"views": "Zobrazení",
"posted": "odesláno",
"in": "v",
"recentposts": "Nedávné příspěvky",
"online": "Online",
"away": "Pryč",
"dnd": "Nerušit",
"invisible": "Neviditelný",
"offline": "Offline"
}

View File

@@ -1,5 +0,0 @@
{
"name": "Czech",
"code": "cs",
"dir": "ltr"
}

View File

@@ -1,10 +0,0 @@
{
"login": "Přihlásit se",
"username": "Uživatelské jméno",
"password": "Heslo",
"remember_me": "Zapamatovat si mě?",
"forgot_password": "Zapomněli jste heslo?",
"alternative_logins": "Další způsoby přihlášení",
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
"login_successful": "Přihlášení proběhlo úspěšně!"
}

View File

@@ -1,6 +0,0 @@
{
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
"chat.placeholder": "napište zprávu sem a zmáčkněte enter pro odeslání",
"chat.send": "Odeslat",
"chat.no_active": "Nemáte žádné aktivní konverzace."
}

View File

@@ -1,10 +0,0 @@
{
"title": "Upozornění",
"no_notifs": "You have no notifications",
"see_all": "See all Notifications",
"back_to_home": "Zpět na úvodní stránku",
"outgoing_link": "Odkaz mimo fórum",
"outgoing_link_message": "Nyní opouštíte fórum",
"continue_to": "Přejít na",
"return_to": "Vrátit se na "
}

View File

@@ -1,12 +0,0 @@
{
"home": "Home",
"unread": "Unread Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
}

View File

@@ -1,7 +0,0 @@
{
"title": "Nedávné",
"day": "Den",
"week": "Týden",
"month": "Měsíc",
"no_recent_topics": "There are no recent topics."
}

View File

@@ -1,18 +0,0 @@
{
"register": "Registrace",
"help.email": "Váš email nebude bez vašeho svolení zveřejněn.",
"help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @<span id='yourUsername'>uživatelské-jméno</span>.",
"help.minimum_password_length": "Délka vašeho hesla musí být alespoň %1 znaků.",
"email_address": "Email",
"email_address_placeholder": "Zadejte email",
"username": "Uživatelské jméno",
"username_placeholder": "Zadejte uživatelské jméno",
"password": "Heslo",
"password_placeholder": "Zadejte heslo",
"confirm_password": "Potvrzení hesla",
"confirm_password_placeholder": "Potvrďte heslo",
"register_now_button": "Zaregistrovat se",
"alternative_registration": "Jiný způsob registrace",
"terms_of_use": "Podmínky",
"agree_to_terms_of_use": "Souhlasím s Podmínkami"
}

View File

@@ -1,13 +0,0 @@
{
"reset_password": "Obnovit heslo",
"update_password": "Upravit heslo",
"password_changed.title": "Heslo změněno",
"password_changed.message": "<p>Heslo bylo úspěšně změněno, <a href=\"/login\">přihlaste se znovu</a> prosím.",
"wrong_reset_code.title": "Špatný kód",
"wrong_reset_code.message": "Byl zadán špatný kód. Zadejte ho prosím znovu, nebo <a href=\"/reset\">si nechte poslat nový</a>.",
"new_password": "Nové heslo",
"repeat_password": "Potvrzení hesla",
"enter_email": "Zadejte svou <strong>emailovou adresu</strong> a my Vám pošleme informace, jak můžete obnovit své heslo.",
"password_reset_sent": "Obnova hesla odeslána",
"invalid_email": "Špatný email / Email neexistuje!"
}

View File

@@ -1,63 +0,0 @@
{
"topic": "Téma",
"topics": "Témata",
"no_topics_found": "Nebyla nalezena žádná témata!",
"no_posts_found": "No posts found!",
"profile": "Profil",
"posted_by": "Odeslal",
"chat": "Chat",
"notify_me": "Sledovat toto téma",
"quote": "Citovat",
"reply": "Odpovědět",
"edit": "Upravit",
"delete": "Smazat",
"move": "Přesunout",
"fork": "Rozdělit",
"banned": "banned",
"link": "Odkaz",
"share": "Sdílet",
"tools": "Nástroje",
"flag": "Flag",
"flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"thread_tools.title": "Nástroje",
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
"thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "Lock Topic",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "Move Topic",
"thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic",
"thread_tools.restore": "Restore Topic",
"load_categories": "Načítání kategorií",
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
"confirm_move": "Přesunout",
"confirm_fork": "Rozdělit",
"favourite": "Oblíbené",
"favourites": "Oblíbené",
"favourites.not_logged_in.title": "Přihlaste se!",
"favourites.not_logged_in.message": "Pro oblíbení příspěvku se musíte přihlásit.",
"favourites.has_no_favourites": "Nemáte žádné oblíbené příspěvky, přidejte některý příspěvek k oblíbeným a uvidíte ho zde!",
"vote.not_logged_in.title": "Not Logged In",
"vote.not_logged_in.message": "Please log in in order to vote",
"vote.cant_vote_self.title": "Invalid Vote",
"vote.cant_vote_self.message": "You cannot vote for your own post",
"loading_more_posts": "Načítání více příspěvků",
"move_topic": "Přesunout téma",
"move_post": "Přesunout příspěvek",
"fork_topic": "Rozdělit příspěvek",
"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": "Téma bylo úspěšně rozděleno!",
"reputation": "Reputace",
"posts": "Příspěvky",
"composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write",
"composer.preview": "Preview",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to",
"composer.new_topic": "New Topic"
}

View File

@@ -1,6 +0,0 @@
{
"title": "Unread",
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
"mark_all_read": "Označit vše jako přečtené",
"load_more": "Načíst další"
}

View File

@@ -1,39 +0,0 @@
{
"banned": "Banned",
"offline": "Offline",
"username": "Uživatelské jméno",
"email": "Email",
"fullname": "Jméno a příjmení",
"website": "Webové stránky",
"location": "Poloha",
"age": "Věk",
"joined": "Registrován",
"lastonline": "Naposledy online",
"profile": "Profile",
"profile_views": "Zobrazení profilu",
"reputation": "Reputace",
"posts": "Příspěvky",
"favourites": "Oblíbené",
"followers": "Sledují ho",
"following": "Sleduje",
"signature": "Podpis",
"gravatar": "Gravatar",
"birthday": "Datum narození",
"change_picture": "Změnit obrázek",
"edit": "Upravit",
"uploaded_picture": "Nahraný obrázek",
"upload_new_picture": "Nahrát nový obrázek",
"change_password": "Změnit heslo",
"confirm_password": "Potvrzení hesla",
"password": "Heslo",
"upload_picture": "Nahrát obrázek",
"upload_a_picture": "Nahrát obrázek",
"image_spec": "Můžete nahrávat poze obrázky ve formátu PNG, JPG, nebo GIF o velikosti menší než 256kb.",
"settings": "Nastavení",
"show_email": "Zobrazovat můj email v profilu",
"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.",
"email_hidden": "Skrytý email",
"hidden": "skrytý"
}

View File

@@ -1,9 +0,0 @@
{
"latest_users": "Nejnovější uživatelé",
"top_posters": "Nejaktivnější",
"most_reputation": "Nejváženější",
"online": "Online",
"search": "Vyhledávat",
"enter_username": "Zadej uživatelské jméno k hledání",
"load_more": "Načíst další"
}

View File

@@ -1,14 +1,14 @@
{
"new_topic_button": "Neues Thema",
"no_topics": "<strong>Es gibt noch keine Threads in dieser Kategorie.</strong><br />Warum beginnst du nicht den ersten?",
"sidebar.recent_replies": "Neuste Antworten",
"sidebar.active_participants": "Aktive Teilnehmer",
"sidebar.moderators": "Moderatoren",
"posts": "Posts",
"views": "Aufrufe",
"posted": "Geposted",
"browsing": "Sieht zu",
"no_replies": "Niemand hat geantwortet",
"replied": "geantwortet",
"last_edited_by": "zuletzt editiert durch"
}
"new_topic_button": "Neues Thema",
"no_topics": "<strong>Es gibt noch keine Threads in dieser Kategorie.</strong><br />Warum beginnst du nicht den ersten?",
"sidebar.recent_replies": "Neuste Antworten",
"sidebar.active_participants": "Aktive Teilnehmer",
"sidebar.moderators": "Moderatoren",
"posts": "Posts",
"views": "Aufrufe",
"posted": "Geposted",
"browsing": "Sieht zu",
"no_replies": "Niemand hat geantwortet",
"replied": "geantwortet",
"last_edited_by": "zuletzt editiert durch"
}

View File

@@ -1,7 +1,10 @@
{
"stats.online": "Online",
"stats.users": "Benutzer",
"stats.topics": "Themen",
"stats.posts": "Beiträge",
"success": "erfolg"
}
"chat.chatting_with": "Chatten mit <span id='chat-with-name'></span>",
"chat.placeholder": "schreibe hier etwas, und drücke Enter zum absenden",
"chat.send": "Senden",
"stats.online": "Online",
"stats.users": "Benutzer",
"stats.topics": "Themen",
"stats.posts": "Beiträge",
"success": "erfolg"
}

View File

@@ -1,52 +1,31 @@
{
"home": "Übersicht",
"search": "Suche",
"buttons.close": "Schließen",
"403.title": "Zugriff Verweigert",
"403.message": "Du bist nicht dazu berechtigt, diese Seite aufzurufen. <a href='/login'>Logge dich ein</a> und versuche es erneut.",
"404.title": " Nicht Gefunden",
"404.message": "Die abgefragte Seite wurde nicht gefunden. <a href='/''>Zurück zur Übersicht</a>.",
"500.title": "Internal error.",
"500.message": "Ooops! Looks like something went wrong!",
"register": "Registrierung",
"login": "Login",
"logout": "Logout",
"logout.title": "Du bist ausgeloggt.",
"logout.message": "Du hast dich soeben erfolgreich aus dem Forum ausgeloggt.",
"save_changes": "Speichere Änderungen",
"close": "Schließen",
"header.admin": "Admin",
"header.recent": "Aktuell",
"header.unread": "Ungelesen",
"header.popular": "Beliebt",
"header.users": "Benutzer",
"header.chats": "Chats",
"header.notifications": "Benachrichtigungen",
"header.search": "Suche",
"header.profile": "Profil",
"notifications.loading": "Benachrichtigungen laden",
"chats.loading": "Nachrichten werden geladen",
"motd.welcome": "Willkommen auf NodeBB, der Diskussionsplattform der Zukunft.",
"motd.get": "Bekommen NodeBB",
"motd.fork": "Fork",
"motd.like": "Gefällt mir",
"motd.follow": "Folgen",
"previouspage": "Vorherige Seite",
"nextpage": "Nächste Seite",
"alert.success": "Erfolg",
"alert.error": "Fehler",
"alert.banned": "Gebannt",
"alert.banned.message": "Du bist gebannt und wirst nun ausgeloggt.",
"alert.unfollow": "Du folgst %1 nicht länger!",
"alert.follow": "Du folgst nun %1!",
"posts": "Beiträge",
"views": "Aufrufe",
"posted": "geposted",
"in": "in",
"recentposts": "Aktuelle Beiträge",
"online": "Online",
"away": "Abwesend",
"dnd": "Nicht stören",
"invisible": "Unsichtbar",
"offline": "Offline"
}
"home": "Übersicht",
"search": "Suche",
"buttons.close": "Schließen",
"403.title": "Zugriff Verweigert",
"403.message": "Du bist nicht dazu berechtigt, diese Seite aufzurufen. <a href='/login'>Logge dich ein</a> und versuche es erneut.",
"404.title": " Nicht Gefunden",
"404.message": "Die abgefragte Seite wurde nicht gefunden. <a href='/''>Zurück zur Übersicht</a>.",
"500.title": "Internal error.",
"500.message": "Ooops! Looks like something went wrong!",
"register": "Registrierung",
"login": "Login",
"logout": "Logout",
"logout.title": "Du bist ausgeloggt.",
"logout.message": "Du hast dich soeben erfolgreich aus dem Forum ausgeloggt.",
"save_changes": "Speichere Änderungen",
"close": "Schließen",
"header.admin": "Admin",
"header.recent": "Aktuell",
"header.unread": "Ungelesen",
"header.users": "Benutzer",
"header.search": "Suche",
"header.profile": "Profil",
"notifications.loading": "Benachrichtigungen laden",
"chats.loading": "Nachrichten werden geladen"
}

View File

@@ -1,5 +0,0 @@
{
"name": "German",
"code": "de",
"dir": "ltr"
}

View File

@@ -1,10 +1,10 @@
{
"login": "Einloggen",
"username": "Benutzername",
"password": "Passwort",
"remember_me": "Eingeloggt bleiben?",
"forgot_password": "Passwort vergessen?",
"alternative_logins": "Login Alternativen",
"failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.",
"login_successful": "Du hast dich erfolgreich eingeloggt!"
}
"login": "Einloggen",
"username": "Benutzername",
"password": "Passwort",
"remember_me": "Eingeloggt bleiben?",
"forgot_password": "Passwort vergessen?",
"alternative_logins": "Login Alternativen",
"failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.",
"login_successful": "Du hast dich erfolgreich eingeloggt!"
}

View File

@@ -1,6 +0,0 @@
{
"chat.chatting_with": "Chatten mit <span id='chat-with-name'></span>",
"chat.placeholder": "schreibe hier etwas, und drücke Enter zum absenden",
"chat.send": "Senden",
"chat.no_active": "Sie haben keine aktiven Chats."
}

View File

@@ -1,10 +1,9 @@
{
"title": "Benachrichtigungen",
"no_notifs": "You have no notifications",
"see_all": "See all Notifications",
"back_to_home": "Zurück zur Startseite",
"outgoing_link": "Externer Link",
"outgoing_link_message": "Du verlässt nun",
"continue_to": "Gehe weiter zu",
"return_to": "Kehre zurück zu"
}
"title": "Benachrichtigungen",
"back_to_home": "Zurück zur Startseite",
"mark_all_as_read": "Alles als gelesen markieren",
"outgoing_link": "Externer Link",
"outgoing_link_message": "Du verlässt nun",
"continue_to": "Gehe weiter zu",
"return_to": "Kehre zurück zu"
}

View File

@@ -1,12 +0,0 @@
{
"home": "Home",
"unread": "Unread Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
}

View File

@@ -1,7 +1,5 @@
{
"title": "Aktuell",
"day": "Tag",
"week": "Woche",
"month": "Monat",
"no_recent_topics": "There are no recent topics."
}
"day": "Tag",
"week": "Woche",
"month": "Monat"
}

View File

@@ -1,18 +1,16 @@
{
"register": "Registrieren",
"help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.",
"help.username_restrictions": "Einen einmaligen Benutzernamen. 3-16 Zeichen. Andere Benutzer können dich mit @<span id='yourUsername'>Benutzername</span> anschreiben.",
"help.minimum_password_length": "Dein Passwort muss mindestens sechs Zeichen lang sein.",
"email_address": "E-Mail",
"email_address_placeholder": "E-Mail Adresse hier eingeben",
"username": "Benutzername",
"username_placeholder": "Benutzernamen eingeben",
"password": "Passwort",
"password_placeholder": "Passwort eingeben",
"confirm_password": "Passwort bestätigen",
"confirm_password_placeholder": "Passwort zur Bestätigung erneut eingeben",
"register_now_button": "Jetzt registrieren",
"alternative_registration": "Alternative Registrierung",
"terms_of_use": "Nutzungsbedingungen",
"agree_to_terms_of_use": "Ich stimme den Nutzungsbedingungen zu"
}
"register": "Registrieren",
"help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.",
"help.username_restrictions": "Einen einmaligen Benutzernamen. 3-16 Zeichen. Andere Benutzer können dich mit @<span id='yourUsername'>Benutzername</span> anschreiben.",
"help.minimum_password_length": "Dein Passwort muss mindestens sechs Zeichen lang sein.",
"email_address": "E-Mail",
"email_address_placeholder": "E-Mail Adresse hier eingeben",
"username": "Benutzername",
"username_placeholder": "Benutzernamen eingeben",
"password": "Passwort",
"password_placeholder": "Passwort eingeben",
"confirm_password": "Passwort bestätigen",
"confirm_password_placeholder": "Passwort zur Bestätigung erneut eingeben",
"register_now_button": "Jetzt registrieren",
"alternative_registration": "Alternative Registrierung"
}

View File

@@ -1,13 +1,13 @@
{
"reset_password": "Passwort zurücksetzen",
"update_password": "Ändere Passwort",
"password_changed.title": "Passwort geändert",
"password_changed.message": "<p>Passwort erfolgreich zurückgesetzt. Bitte <a href=\"/login\">logge dich erneut ein</a>.",
"wrong_reset_code.title": "Der Reset-Code ist falsch.",
"wrong_reset_code.message": "Der empfangene Reset-Code war falsch. Bitte versuche es erneut oder <a href=\"/reset\">fordere einen neuen Code an</a>.",
"new_password": "Neues Passwort",
"repeat_password": "Wiederhole das Passwort",
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
"password_reset_sent": "Passwortzrücksetzung beantragt.",
"invalid_email": "Ungültige E-Mail / Adresse existiert nicht!"
}
"reset_password": "Passwort zurücksetzen",
"update_password": "Ändere Passwort",
"password_change": "Passwort wurde geändert",
"password_reset_successful": "<p>Das Passwort wurde erfolgreich zurückgesetzt. <a href=\"/login\">Log dich neu ein</a>.",
"wrong_reset_code.title": "Der Reset-Code ist falsch.",
"wrong_reset_code.message": "Der empfangene Reset-Code war falsch. Bitte versuche es erneut oder <a href=\"/reset\">fordere einen neuen Code an</a>.",
"new_password": "Neues Passwort",
"repeat_password": "Wiederhole das Passwort",
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
"password_reset_sent": "Passwortzrücksetzung beantragt.",
"invalid_email": "Ungültige E-Mail / Adresse existiert nicht!"
}

View File

@@ -1,63 +1,43 @@
{
"topic": "Thema",
"topics": "Themen",
"no_topics_found": "Keine passende Themen gefunden.",
"no_posts_found": "No posts found!",
"profile": "Profil",
"posted_by": "Geposted von",
"chat": "Chat",
"notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.",
"quote": "zitieren",
"reply": "antworten",
"edit": "bearbeiten",
"delete": "löschen",
"move": "Verschieben",
"fork": "Aufspalten",
"banned": "gesperrt",
"link": "Link",
"share": "Teilen",
"tools": "Tools",
"flag": "Markieren",
"flag_title": "Diesen Beitrag zur Moderation markieren",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"thread_tools.title": "Thread Tools",
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
"thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "Lock Topic",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "Move Topic",
"thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic",
"thread_tools.restore": "Restore Topic",
"load_categories": "Kategorien laden",
"disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.",
"confirm_move": "verschieben",
"confirm_fork": "Aufspalten",
"favourite": "Favorit",
"favourites": "Favoriten",
"favourites.not_logged_in.title": "Nicht eingeloggt!",
"favourites.not_logged_in.message": "Bitte logge dich ein, um diesen Beitrag favorisieren zu können.",
"favourites.has_no_favourites": "Du hast noch keine Favoriten.",
"vote.not_logged_in.title": "Not Logged In",
"vote.not_logged_in.message": "Please log in in order to vote",
"vote.cant_vote_self.title": "Invalid Vote",
"vote.cant_vote_self.message": "You cannot vote for your own post",
"loading_more_posts": "Lade Mehr Posts",
"move_topic": "Thema verschieben",
"move_post": "Beitrag verschieben",
"fork_topic": "Thema aufspalten",
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
"fork_topic_instruction": "Klicke auf die Posts, die du aufspalten willst",
"fork_no_pids": "Keine Beiträge ausgewählt!",
"fork_success": "Thema erfolgreich aufgespalten!",
"reputation": "Reputation",
"posts": "Beiträge",
"composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write",
"composer.preview": "Preview",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to",
"composer.new_topic": "New Topic"
}
"topic": "Thema",
"topics": "Themen",
"no_topics_found": "Keine passende Themen gefunden.",
"profile": "Profil",
"posted_by": "geschrieben von",
"chat": "Chat",
"notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.",
"quote": "zitieren",
"reply": "antworten",
"edit": "bearbeiten",
"delete": "löschen",
"banned": "gesperrt",
"link": "Link",
"thread_tools.title": "Thread Tools",
"thread_tools.pin": "Thread pinnen",
"thread_tools.unpin": "Thread nicht mehr pinnen",
"thread_tools.lock": "Thread sperren",
"thread_tools.move": "Thread verschieben",
"thread_tools.delete": "Thread löschen",
"load_categories": "Kategorien laden",
"disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.",
"confirm_move": "verschieben",
"favourite": "Favorit",
"favourites": "Favoriten",
"favourites.not_logged_in.title": "Nicht eingeloggt!",
"favourites.not_logged_in.message": "Bitte logge dich ein, um diesen Beitrag favorisieren zu können.",
"favourites.has_no_favourites":"Du hast noch keine Favoriten.",
"posted_by": "Geposted von",
"loading": "Lade",
"more_posts": "Mehr Posts",
"move_topic": "Thema verschieben",
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
"reputation": "Reputation",
"posts": "Posts"
}

View File

@@ -1,6 +1,5 @@
{
"title": "Ungelesen",
"no_unread_topics": "Es gibt keine ungelesenen Themen.",
"mark_all_read": "alle als gelesen markieren",
"load_more": "mehr laden"
"no_unread_topics": "Es gibt keine ungelesenen Themen.",
"mark_all_read": "alle als gelesen markieren",
"load_more": "mehr laden"
}

View File

@@ -1,39 +1,38 @@
{
"banned": "Gebannt",
"offline": "offline",
"username": "Nutzername",
"email": "E-Mail",
"fullname": "Kompletter Name",
"website": "Homepage",
"location": "Wohnort",
"age": "Alter",
"joined": "Beigetreten",
"lastonline": "Zuletzt online",
"profile": "Profile",
"profile_views": "Profilaufrufe",
"reputation": "Reputation",
"posts": "Posts",
"favourites": "Favoriten",
"followers": "Follower",
"following": "Folgt",
"signature": "Signatur",
"gravatar": "Gravatar",
"birthday": "Geburtstag",
"change_picture": "Ändere Profilbild",
"edit": "Ändern",
"uploaded_picture": "Hochgeladene Bilder",
"upload_new_picture": "Neues Bild hochladen",
"change_password": "Ändere Passwort",
"confirm_password": "Passwort wiederholen",
"password": "Passwort",
"upload_picture": "Bild hochladen",
"upload_a_picture": "Ein Bild hochladen",
"image_spec": "Du solltest nur Dateien die PNG, JPG, oder GIF kleiner als 256kb hochladen.",
"settings": "Einstellungen",
"show_email": "Zeige meine E-Mail Adresse an.",
"has_no_follower": "Dieser User hat noch keine Follower.",
"follows_no_one": "Dieser User folgt noch niemanden.",
"has_no_posts": "This user didn't post anything yet.",
"email_hidden": "E-Mail Adresse versteckt",
"hidden": "versteckt"
}
"banned": "Gebannt",
"offline": "offline",
"email": "E-Mail",
"fullname": "Kompletter Name",
"website": "Homepage",
"location": "Wohnort",
"age": "Alter",
"joined": "Beigetreten",
"profile_views": "Profilaufrufe",
"reputation": "Reputation",
"posts": "Posts",
"followers": "Follower",
"following": "Folgt",
"signature": "Signatur",
"gravatar": "Gravatar",
"birthday": "Geburtstag",
"change_picture": "Ändere Profilbild",
"edit": "Ändern",
"uploaded_picture": "Hochgeladene Bilder",
"upload_new_picture": "Neues Bild hochladen",
"change_password": "Ändere Passwort",
"confirm_password": "Passwort wiederholen",
"password": "Passwort",
"upload_picture": "Bild hochladen",
"upload_a_picture": "Ein Bild hochladen",
"image_spec": "Du solltest nur Dateien die PNG, JPG, oder GIF kleiner als 256kb hochladen.",
"settings": "Einstellungen",
"show_email": "Zeige meine E-Mail Adresse an.",
"has_no_follower": "Dieser User hat noch keine Follower.",
"follows_no_one": "Dieser User folgt noch niemanden."
}

View File

@@ -1,9 +1,9 @@
{
"latest_users": "neuste Benutzer",
"top_posters": "meiste Beiträge",
"most_reputation": "höhstes Ansehen",
"online": "Online",
"search": "Suchen",
"enter_username": "Benutzer durchsuchen",
"load_more": "mehr laden"
}
"latest_users": "neuste Benutzer",
"top_posters": "meiste Beiträge",
"most_reputation": "höhstes Ansehen",
"online": "Online",
"search": "Suchen",
"enter_username": "Benutzer durchsuchen",
"load_more": "mehr laden"
}

View File

@@ -2,5 +2,9 @@
"chat.chatting_with": "Chat with <span id=\"chat-with-name\"></span>",
"chat.placeholder": "type chat message here, press enter to send",
"chat.send": "Send",
"chat.no_active": "You have no active chats."
}
"stats.online": "Online",
"stats.users": "Users",
"stats.topics": "Topics",
"stats.posts": "Posts",
"success": "success"
}

View File

@@ -22,47 +22,10 @@
"header.admin": "Admin",
"header.recent": "Recent",
"header.unread": "Unread",
"header.popular": "Popular",
"header.users": "Users",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.search": "Search",
"header.profile": "Profile",
"notifications.loading": "Loading Notifications",
"chats.loading": "Loading Chats",
"motd.welcome": "Welcome to NodeBB, the discussion platform of the future.",
"motd.get": "Get NodeBB",
"motd.fork": "Fork",
"motd.like": "Like",
"motd.follow": "Follow",
"previouspage": "Previous Page",
"nextpage": "Next Page",
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"posts": "Posts",
"views": "Views",
"posted": "posted",
"in": "in",
"recentposts": "Recent Posts",
"online": "Online",
"away": "Away",
"dnd": "Do not Disturb",
"invisible": "Invisible",
"offline": "Offline",
"privacy": "Privacy"
"chats.loading": "Loading Chats"
}

View File

@@ -1,9 +1,7 @@
{
"title": "Notifications",
"no_notifs": "You have no new notifications",
"see_all": "See all Notifications",
"back_to_home": "Back to NodeBB",
"back_to_home": "back to NodeBB",
"mark_all_as_read": "Mark All as Read",
"outgoing_link": "Outgoing Link",
"outgoing_link_message": "You are now leaving",
"continue_to": "Continue to",

View File

@@ -0,0 +1,5 @@
{
"day": "Day",
"week": "Week",
"month": "Month"
}

View File

@@ -12,7 +12,5 @@
"confirm_password": "Confirm Password",
"confirm_password_placeholder": "Confirm Password",
"register_now_button": "Register Now",
"alternative_registration": "Alternative Registration",
"terms_of_use": "Terms of Use",
"agree_to_terms_of_use": "I agree to the Terms of Use"
"alternative_registration": "Alternative Registration"
}

View File

@@ -0,0 +1,43 @@
{
"topic": "Topic",
"topics": "Topics",
"no_topics_found": "No topics found!",
"profile": "Profile",
"posted_by": "Posted by",
"chat": "Chat",
"notify_me": "Be notified of new replies in this topic",
"quote": "Quote",
"reply": "Reply",
"edit": "Edit",
"delete": "Delete",
"fork": "Fork",
"banned": "banned",
"link": "Link",
"thread_tools.title": "Thread Tools",
"thread_tools.pin": "Pin Thread",
"thread_tools.lock": "Lock Thread",
"thread_tools.move": "Move Thread",
"thread_tools.delete": "Delete Thread",
"load_categories": "Loading Categories",
"disabled_categories_note": "Disabled Categories are greyed out",
"confirm_move": "Move",
"favourite": "Favourite",
"favourites": "Favorites",
"favourites.not_logged_in.title": "Not Logged In",
"favourites.not_logged_in.message": "Please log in in order to favourite this post",
"favourites.has_no_favourites": "You don't have any favourites, favourite some posts to see them here!",
"posted_by": "posted by",
"loading": "Loading",
"more_posts": "More Posts",
"move_topic": "Move Topic",
"topic_will_be_moved_to": "This topic will be moved to the category",
"reputation": "Reputation",
"posts": "Posts"
}

View File

@@ -1,5 +1,4 @@
{
"title": "Unread",
"no_unread_topics": "There are no unread topics.",
"mark_all_read": "Mark all as Read",
"load_more": "Load More"

View File

@@ -1,7 +1,6 @@
{
"banned": "Banned",
"offline": "Offline",
"username": "User Name",
"email": "Email",
"fullname": "Full Name",
"website": "Website",
@@ -9,11 +8,9 @@
"age": "Age",
"joined": "Joined",
"lastonline": "Last Online",
"profile": "Profile",
"profile_views": "Profile views",
"reputation": "Reputation",
"posts": "Posts",
"favourites":"Favourites",
"followers": "Followers",
"following": "Following",
"signature": "Signature",
@@ -30,20 +27,14 @@
"upload_picture": "Upload picture",
"upload_a_picture": "Upload a picture",
"image_spec": "You may only upload PNG, JPG, or GIF files",
"max": "max.",
"image_spec": "You may only upload PNG, JPG, or GIF files under 256kb.",
"settings": "Settings",
"settings": "settings",
"show_email": "Show My Email",
"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.",
"email_hidden": "Email Hidden",
"hidden": "hidden",
"paginate_description" : "Paginate topics and posts instead of using infinite scroll.",
"topics_per_page": "Topics per Page",
"posts_per_page": "Posts per Page"
"hidden": "hidden"
}

View File

@@ -1,7 +0,0 @@
{
"stats.online": "Online",
"stats.users": "Users",
"stats.topics": "Topics",
"stats.posts": "Posts",
"success": "success"
}

View File

@@ -1,5 +0,0 @@
{
"name": "English (United Kingdom/Canada)",
"code": "en_GB",
"dir": "ltr"
}

View File

@@ -1,12 +0,0 @@
{
"home": "Home",
"unread": "Unread Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
}

View File

@@ -1,7 +0,0 @@
{
"title": "Recent",
"day": "Day",
"week": "Week",
"month": "Month",
"no_recent_topics": "There are no recent topics."
}

View File

@@ -1,73 +0,0 @@
{
"topic": "Topic",
"topics": "Topics",
"no_topics_found": "No topics found!",
"no_posts_found": "No posts found!",
"profile": "Profile",
"posted_by": "Posted by",
"chat": "Chat",
"notify_me": "Be notified of new replies in this topic",
"quote": "Quote",
"reply": "Reply",
"edit": "Edit",
"delete": "Delete",
"move": "Move",
"fork": "Fork",
"banned": "banned",
"link": "Link",
"share": "Share",
"tools": "Tools",
"flag": "Flag",
"flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"thread_tools.title": "Thread Tools",
"thread_tools.markAsUnreadForAll": "Mark Unread",
"thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "Lock Topic",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "Move Topic",
"thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic",
"thread_tools.restore": "Restore Topic",
"load_categories": "Loading Categories",
"disabled_categories_note": "Disabled Categories are greyed out",
"confirm_move": "Move",
"confirm_fork": "Fork",
"favourite": "Favourite",
"favourites": "Favourites",
"favourites.not_logged_in.title": "Not Logged In",
"favourites.not_logged_in.message": "Please log in in order to favourite this post",
"favourites.has_no_favourites": "You don't have any favourites, favourite some posts to see them here!",
"vote.not_logged_in.title": "Not Logged In",
"vote.not_logged_in.message": "Please log in in order to vote",
"vote.cant_vote_self.title": "Invalid Vote",
"vote.cant_vote_self.message": "You cannot vote for your own post",
"loading_more_posts": "Loading More Posts",
"move_topic": "Move Topic",
"move_post": "Move Post",
"fork_topic": "Fork Topic",
"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!",
"reputation": "Reputation",
"posts": "Posts",
"composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write",
"composer.preview": "Preview",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to",
"composer.new_topic": "New Topic"
}

View File

@@ -1,14 +1,14 @@
{
"new_topic_button": "Nuevo Tema",
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />Por que no te animas y publicas uno?",
"sidebar.recent_replies": "Respuestas recientes",
"sidebar.active_participants": "Miembros más activos",
"sidebar.moderators": "Moderadores",
"posts": "respuestas",
"views": "visitas",
"posted": "posted",
"browsing": "viendo ahora",
"no_replies": "Nadie ha respondido aún",
"replied": "respondio",
"last_edited_by": "ultima edición por"
"new_topic_button": "Nuevo Tema",
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />Por que no te animas y publicas uno?",
"sidebar.recent_replies": "Respuestas recientes",
"sidebar.active_participants": "Miembros más activos",
"sidebar.moderators": "Moderadores",
"posts": "respuestas",
"views": "visitas",
"posted": "posted",
"browsing": "viendo ahora",
"no_replies": "Nadie ha respondido aún",
"replied": "respondio",
"last_edited_by": "ultima edición por"
}

View File

@@ -1,7 +1,10 @@
{
"stats.online": "Online",
"stats.users": "Usuarios",
"stats.topics": "Temas",
"stats.posts": "Posts",
"success": "exito!"
"chat.chatting_with": "Chatear con <span id='chat-with-name'></span>",
"chat.placeholder": "ingresa tu mensaje aqui, y presiona enter para enviar",
"chat.send": "Enviar",
"stats.online": "Online",
"stats.users": "Usuarios",
"stats.topics": "Temas",
"stats.posts": "Posts",
"success": "exito!"
}

View File

@@ -1,52 +1,31 @@
{
"home": "Inicio",
"search": "Buscar",
"buttons.close": "Cerrar",
"403.title": "Acceso denegado",
"403.message": "Al parecer no tienes premisos necesarios para estar en este lugar. Tal vez puedes <a href='/login'>intentar conectarte</a>?",
"404.title": "Ups... 404, no se encontra che!",
"404.message": "Al parecer lo que estas buscando no existe. Te recomendamos que vuelvas al <a href='/''>inicio</a>.",
"500.title": "Error Interno.",
"500.message": "Ooops! Algo salio mal!, No te alarmes. Nuestros simios hiperinteligentes lo solucionarán",
"register": "Registrarse",
"login": "Conectarse",
"logout": "Salir",
"logout.title": "Te has desconectado.",
"logout.message": "Haz sido desconectado correctamente",
"save_changes": "Guardar Cambios",
"close": "Cerrar",
"header.admin": "Admin",
"header.recent": "Recientes",
"header.unread": "No Leeidos",
"header.popular": "Popular",
"header.users": "Miembros",
"header.chats": "Chats",
"header.notifications": "Notificaciones",
"header.search": "Buscar",
"header.profile": "Perfil",
"notifications.loading": "Cargando Notificaciones",
"chats.loading": "Cargando Chats",
"motd.welcome": "Bienvenido a NodeBB, la plataforma de debate sobre el futuro.",
"motd.get": "Obtener NodeBB",
"motd.fork": "Fork",
"motd.like": "Me gusta",
"motd.follow": "Seguir",
"previouspage": "Pagina Anterior",
"nextpage": "Siguente Pagina",
"alert.success": "Exito!",
"alert.error": "Error",
"alert.banned": "Banneado",
"alert.banned.message": "Estas banneado, seras desconectado!",
"alert.unfollow": "Ya no estas siguiendo a %1!",
"alert.follow": "Estas siguiendo a %1!",
"posts": "Posts",
"views": "Visitas",
"posted": "publicado",
"in": "en",
"recentposts": "Posteos Recientes",
"online": "Conectado",
"away": "No disponible",
"dnd": "No molestar",
"invisible": "Invisible",
"offline": "Desconectado"
"home": "Inicio",
"search": "Buscar",
"buttons.close": "Cerrar",
"403.title": "Acceso denegado",
"403.message": "Al parecer no tienes premisos necesarios para estar en este lugar. Tal vez puedes <a href='/login'>intentar conectarte</a>?",
"404.title": "Ups... 404, no se encontra che!",
"404.message": "Al parecer lo que estas buscando no existe. Te recomendamos que vuelvas al <a href='/''>inicio</a>.",
"500.title": "Error Interno.",
"500.message": "Ooops! Algo salio mal!, No te alarmes. Nuestros simios hiperinteligentes lo solucionarán",
"register": "Registrarse",
"login": "Conectarse",
"logout": "Salir",
"logout.title": "Te has desconectado.",
"logout.message": "Haz sido desconectado correctamente",
"save_changes": "Guardar Cambios",
"close": "Cerrar",
"header.admin": "Admin",
"header.recent": "Recientes",
"header.unread": "No Leeidos",
"header.users": "Miembros",
"header.search": "Buscar",
"header.profile": "Perfil",
"notifications.loading": "Cargando Notificaciones",
"chats.loading": "Cargando Chats"
}

View File

@@ -1,5 +0,0 @@
{
"name": "Spanish",
"code": "es",
"dir": "ltr"
}

View File

@@ -1,10 +1,10 @@
{
"login": "Conectarse",
"username": "Usuario",
"password": "Contraseña",
"remember_me": "Recordarme?",
"forgot_password": "Olvidaste tu contraseña?",
"alternative_logins": "Conexiones Alternativas",
"failed_login_attempt": "Error al loguearte, intenta de nuevo.",
"login_successful": "Te has conectado con exito!"
"login": "Conectarse",
"username": "Usuario",
"password": "Contraseña",
"remember_me": "Recordarme?",
"forgot_password": "Olvidaste tu contraseña?",
"alternative_logins": "Conexiones Alternativas",
"failed_login_attempt": "Error al loguearte, intenta de nuevo.",
"login_successful": "Te has conectado con exito!"
}

View File

@@ -1,6 +0,0 @@
{
"chat.chatting_with": "Chatear con <span id='chat-with-name'></span>",
"chat.placeholder": "ingresa tu mensaje aqui, y presiona enter para enviar",
"chat.send": "Enviar",
"chat.no_active": "No tiene conversaciones activas."
}

View File

@@ -1,10 +1,9 @@
{
"title": "Notificaciones",
"no_notifs": "You have no notifications",
"see_all": "See all Notifications",
"back_to_home": "Volver al Inicio",
"outgoing_link": "Link Externo",
"outgoing_link_message": "Estas saliendo del sitio",
"continue_to": "Continuar",
"return_to": "Volver a "
}
"title": "Notificaciones",
"back_to_home": "volver al Inicio",
"mark_all_as_read": "Marcar todo como leeido",
"outgoing_link": "Link Externo",
"outgoing_link_message": "Estas saliendo del sitio",
"continue_to": "Continuar",
"return_to": "Volver a "
}

View File

@@ -1,12 +0,0 @@
{
"home": "Home",
"unread": "Unread Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
}

View File

@@ -1,7 +1,5 @@
{
"title": "Reciente",
"day": "a",
"week": "Semana",
"month": "Mes",
"no_recent_topics": "There are no recent topics."
"day": "Día",
"week": "Semana",
"month": "Mes"
}

View File

@@ -1,18 +1,16 @@
{
"register": "Registrase",
"help.email": "Por defecto, tu email será oculto al publico.",
"help.username_restrictions": "El nombre de usuario debe tener entre %1 y %2 caracteres. Los miembros pueden responderte escribiendo @<span id='yourUsername'>usuario</span>.",
"help.minimum_password_length": "Tu contraseña debe tener al menos %1 caracteres.",
"email_address": "Email",
"email_address_placeholder": "Escribe tu email",
"username": "Usuario",
"username_placeholder": "Escribe tu usuario",
"password": "Contraseña",
"password_placeholder": "Escribe tu Contraseña",
"confirm_password": "Confirmar Contraseña",
"confirm_password_placeholder": "Confirmar Contraseña",
"register_now_button": "Registrarme ahora",
"alternative_registration": "Otros metodos interesantes para registrarse",
"terms_of_use": "Términos y Condiciones de uso",
"agree_to_terms_of_use": "Acepto los Terminos y condiciones de uso"
"register": "Registrase",
"help.email": "Por defecto, tu email será oculto al publico.",
"help.username_restrictions": "El nombre de usuario debe tener entre %1 y %2 caracteres. Los miembros pueden responderte escribiendo @<span id='yourUsername'>usuario</span>.",
"help.minimum_password_length": "Tu contraseña debe tener al menos %1 caracteres.",
"email_address": "Email",
"email_address_placeholder": "Escribe tu email",
"username": "Usuario",
"username_placeholder": "Escribe tu usuario",
"password": "Contraseña",
"password_placeholder": "Escribe tu Contraseña",
"confirm_password": "Confirmar Contraseña",
"confirm_password_placeholder": "Confirmar Contraseña",
"register_now_button": "Registrarme ahora",
"alternative_registration": "Otros metodos interesantes para registrarse"
}

View File

@@ -1,13 +1,13 @@
{
"reset_password": "Resetear Contraseña",
"update_password": "Actualizar contraseña",
"password_changed.title": "Contraseña editada",
"password_changed.message": "<p>La contraseña fue modificada con exito, por favor <a href=\"/login\">conectate de nuevo</a>.",
"wrong_reset_code.title": "Código de Reseteo Incorrecto",
"wrong_reset_code.message": "El código de reseteo ingresado no es correcto. Por favor intentalo de nuevo o <a href=\"/reset\">pide un nuevo código</a>.",
"new_password": "Nueva Contraseña",
"repeat_password": "Confirmar Contraseña",
"enter_email": "Por favor ingresa tu <strong>email</strong> y te enviaremos un email de como resetear tu cuenta.",
"password_reset_sent": "Resteo de contraseña enviado",
"invalid_email": "Email Invalido o no existe!"
}
"reset_password": "Resetear Contraseña",
"update_password": "Actualizar contraseña",
"password_changed.title": "Contraseña editada",
"password_changed.message": "<p>La contraseña fue modificada con exito, por favor <a href=\"/login\">conectate de nuevo</a>.",
"wrong_reset_code.title": "Código de Reseteo Incorrecto",
"wrong_reset_code.message": "El código de reseteo ingresado no es correcto. Por favor intentalo de nuevo o <a href=\"/reset\">pide un nuevo código</a>.",
"new_password": "Nueva Contraseña",
"repeat_password": "Confirmar Contraseña",
"enter_email": "Por favor ingresa tu <strong>email</strong> y te enviaremos un email de como resetear tu cuenta.",
"password_reset_sent": "Resteo de contraseña enviado",
"invalid_email": "Email Invalido o no existe!"
}

View File

@@ -1,63 +1,42 @@
{
"topic": "Tema",
"topics": "Temas",
"no_topics_found": "No se encontraron temas!",
"no_posts_found": "No posts found!",
"profile": "Perfil",
"posted_by": "Publicado por",
"chat": "Chat",
"notify_me": "Seras notificado cuando haya nuevas respuestas en este tema",
"quote": "Citar",
"reply": "Responder",
"edit": "Editar",
"delete": "Borrar",
"move": "Mover",
"fork": "Forkear",
"banned": "banneado",
"link": "Link",
"share": "Compartir",
"tools": "Herramientas",
"flag": "Reportar",
"flag_title": "Reportar este post a los moderadores",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"thread_tools.title": "Herramientas del Tema",
"thread_tools.markAsUnreadForAll": "Marcar como no leido",
"thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "Lock Topic",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "Move Topic",
"thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic",
"thread_tools.restore": "Restore Topic",
"load_categories": "Cargando Categorias",
"disabled_categories_note": "Las categorías deshabilidas estan en gris",
"confirm_move": "Mover",
"confirm_fork": "Forkear",
"favourite": "Favorito",
"favourites": "Favoritos",
"favourites.not_logged_in.title": "No estas conectado :(",
"favourites.not_logged_in.message": "Por favor, conectate para agregar a favorito este post.",
"favourites.has_no_favourites": "No tienes favoritos, puedes agregar alguno y volver a verlos aqui!",
"vote.not_logged_in.title": "Not Logged In",
"vote.not_logged_in.message": "Please log in in order to vote",
"vote.cant_vote_self.title": "Invalid Vote",
"vote.cant_vote_self.message": "You cannot vote for your own post",
"loading_more_posts": "Cargando más posts",
"move_topic": "Mover Tema",
"move_post": "Mover post",
"fork_topic": "Forkear Tema",
"topic_will_be_moved_to": "Este tema sera movido a la categoría",
"fork_topic_instruction": "Click en los posts que quieres forkear",
"fork_no_pids": "No seleccionaste posts!",
"fork_success": "Forkeado con exito!",
"reputation": "Reputación",
"posts": "Posts",
"composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write",
"composer.preview": "Preview",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to",
"composer.new_topic": "New Topic"
"topic": "Tema",
"topics": "Temas",
"no_topics_found": "No se encontraron temas!",
"profile": "Perfil",
"posted_by": "Publicado por",
"chat": "Chat",
"notify_me": "Seras notificado cuando haya nuevas respuestas en este tema",
"quote": "Citar",
"reply": "Responder",
"edit": "Editar",
"delete": "Borrar",
"banned": "banneado",
"link": "Link",
"thread_tools.title": "Herramientas del Tema",
"thread_tools.pin": "Poner Sticky",
"thread_tools.lock": "Cerrar Tema",
"thread_tools.move": "Mover Tema",
"thread_tools.delete": "Borrar Tema",
"load_categories": "Cargando Categorias",
"disabled_categories_note": "Las categorías deshabilidas estan en gris",
"confirm_move": "Mover",
"favourite": "Favorito",
"favourites": "Favoritos",
"favourites.not_logged_in.title": "No estas conectado :(",
"favourites.not_logged_in.message": "Por favor, conectate para agregar a favorito este post.",
"favourites.has_no_favourites": "No tienes favoritos, puedes agregar alguno y volver a verlos aqui!",
"posted_by": "Publicado por",
"loading": "Cargando",
"more_posts": "Más posts",
"move_topic": "Mover Tema",
"topic_will_be_moved_to": "Este tema sera movido a la categoría",
"reputation": "Reputación",
"posts": "Posts"
}

View File

@@ -1,6 +1,5 @@
{
"title": "No leeido",
"no_unread_topics": "No hay temas nuevos para leer.",
"mark_all_read": "Marcar todo como leeido",
"load_more": "Cargar más"
"no_unread_topics": "No hay temas nuevos para leer.",
"mark_all_read": "Marcar todo como leeido",
"load_more": "Cargar más"
}

View File

@@ -1,39 +1,36 @@
{
"banned": "Banneado",
"offline": "Desconectado",
"username": "Usuario",
"email": "Email",
"fullname": "Nombre",
"website": "Website",
"location": "Ubicación",
"age": "Edad",
"joined": "Registro",
"lastonline": "Última vez online",
"profile": "Profile",
"profile_views": "Visitas en su perfil",
"reputation": "Reputación",
"posts": "Posts",
"favourites": "Favoritos",
"followers": "Seguidores",
"following": "Siguiendo",
"signature": "Firma",
"gravatar": "Gravatar",
"birthday": "Cumpleaños",
"change_picture": "Cambiar Foto",
"edit": "Editar",
"uploaded_picture": "Fotos Cargadas",
"upload_new_picture": "Cargar Nueva Foto",
"change_password": "Cambiar Contraseña",
"confirm_password": "Confirmar Contraseña",
"password": "Contraseña",
"upload_picture": "Cargar foto",
"upload_a_picture": "Cargar una foto",
"image_spec": "Solo puedes usar PNG, JPG, o GIF hasta 256kb.",
"settings": "Opciones",
"show_email": "Mostrar mi Email",
"has_no_follower": "Este miembro no tiene seguidores :(",
"follows_no_one": "Este miembro no sigue a nadie, que pena :(",
"has_no_posts": "This user didn't post anything yet.",
"email_hidden": "Email Oculto",
"hidden": "oculto"
}
"banned": "Banneado",
"offline": "Desconectado",
"email": "Email",
"fullname": "Nombre Completo",
"website": "Website",
"location": "Ubicación",
"age": "Edad",
"joined": "Registro",
"profile_views": "Visitas en su perfil",
"reputation": "Reputación",
"posts": "Posts",
"followers": "Seguidores",
"following": "Siguiendo",
"signature": "Firma",
"gravatar": "Gravatar",
"birthday": "Cumpleaños",
"change_picture": "Cambiar Foto",
"edit": "Editar",
"uploaded_picture": "Fotos Cargadas",
"upload_new_picture": "Cargar Nueva Foto",
"change_password": "Cambiar Contraseña",
"confirm_password": "Confirmar Contraseña",
"password": "Contraseña",
"upload_picture": "Cargar foto",
"upload_a_picture": "Cargar una foto",
"image_spec": "Solo puedes usar PNG, JPG, o GIF hasta 256kb.",
"settings": "Opciones",
"show_email": "Mostrar mi Email",
"has_no_follower": "Este miembro no tiene seguidores :(",
"follows_no_one": "Este miembro no sigue a nadie, que pena :("
}

View File

@@ -1,9 +1,9 @@
{
"latest_users": "Ultimos Miembros",
"top_posters": "Top Posteadores",
"most_reputation": "Mayor Reputación",
"online": "Conectados",
"search": "Buscar",
"enter_username": "Ingresa el nombre de usuario para buscar",
"load_more": "Cargar más"
"latest_users": "Ultimos Miembros",
"top_posters": "Top Posteadores",
"most_reputation": "Mayor Reputación",
"online": "Conectados",
"search": "Buscar",
"enter_username": "Ingresa el nombre de usuario para buscar",
"load_more": "Cargar más"
}

View File

@@ -1,14 +0,0 @@
{
"new_topic_button": "Aloita uusi keskustelu.",
"no_topics": "<strong>Tällä aihealueella ei ole yhtään viestiketjua.</strong><br />Miksi et aloittaisi yhtä?",
"sidebar.recent_replies": "Viimeisimmät vastaukset",
"sidebar.active_participants": "Aktiiviset keskustelijat",
"sidebar.moderators": "Moderaattorit",
"posts": "viestit",
"views": "katsottu",
"posted": "lähetetty",
"browsing": "selaamassa",
"no_replies": "Kukaan ei ole vastannut",
"replied": "vastasi",
"last_edited_by": "viimeksi muokannut "
}

View File

@@ -1,7 +0,0 @@
{
"stats.online": "Online",
"stats.users": "Käyttäjää",
"stats.topics": "Viestiketjua",
"stats.posts": "Viestiä",
"success": "onnistunut"
}

View File

@@ -1,52 +0,0 @@
{
"home": "Etusivu",
"search": "Etsi",
"buttons.close": "Sulje",
"403.title": "Pääsy kielletty",
"403.message": "Olet päätynyt sivulle jolle sinulla ei ole tarvittavia oikeuksia. Ehkäpä sinun tulisi <a href='/login'>kirjaudu sisään</a>?",
"404.title": "Sivua ei löydy",
"404.message": "Olet päätynyt sivulle jota ei ole olemassa. Palaa <a href='/'>etusivulle</a>.",
"500.title": "Sisäinen virhe.",
"500.message": "Oho! Jotain meni pieleen!",
"register": "Rekisteröidy",
"login": "Kirjaudu",
"logout": "Kirjaudu ulos",
"logout.title": "Olet nyt kirjaunut ulos.",
"logout.message": "Olet onnistuneesti kirjautunut ulos NodeBB:stä",
"save_changes": "Tallenna muutokset",
"close": "Sulje",
"header.admin": "Admin",
"header.recent": "Viimeisimmät",
"header.unread": "Lukemattomat",
"header.popular": "Popular",
"header.users": "Käyttäjät",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.search": "Etsi",
"header.profile": "Profiili",
"notifications.loading": "Ladataan ilmoituksia.",
"chats.loading": "Ladataan keskusteluja",
"motd.welcome": "Tervetuloa NodeBB:n, tulevaisuuden keskustelualustalle.",
"motd.get": "Hanki NodeBB",
"motd.fork": "Fork",
"motd.like": "Tykkää",
"motd.follow": "Seuraa",
"previouspage": "Previous Page",
"nextpage": "Next Page",
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You are banned you will be logged out!",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"posts": "Posts",
"views": "Views",
"posted": "posted",
"in": "in",
"recentposts": "Recent Posts",
"online": "Online",
"away": "Away",
"dnd": "Do not Disturb",
"invisible": "Invisible",
"offline": "Offline"
}

View File

@@ -1,5 +0,0 @@
{
"name": "Finnish",
"code": "fi",
"dir": "ltr"
}

View File

@@ -1,10 +0,0 @@
{
"login": "Kirjaudu sisään",
"username": "Käyttäjän nimi",
"password": "Salasana",
"remember_me": "Muista minut?",
"forgot_password": "Unohtuiko salasana?",
"alternative_logins": "Vaihtoehtoiset sisäänkirjaantumistavat",
"failed_login_attempt": "Sisäänkirjaantuminen epäonnistui, ole hyvä ja yritä uudestaan.",
"login_successful": "Olet onnistuneesti kirjautunut sisään!"
}

View File

@@ -1,6 +0,0 @@
{
"chat.chatting_with": "Juttele <span id=\"chat-with-name\"></span> kanssa",
"chat.placeholder": "kirjoita viestisi tähän, paina enter lähettääksesi",
"chat.send": "Lähetä",
"chat.no_active": "Sinulla ei ole aktiivisiä keskusteluita."
}

View File

@@ -1,10 +0,0 @@
{
"title": "Ilmoitukset",
"no_notifs": "You have no notifications",
"see_all": "See all Notifications",
"back_to_home": "Takaisin NodeBB:n",
"outgoing_link": "Ulkopuolinen linkki",
"outgoing_link_message": "Olet nyt poistumassa",
"continue_to": "Jatka",
"return_to": "Palaa "
}

View File

@@ -1,12 +0,0 @@
{
"home": "Home",
"unread": "Unread Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
}

View File

@@ -1,7 +0,0 @@
{
"title": "Recent",
"day": "Päivä",
"week": "Viikko",
"month": "Kuukausi",
"no_recent_topics": "There are no recent topics."
}

View File

@@ -1,18 +0,0 @@
{
"register": "Rekisteröidy",
"help.email": "Oletuksena sähköposti osoitettasi ei näytetä muille .",
"help.username_restrictions": "Yksilöllinen käyttäjänimi, pitää olla %1 - %2 merkkiä pitkä. Toiset voivat mainita sinut @<span id='yourUsername'>käyttäjänimi</span>.",
"help.minimum_password_length": "Salasanasi pitää olla vähintään %1 merkin mittainen.",
"email_address": "Sähköposti",
"email_address_placeholder": "Anna sähköpostiosoitteesi",
"username": "Käyttäjänimi",
"username_placeholder": "Syötä käyttäjänimesi",
"password": "Salasana",
"password_placeholder": "Syötä salasanasi",
"confirm_password": "Vahvista salasana",
"confirm_password_placeholder": "Vahvista salasana",
"register_now_button": "Rekisteröidy nyt",
"alternative_registration": "Vaihtoehtoiset rekisteröitymistavat",
"terms_of_use": "Terms of Use",
"agree_to_terms_of_use": "I agree to the Terms of Use"
}

View File

@@ -1,13 +0,0 @@
{
"reset_password": "Palauta salasana",
"update_password": "Päivitä salasana",
"password_changed.title": "Salasana muutettu",
"password_changed.message": "<p>Salasana palautettu onnistunesti, ole hyvä ja <a href=\"/login\">kirjaudu sisään uudestaan.</a>.",
"wrong_reset_code.title": "Väärä palautuskoodi",
"wrong_reset_code.message": "Annettu palautuskoodi oli väärä. Ole hyvä yritä uudelleen, tai <a href=\"/reset\">pyydä uutta palautuskoodia</a>.",
"new_password": "Uusi salasana",
"repeat_password": "Vahvista salasana",
"enter_email": "Syötä <strong>sähköpostiosoitteesi</strong> niin me lähetämänne Sinulle ohjeet kuinka voit palauttaa käyttäjätilisi.",
"password_reset_sent": "Salasanan palautus lähetetty",
"invalid_email": "Väärä sähköpostiosoite / Sähköpostiosoitetta ei ole!"
}

View File

@@ -1,63 +0,0 @@
{
"topic": "Keskustelu",
"topics": "Keskustelut",
"no_topics_found": "Keskusteluja ei löytynyt!",
"no_posts_found": "No posts found!",
"profile": "Profiili",
"posted_by": "Posted by",
"chat": "Juttele",
"notify_me": "Ilmoita uusista viesteistä tässä keskustelussa",
"quote": "Lainaa",
"reply": "Vastaa",
"edit": "Muokkaa",
"delete": "Poista",
"move": "Siirrä",
"fork": "Haaroita",
"banned": "banned",
"link": "Linkkaa",
"share": "Jaa",
"tools": "Työkalut",
"flag": "Flag",
"flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"thread_tools.title": "Ketjun työkalut",
"thread_tools.markAsUnreadForAll": "Merkitse luetuiksi",
"thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "Lock Topic",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "Move Topic",
"thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic",
"thread_tools.restore": "Restore Topic",
"load_categories": "Ladataan aihealueita",
"disabled_categories_note": "Käytöstä poistetut aihealueetta ovat harmaina",
"confirm_move": "Siirrä",
"confirm_fork": "Haaroita",
"favourite": "Suosikki",
"favourites": "Suosikit",
"favourites.not_logged_in.title": "Ei kirjaantuneena sisään",
"favourites.not_logged_in.message": "Kirjaudu sisään jotta voit lisätä tämän viestin suosikkeihisi.",
"favourites.has_no_favourites": "Sinulla ei ole yhtään suosikkiviestiä.",
"vote.not_logged_in.title": "Not Logged In",
"vote.not_logged_in.message": "Please log in in order to vote",
"vote.cant_vote_self.title": "Invalid Vote",
"vote.cant_vote_self.message": "You cannot vote for your own post",
"loading_more_posts": "Ladataan lisää viestejä",
"move_topic": "Siirrä keskustelu",
"move_post": "Siirrä viesti",
"fork_topic": "Haaroita keskustelu",
"topic_will_be_moved_to": "Tämä keskustelu siirretään aihealueelle ",
"fork_topic_instruction": "Klikkaa viestejä jotka haluat haaroittaa",
"fork_no_pids": "Ei valittuja viestejä!",
"fork_success": "Keskustelu haaroitettu onnistuneesti!",
"reputation": "Maine",
"posts": "Viestejä",
"composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write",
"composer.preview": "Preview",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to",
"composer.new_topic": "New Topic"
}

View File

@@ -1,6 +0,0 @@
{
"title": "Unread",
"no_unread_topics": "Ei lukemattomia keskusteluja.",
"mark_all_read": "Merkitse kaikki luetuiksi",
"load_more": "Lataa lisää"
}

View File

@@ -1,39 +0,0 @@
{
"banned": "Porttikiellossa",
"offline": "Offline",
"username": "Käyttäjän nimi",
"email": "Sähköposti",
"fullname": "Kokonimi",
"website": "Kotisivu",
"location": "Sijainti",
"age": "Ikä",
"joined": "Liittynyt",
"lastonline": "Viimeksi online",
"profile": "Profile",
"profile_views": "Profiilin katselukerrat",
"reputation": "Maine",
"posts": "Viestit",
"favourites": "Favourites",
"followers": "Seuraajat",
"following": "Seuraa",
"signature": "Allekirjoitus",
"gravatar": "Gravatar",
"birthday": "Syntymäpäivä",
"change_picture": "Vaihda kuvaa",
"edit": "Muokkaa",
"uploaded_picture": "Siirretty kuva",
"upload_new_picture": "Siirrä uusi kuva",
"change_password": "Vaihda salasanaa",
"confirm_password": "Vahvista salasanaa",
"password": "Salasana",
"upload_picture": "Siirrä kuva",
"upload_a_picture": "Siirrä kuva",
"image_spec": "Voit käyttää PNG, JPG, tai GIF tiedostoja joiden koko on korkeintaan 256kb.",
"settings": "Settings",
"show_email": "Näytä sähköpostiosoitteeni",
"has_no_follower": "Tällä käyttäjällä ei ole yhtään seuraaja :(",
"follows_no_one": "Tämä käyttäjä ei seuraa ketään :(",
"has_no_posts": "This user didn't post anything yet.",
"email_hidden": "Sähköposti piilotettu",
"hidden": "piilotettu"
}

View File

@@ -1,9 +0,0 @@
{
"latest_users": "Viimeisimmät Käyttäjät",
"top_posters": "Aktiivisimmat viestittelijät",
"most_reputation": "Eniten mainetta",
"online": "Online",
"search": "Etsi",
"enter_username": "Syötä käyttäjänimi etsiäksesi",
"load_more": "Lataa lisää"
}

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