fixed merge conflict

v1.18.x
psychobunny 11 years ago
commit 4435a20d90

2
.gitignore vendored

@ -20,3 +20,5 @@ feeds/recent.rss
# winston? # winston?
error.log error.log
events.log events.log
pidfile

@ -1,5 +1,6 @@
# <img alt="NodeBB" src="http://i.imgur.com/3yj1n6N.png" /> # <img alt="NodeBB" src="http://i.imgur.com/3yj1n6N.png" />
[![Dependency Status](https://david-dm.org/designcreateplay/nodebb.png)](https://david-dm.org/designcreateplay/nodebb) [![Dependency Status](https://david-dm.org/designcreateplay/nodebb.png)](https://david-dm.org/designcreateplay/nodebb)
[![Code Climate](https://codeclimate.com/github/designcreateplay/NodeBB.png)](https://codeclimate.com/github/designcreateplay/NodeBB)
**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 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.

@ -82,8 +82,7 @@ if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf
displayHelp(); displayHelp();
}; };
function loadConfig() {
function start() {
nconf.file({ nconf.file({
file: configFile file: configFile
}); });
@ -92,13 +91,18 @@ function start() {
themes_path: path.join(__dirname, 'node_modules') themes_path: path.join(__dirname, 'node_modules')
}); });
// Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
}
function start() {
loadConfig();
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path')); nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
nconf.set('upload_url', path.join(path.sep, nconf.get('relative_path'), 'uploads', path.sep)); nconf.set('upload_url', path.join(path.sep, nconf.get('relative_path'), 'uploads', path.sep));
nconf.set('base_dir', __dirname); 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('Time: ' + new Date());
winston.info('Initializing NodeBB v' + pkg.version); winston.info('Initializing NodeBB v' + pkg.version);
winston.info('* using configuration stored in: ' + configFile); winston.info('* using configuration stored in: ' + configFile);
@ -157,16 +161,14 @@ function start() {
} }
function setup() { function setup() {
loadConfig();
if (nconf.get('setup')) { if (nconf.get('setup')) {
winston.info('NodeBB Setup Triggered via Command Line'); winston.info('NodeBB Setup Triggered via Command Line');
} else { } else {
winston.warn('Configuration not found, starting NodeBB setup'); winston.warn('Configuration not found, starting NodeBB setup');
} }
nconf.file({
file: __dirname + '/config.json'
});
var install = require('./src/install'); var install = require('./src/install');
winston.info('Welcome to NodeBB!'); winston.info('Welcome to NodeBB!');
@ -185,9 +187,7 @@ function setup() {
} }
function upgrade() { function upgrade() {
nconf.file({ loadConfig();
file: __dirname + '/config.json'
});
var meta = require('./src/meta'); var meta = require('./src/meta');
@ -199,9 +199,7 @@ function upgrade() {
} }
function reset() { function reset() {
nconf.file({ loadConfig();
file: __dirname + '/config.json'
});
var meta = require('./src/meta'), var meta = require('./src/meta'),
db = require('./src/database'), db = require('./src/database'),

@ -1,26 +1,65 @@
var fork = require('child_process').fork, "use strict";
var nconf = require('nconf'),
fs = require('fs'),
pidFilePath = __dirname + '/pidfile',
start = function() { start = function() {
nbb = fork('./app', process.argv.slice(2), { var fork = require('child_process').fork,
env: { nbb_start = function() {
'NODE_ENV': process.env.NODE_ENV nbb = fork('./app', process.argv.slice(2), {
} env: {
}); 'NODE_ENV': process.env.NODE_ENV
}
});
nbb.on('message', function(cmd) { nbb.on('message', function(cmd) {
if (cmd === 'nodebb:restart') { if (cmd === 'nodebb:restart') {
nbb.on('exit', function() { nbb.on('exit', function() {
start(); nbb_start();
});
nbb.kill();
}
}); });
},
nbb_stop = function() {
nbb.kill(); nbb.kill();
} if (fs.existsSync(pidFilePath)) {
}); var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10);
}, if (process.pid === pid) {
stop = function() { fs.unlinkSync(pidFilePath);
nbb.kill(); }
}
};
process.on('SIGINT', nbb_stop);
process.on('SIGTERM', nbb_stop);
nbb_start();
}, },
nbb; nbb;
process.on('SIGINT', stop); nconf.argv();
process.on('SIGTERM', stop);
if (nconf.get('d')) {
// Check for a still-active NodeBB process
if (fs.existsSync(pidFilePath)) {
console.log('\n Error: Another NodeBB is already running!');
process.exit();
}
// Initialise logging streams
var outputStream = fs.createWriteStream(__dirname + '/logs/output.log');
outputStream.on('open', function(fd) {
// Daemonize
require('daemon')({
stdout: fd
});
// Write its pid to a pidfile
fs.writeFile(__dirname + '/pidfile', process.pid);
start(); start();
});
} else {
start();
}

1
logs/.gitignore vendored

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

@ -6,7 +6,19 @@
case "$1" in case "$1" in
start) start)
node loader "$@" echo "Starting NodeBB";
echo " \"./nodebb stop\" to stop the NodeBB server";
echo " \"./nodebb log\" to view server output";
node loader -d "$@"
;;
stop)
echo "Stopping NodeBB. Goodbye!";
kill `cat pidfile`;
;;
log)
tail -F ./logs/output.log;
;; ;;
upgrade) upgrade)
@ -42,13 +54,17 @@ case "$1" in
*) *)
echo "Welcome to NodeBB" echo "Welcome to NodeBB"
echo $"Usage: $0 {start|dev|watch|upgrade}" echo $"Usage: $0 {start|stop|log|setup|reset|upgrade|dev|watch}"
echo '' echo ''
column -s ' ' -t <<< ' column -s ' ' -t <<< '
start Start NodeBB in production mode start Start the NodeBB server
dev Start NodeBB in development mode stop Stops the NodeBB server
watch Start NodeBB in development mode and watch for changes log Opens the logging interface (useful for debugging)
setup Runs the NodeBB setup script
reset Disables all plugins, restores the default theme.
upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
dev Start NodeBB in interactive development mode
watch Start NodeBB in development mode and watch for changes
' '
exit 1 exit 1
esac esac

@ -10,6 +10,8 @@
}, },
"main": "app.js", "main": "app.js",
"scripts": { "scripts": {
"start": "./nodebb start",
"stop": "./nodebb stop",
"test": "mocha ./tests" "test": "mocha ./tests"
}, },
"dependencies": { "dependencies": {
@ -38,12 +40,13 @@
"socket.io-wildcard": "~0.1.1", "socket.io-wildcard": "~0.1.1",
"bcryptjs": "~0.7.10", "bcryptjs": "~0.7.10",
"nodebb-plugin-mentions": "~0.4", "nodebb-plugin-mentions": "~0.4",
"nodebb-plugin-markdown": "~0.3", "nodebb-plugin-markdown": "~0.4",
"nodebb-widget-essentials": "~0.0", "nodebb-widget-essentials": "~0.0",
"nodebb-theme-vanilla": "~0.0.14", "nodebb-theme-vanilla": "~0.0.14",
"nodebb-theme-cerulean": "~0.0.13", "nodebb-theme-cerulean": "~0.0.13",
"nodebb-theme-lavender": "~0.0.22", "nodebb-theme-lavender": "~0.0.22",
"less": "^1.6.3" "less": "^1.6.3",
"daemon": "~1.1.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"redis": "0.8.3", "redis": "0.8.3",

@ -1,9 +1,6 @@
{ {
"new_topic_button": "موضوع جديد", "new_topic_button": "موضوع جديد",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر واحد؟<br />", "no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر واحد؟<br />",
"sidebar.recent_replies": "الردود مؤخرا",
"sidebar.active_participants": "المشاركون النشطة",
"sidebar.moderators": "المشرفين",
"posts": "مشاركات", "posts": "مشاركات",
"views": "مشاهدات", "views": "مشاهدات",
"posted": "نشر", "posted": "نشر",

@ -10,6 +10,8 @@
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!", "500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
"register": "تسجيل", "register": "تسجيل",
"login": "دخول", "login": "دخول",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": "تسجيل الخروج", "logout": "تسجيل الخروج",
@ -47,6 +49,7 @@
"posted": "posted", "posted": "posted",
"in": "in", "in": "in",
"recentposts": "Recent Posts", "recentposts": "Recent Posts",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Away", "away": "Away",
"dnd": "Do not Disturb", "dnd": "Do not Disturb",

@ -8,6 +8,7 @@
"user.edit": "Editing \"%1\"", "user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows", "user.following": "People %1 Follows",
"user.followers": "People who Follow %1", "user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings" "user.settings": "User Settings"
} }

@ -11,6 +11,7 @@
"reply": "رد", "reply": "رد",
"edit": "صحح", "edit": "صحح",
"delete": "حذف", "delete": "حذف",
"restore": "Restore",
"move": "انقل", "move": "انقل",
"fork": "فرع", "fork": "فرع",
"banned": "محظور", "banned": "محظور",
@ -18,8 +19,15 @@
"share": "شارك", "share": "شارك",
"tools": "أدوات", "tools": "أدوات",
"flag": "Flag", "flag": "Flag",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "أدوات الموضوع", "thread_tools.title": "أدوات الموضوع",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write", "composer.write": "Write",
"composer.preview": "Preview", "composer.preview": "Preview",
"composer.help": "Help",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",
"composer.replying_to": "Replying to", "composer.replying_to": "Replying to",
"composer.new_topic": "New Topic" "composer.new_topic": "New Topic",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nové téma", "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í!", "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", "posts": "příspěvky",
"views": "zobrazení", "views": "zobrazení",
"posted": "odesláno", "posted": "odesláno",

@ -10,6 +10,8 @@
"500.message": "Jejda, vypadá to, že se něco pokazilo.", "500.message": "Jejda, vypadá to, že se něco pokazilo.",
"register": "Registrovat", "register": "Registrovat",
"login": "Přihlásit se", "login": "Přihlásit se",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": "Odhlásit se", "logout": "Odhlásit se",
@ -47,6 +49,7 @@
"posted": "odesláno", "posted": "odesláno",
"in": "v", "in": "v",
"recentposts": "Nedávné příspěvky", "recentposts": "Nedávné příspěvky",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Pryč", "away": "Pryč",
"dnd": "Nerušit", "dnd": "Nerušit",

@ -8,6 +8,7 @@
"user.edit": "Editing \"%1\"", "user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows", "user.following": "People %1 Follows",
"user.followers": "People who Follow %1", "user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings" "user.settings": "User Settings"
} }

@ -11,6 +11,7 @@
"reply": "Odpovědět", "reply": "Odpovědět",
"edit": "Upravit", "edit": "Upravit",
"delete": "Smazat", "delete": "Smazat",
"restore": "Restore",
"move": "Přesunout", "move": "Přesunout",
"fork": "Rozdělit", "fork": "Rozdělit",
"banned": "banned", "banned": "banned",
@ -18,8 +19,15 @@
"share": "Sdílet", "share": "Sdílet",
"tools": "Nástroje", "tools": "Nástroje",
"flag": "Flag", "flag": "Flag",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Nástroje", "thread_tools.title": "Nástroje",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write", "composer.write": "Write",
"composer.preview": "Preview", "composer.preview": "Preview",
"composer.help": "Help",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",
"composer.replying_to": "Replying to", "composer.replying_to": "Replying to",
"composer.new_topic": "New Topic" "composer.new_topic": "New Topic",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Neues Thema", "new_topic_button": "Neues Thema",
"no_topics": "<strong>Es gibt noch keine Threads in dieser Kategorie.</strong><br />Warum beginnst du nicht den ersten?", "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", "posts": "Posts",
"views": "Aufrufe", "views": "Aufrufe",
"posted": "Geposted", "posted": "Geposted",

@ -10,6 +10,8 @@
"500.message": "Ooops! Looks like something went wrong!", "500.message": "Ooops! Looks like something went wrong!",
"register": "Registrierung", "register": "Registrierung",
"login": "Login", "login": "Login",
"please_log_in": "Bitte einloggen",
"posting_restriction_info": "Nur registrierte Mitglieder dürfen Beiträge verfassen. Hier klicken zum Einloggen.",
"welcome_back": "Willkommen zurück", "welcome_back": "Willkommen zurück",
"you_have_successfully_logged_in": "Du hast dich erfolgreich eingeloggt", "you_have_successfully_logged_in": "Du hast dich erfolgreich eingeloggt",
"logout": "Logout", "logout": "Logout",
@ -47,6 +49,7 @@
"posted": "geposted", "posted": "geposted",
"in": "in", "in": "in",
"recentposts": "Aktuelle Beiträge", "recentposts": "Aktuelle Beiträge",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Abwesend", "away": "Abwesend",
"dnd": "Nicht stören", "dnd": "Nicht stören",

@ -1,13 +1,14 @@
{ {
"home": "Home", "home": "Home",
"unread": "Unread Topics", "unread": "Unread Topics",
"popular": "Popular Topics", "popular": "Beliebte Themen",
"recent": "Recent Topics", "recent": "Recent Topics",
"users": "Registered Users", "users": "Registered Users",
"notifications": "Notifications", "notifications": "Notifications",
"user.edit": "Editing \"%1\"", "user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows", "user.following": "People %1 Follows",
"user.followers": "People who Follow %1", "user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings" "user.settings": "User Settings"
} }

@ -11,6 +11,7 @@
"reply": "antworten", "reply": "antworten",
"edit": "bearbeiten", "edit": "bearbeiten",
"delete": "löschen", "delete": "löschen",
"restore": "Restore",
"move": "Verschieben", "move": "Verschieben",
"fork": "Aufspalten", "fork": "Aufspalten",
"banned": "gesperrt", "banned": "gesperrt",
@ -18,8 +19,15 @@
"share": "Teilen", "share": "Teilen",
"tools": "Tools", "tools": "Tools",
"flag": "Markieren", "flag": "Markieren",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Diesen Beitrag zur Moderation markieren", "flag_title": "Diesen Beitrag zur Moderation markieren",
"deleted_message": "Dieser Thread wurde gelöscht. Nur Nutzer mit Thread-Management Rechten können ihn sehen.", "deleted_message": "Dieser Thread wurde gelöscht. Nur Nutzer mit Thread-Management Rechten können ihn sehen.",
"following_topic.title": "Thema wird gefolgt",
"following_topic.message": "Du erhälst nun eine Benachrichtigung, wenn jemand einen Beitrag zu diesem Thema verfasst.",
"not_following_topic.title": "Thema nicht gefolgt",
"not_following_topic.message": "Du erhälst keine weiteren Benachrichtigungen zu diesem Thema.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Beobachten", "watch": "Beobachten",
"share_this_post": "Diesen Beitrag teilen", "share_this_post": "Diesen Beitrag teilen",
"thread_tools.title": "Thread Tools", "thread_tools.title": "Thread Tools",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Hier den Titel des Themas eingeben...", "composer.title_placeholder": "Hier den Titel des Themas eingeben...",
"composer.write": "Schreiben", "composer.write": "Schreiben",
"composer.preview": "Vorschau", "composer.preview": "Vorschau",
"composer.help": "Help",
"composer.discard": "Verwerfen", "composer.discard": "Verwerfen",
"composer.submit": "Absenden", "composer.submit": "Absenden",
"composer.replying_to": "Als Antwort auf", "composer.replying_to": "Als Antwort auf",
"composer.new_topic": "Neues Thema" "composer.new_topic": "Neues Thema",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Bilder hier reinziehen",
"composer.upload_instructions": "Zum Hochladen Bilder hier reinziehen."
} }

@ -22,6 +22,8 @@
"tools": "Tools", "tools": "Tools",
"flag": "Flag", "flag": "Flag",
"bookmark_instructions" : "Click here to return to your last position or close to discard.",
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
@ -30,7 +32,9 @@
"not_following_topic.title": "Not Following Topic", "not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success" : "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
@ -77,6 +81,7 @@
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write", "composer.write": "Write",
"composer.preview": "Preview", "composer.preview": "Preview",
"composer.help": "Help",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",
"composer.replying_to": "Replying to", "composer.replying_to": "Replying to",
@ -89,6 +94,5 @@
"composer.thumb_file_label": "Or upload a file", "composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields", "composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here", "composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.content_is_parsed_with": "Content is parsed with",
"composer.upload_instructions": "Upload images by dragging & dropping them." "composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nuevo Tema", "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?", "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", "posts": "respuestas",
"views": "visitas", "views": "visitas",
"posted": "posted", "posted": "posted",

@ -10,6 +10,8 @@
"500.message": "Ooops! Algo salio mal!, No te alarmes. Nuestros simios hiperinteligentes lo solucionarán", "500.message": "Ooops! Algo salio mal!, No te alarmes. Nuestros simios hiperinteligentes lo solucionarán",
"register": "Registrarse", "register": "Registrarse",
"login": "Conectarse", "login": "Conectarse",
"please_log_in": "Por favor conectate.",
"posting_restriction_info": "Para publicar debes ser miembro, registrate o conectate.",
"welcome_back": "Bienvenido de nuevo!", "welcome_back": "Bienvenido de nuevo!",
"you_have_successfully_logged_in": "Te has conectado!", "you_have_successfully_logged_in": "Te has conectado!",
"logout": "Salir", "logout": "Salir",
@ -47,6 +49,7 @@
"posted": "publicado", "posted": "publicado",
"in": "en", "in": "en",
"recentposts": "Publicaciones Recientes", "recentposts": "Publicaciones Recientes",
"recentips": "Recently Logged In IPs",
"online": "Conectado", "online": "Conectado",
"away": "No disponible", "away": "No disponible",
"dnd": "No molestar", "dnd": "No molestar",

@ -8,6 +8,7 @@
"user.edit": "Editando \"%1\"", "user.edit": "Editando \"%1\"",
"user.following": "Gente que sigue %1 ", "user.following": "Gente que sigue %1 ",
"user.followers": "Seguidores de %1", "user.followers": "Seguidores de %1",
"user.posts": "Posts made by %1",
"user.favourites": "Publicaciones favoritas de %1 ", "user.favourites": "Publicaciones favoritas de %1 ",
"user.settings": "Preferencias del Usuario" "user.settings": "Preferencias del Usuario"
} }

@ -11,6 +11,7 @@
"reply": "Responder", "reply": "Responder",
"edit": "Editar", "edit": "Editar",
"delete": "Borrar", "delete": "Borrar",
"restore": "Restore",
"move": "Mover", "move": "Mover",
"fork": "Bifurcar", "fork": "Bifurcar",
"banned": "baneado", "banned": "baneado",
@ -18,8 +19,15 @@
"share": "Compartir", "share": "Compartir",
"tools": "Herramientas", "tools": "Herramientas",
"flag": "Reportar", "flag": "Reportar",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Reportar esta publicación a los moderadores", "flag_title": "Reportar esta publicación a los moderadores",
"deleted_message": "Este tema ha sido borrado. Solo los miembros con privilegios pueden verlo.", "deleted_message": "Este tema ha sido borrado. Solo los miembros con privilegios pueden verlo.",
"following_topic.title": "Siguendo tema",
"following_topic.message": "Ahora recibiras notificaciones cuando alguien publique en este tema.",
"not_following_topic.title": "No sigues este tema",
"not_following_topic.message": "No recibiras notificaciones de este tema.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Seguir", "watch": "Seguir",
"share_this_post": "Compartir este post", "share_this_post": "Compartir este post",
"thread_tools.title": "Herramientas del Tema", "thread_tools.title": "Herramientas del Tema",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Ingresa el titulo de tu tema", "composer.title_placeholder": "Ingresa el titulo de tu tema",
"composer.write": "Escribe", "composer.write": "Escribe",
"composer.preview": "Previsualización", "composer.preview": "Previsualización",
"composer.help": "Help",
"composer.discard": "Descartar", "composer.discard": "Descartar",
"composer.submit": "Enviar", "composer.submit": "Enviar",
"composer.replying_to": "Respondiendo a", "composer.replying_to": "Respondiendo a",
"composer.new_topic": "Nuevo Tema" "composer.new_topic": "Nuevo Tema",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Arrastra las imagenes aqui",
"composer.upload_instructions": "Carga tus imagenes con solo arrastrarlas aqui."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Uusi aihe", "new_topic_button": "Uusi aihe",
"no_topics": "<strong>Tällä aihealueella ei ole yhtään aihetta.</strong><br />Miksi et aloittaisi uutta?", "no_topics": "<strong>Tällä aihealueella ei ole yhtään aihetta.</strong><br />Miksi et aloittaisi uutta?",
"sidebar.recent_replies": "Viimeisimmät vastaukset",
"sidebar.active_participants": "Aktiiviset keskustelijat",
"sidebar.moderators": "Moderaattorit",
"posts": "viestit", "posts": "viestit",
"views": "katsottu", "views": "katsottu",
"posted": "kirjoitettu", "posted": "kirjoitettu",

@ -49,6 +49,7 @@
"posted": "kirjoitettu", "posted": "kirjoitettu",
"in": "alueelle", "in": "alueelle",
"recentposts": "Viimeisimmät viestit", "recentposts": "Viimeisimmät viestit",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Poissa", "away": "Poissa",
"dnd": "Älä häiritse", "dnd": "Älä häiritse",

@ -8,6 +8,7 @@
"user.edit": "Muokataan \"%1\"", "user.edit": "Muokataan \"%1\"",
"user.following": "Käyttäjät, joita %1 seuraa", "user.following": "Käyttäjät, joita %1 seuraa",
"user.followers": "Käyttäjät, jotka seuraavat käyttäjää %1", "user.followers": "Käyttäjät, jotka seuraavat käyttäjää %1",
"user.posts": "Posts made by %1",
"user.favourites": "Käyttäjän %1 suosikkiviestit", "user.favourites": "Käyttäjän %1 suosikkiviestit",
"user.settings": "Käyttäjän asetukset" "user.settings": "Käyttäjän asetukset"
} }

@ -11,6 +11,7 @@
"reply": "Vastaa", "reply": "Vastaa",
"edit": "Muokkaa", "edit": "Muokkaa",
"delete": "Poista", "delete": "Poista",
"restore": "Restore",
"move": "Siirrä", "move": "Siirrä",
"fork": "Haaroita", "fork": "Haaroita",
"banned": "estetty", "banned": "estetty",
@ -18,13 +19,15 @@
"share": "Jaa", "share": "Jaa",
"tools": "Työkalut", "tools": "Työkalut",
"flag": "Ilmianna", "flag": "Ilmianna",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Ilmianna tämä viesti moderaattoreille", "flag_title": "Ilmianna tämä viesti moderaattoreille",
"deleted_message": "Tämä viestiketju on poistettu. Vain käyttäjät, joilla on viestiketjujen hallintaoikeudet, voivat nähdä sen.", "deleted_message": "Tämä viestiketju on poistettu. Vain käyttäjät, joilla on viestiketjujen hallintaoikeudet, voivat nähdä sen.",
"following_topic.title": "Seurataan aihetta", "following_topic.title": "Seurataan aihetta",
"following_topic.message": "Saat nyt ilmoituksen, kun joku kirjoittaa tähän aiheeseen.", "following_topic.message": "Saat nyt ilmoituksen, kun joku kirjoittaa tähän aiheeseen.",
"not_following_topic.title": "Et seuraa aihetta", "not_following_topic.title": "Et seuraa aihetta",
"not_following_topic.message": "Et saa enää ilmoituksia tästä aiheesta.", "not_following_topic.message": "Et saa enää ilmoituksia tästä aiheesta.",
"login_to_subscribe": "Ole hyvä ja rekisteröidy tai kirjaudu sisään tilataksesi tämän aiheen", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Tarkkaile", "watch": "Tarkkaile",
"share_this_post": "Jaa tämä viesti", "share_this_post": "Jaa tämä viesti",
"thread_tools.title": "Aiheen työkalut", "thread_tools.title": "Aiheen työkalut",
@ -63,11 +66,17 @@
"composer.title_placeholder": "Syötä aiheesi otsikko tähän...", "composer.title_placeholder": "Syötä aiheesi otsikko tähän...",
"composer.write": "Kirjoita", "composer.write": "Kirjoita",
"composer.preview": "Esikatsele", "composer.preview": "Esikatsele",
"composer.help": "Help",
"composer.discard": "Hylkää", "composer.discard": "Hylkää",
"composer.submit": "Lähetä", "composer.submit": "Lähetä",
"composer.replying_to": "Vastataan aiheeseen", "composer.replying_to": "Vastataan aiheeseen",
"composer.new_topic": "Uusi aihe", "composer.new_topic": "Uusi aihe",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Vedä ja pudota kuvat tähän", "composer.drag_and_drop_images": "Vedä ja pudota kuvat tähän",
"composer.content_is_parsed_with": "Sisältö jäsennetään muodossa",
"composer.upload_instructions": "Lataa kuvia vetämällä & pudottamalla ne." "composer.upload_instructions": "Lataa kuvia vetämällä & pudottamalla ne."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nouveau Sujet", "new_topic_button": "Nouveau Sujet",
"no_topics": "<strong>Il n'y a aucun topic dans cette catégorie.</strong><br />Pourquoi ne pas en créer un?", "no_topics": "<strong>Il n'y a aucun topic dans cette catégorie.</strong><br />Pourquoi ne pas en créer un?",
"sidebar.recent_replies": "Réponses Récentes",
"sidebar.active_participants": "Participants Actifs",
"sidebar.moderators": "Modérateurs",
"posts": "messages", "posts": "messages",
"views": "vues", "views": "vues",
"posted": "posté", "posted": "posté",

@ -10,6 +10,8 @@
"500.message": "Oops! Il semblerait que quelque chose se soit mal passé!", "500.message": "Oops! Il semblerait que quelque chose se soit mal passé!",
"register": "S'inscrire", "register": "S'inscrire",
"login": "Connecter", "login": "Connecter",
"please_log_in": "Connectez vous",
"posting_restriction_info": "L'écriture de message est réservée aux membres enregistrés, cliquer ici pour se connecter",
"welcome_back": "Bon retour parmis nous", "welcome_back": "Bon retour parmis nous",
"you_have_successfully_logged_in": "Vous vous êtes connecté avec succès.", "you_have_successfully_logged_in": "Vous vous êtes connecté avec succès.",
"logout": "Déconnection", "logout": "Déconnection",
@ -47,6 +49,7 @@
"posted": "posté", "posted": "posté",
"in": "dans", "in": "dans",
"recentposts": "Messages Récents", "recentposts": "Messages Récents",
"recentips": "Recently Logged In IPs",
"online": "En ligne", "online": "En ligne",
"away": "Absent", "away": "Absent",
"dnd": "Occupé", "dnd": "Occupé",

@ -1,13 +1,14 @@
{ {
"home": "Accueil", "home": "Accueil",
"unread": "Sujets non lus", "unread": "Sujets non lus",
"popular": "Popular Topics", "popular": "Sujets Populaires",
"recent": "Sujets Récents", "recent": "Sujets Récents",
"users": "Utilisateurs enregistrés", "users": "Utilisateurs enregistrés",
"notifications": "Notifications", "notifications": "Notifications",
"user.edit": "Edite \"%1\"", "user.edit": "Edite \"%1\"",
"user.following": "Personnes que %1 suit", "user.following": "Personnes que %1 suit",
"user.followers": "Personnes qui suivent %1", "user.followers": "Personnes qui suivent %1",
"user.posts": "Posts made by %1",
"user.favourites": "Messages favoris de %1", "user.favourites": "Messages favoris de %1",
"user.settings": "Préférences Utilisateur" "user.settings": "Préférences Utilisateur"
} }

@ -11,6 +11,7 @@
"reply": "Répondre", "reply": "Répondre",
"edit": "Editer", "edit": "Editer",
"delete": "Supprimer", "delete": "Supprimer",
"restore": "Restore",
"move": "Déplacer", "move": "Déplacer",
"fork": "Scinder", "fork": "Scinder",
"banned": "bannis", "banned": "bannis",
@ -18,8 +19,15 @@
"share": "Partager", "share": "Partager",
"tools": "Outils", "tools": "Outils",
"flag": "Signaler", "flag": "Signaler",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Signaler ce post pour modération", "flag_title": "Signaler ce post pour modération",
"deleted_message": "Ce sujet a été supprimé. Seuls les utilsateurs avec les droits d'administration peuvent le voir.", "deleted_message": "Ce sujet a été supprimé. Seuls les utilsateurs avec les droits d'administration peuvent le voir.",
"following_topic.title": "Sujet suivi",
"following_topic.message": "Vous recevrez désormais des notifications lorsque quelqu'un postera dans ce sujet.",
"not_following_topic.title": "Sujet non suivi",
"not_following_topic.message": "Vous ne recevrez plus de notifications pour ce sujet.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Suivre", "watch": "Suivre",
"share_this_post": "Partager ce message", "share_this_post": "Partager ce message",
"thread_tools.title": "Outils du Fil", "thread_tools.title": "Outils du Fil",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Entrer le titre du sujet ici...", "composer.title_placeholder": "Entrer le titre du sujet ici...",
"composer.write": "Ecriture", "composer.write": "Ecriture",
"composer.preview": "Aperçu", "composer.preview": "Aperçu",
"composer.help": "Help",
"composer.discard": "Abandon", "composer.discard": "Abandon",
"composer.submit": "Envoi", "composer.submit": "Envoi",
"composer.replying_to": "Répondre à", "composer.replying_to": "Répondre à",
"composer.new_topic": "Nouveau Sujet" "composer.new_topic": "Nouveau Sujet",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Glisser-déposer ici les images",
"composer.upload_instructions": "Uploader des images par glisser-déposer."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "נושא חדש", "new_topic_button": "נושא חדש",
"no_topics": "<strong>קטגוריה זו ריקה מנושאים.</strong><br />למה שלא תנסה להוסיף נושא חדש?", "no_topics": "<strong>קטגוריה זו ריקה מנושאים.</strong><br />למה שלא תנסה להוסיף נושא חדש?",
"sidebar.recent_replies": "תגובות אחרונות",
"sidebar.active_participants": "משתתפים פעילים",
"sidebar.moderators": "מנהלי הפורום",
"posts": "פוסטים", "posts": "פוסטים",
"views": "צפיות", "views": "צפיות",
"posted": "פורסם", "posted": "פורסם",

@ -10,6 +10,8 @@
"500.message": "אופס! נראה שמשהו השתבש!", "500.message": "אופס! נראה שמשהו השתבש!",
"register": "הרשמה", "register": "הרשמה",
"login": "התחברות", "login": "התחברות",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "ברוכים השבים", "welcome_back": "ברוכים השבים",
"you_have_successfully_logged_in": "התחברת בהצלחה", "you_have_successfully_logged_in": "התחברת בהצלחה",
"logout": "יציאה", "logout": "יציאה",
@ -47,6 +49,7 @@
"posted": "פורסם", "posted": "פורסם",
"in": "ב", "in": "ב",
"recentposts": "פוסטים אחרונים", "recentposts": "פוסטים אחרונים",
"recentips": "Recently Logged In IPs",
"online": "מחובר", "online": "מחובר",
"away": "לא נמצא", "away": "לא נמצא",
"dnd": "לא להפריע", "dnd": "לא להפריע",

@ -8,6 +8,7 @@
"user.edit": "עורך את %1", "user.edit": "עורך את %1",
"user.following": "אנשים ש%1 עוקב אחריהם", "user.following": "אנשים ש%1 עוקב אחריהם",
"user.followers": "אנשים שעוקבים אחרי %1", "user.followers": "אנשים שעוקבים אחרי %1",
"user.posts": "Posts made by %1",
"user.favourites": "הפוסטים המועדפים על %1", "user.favourites": "הפוסטים המועדפים על %1",
"user.settings": "הגדרות משתמש" "user.settings": "הגדרות משתמש"
} }

@ -11,6 +11,7 @@
"reply": "תגובה", "reply": "תגובה",
"edit": "עריכה", "edit": "עריכה",
"delete": "מחק", "delete": "מחק",
"restore": "Restore",
"move": "הזז", "move": "הזז",
"fork": "פורק", "fork": "פורק",
"banned": "מורחק", "banned": "מורחק",
@ -18,8 +19,15 @@
"share": "Share", "share": "Share",
"tools": "כלים", "tools": "כלים",
"flag": "דווח", "flag": "דווח",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "דווח על פוסט זה למנהל", "flag_title": "דווח על פוסט זה למנהל",
"deleted_message": "הנושא הזה נמחק. רק מנהלים מורשים לראות אותו", "deleted_message": "הנושא הזה נמחק. רק מנהלים מורשים לראות אותו",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "עקוב", "watch": "עקוב",
"share_this_post": "שתף פוסט זה", "share_this_post": "שתף פוסט זה",
"thread_tools.title": "כלים", "thread_tools.title": "כלים",
@ -58,8 +66,17 @@
"composer.title_placeholder": "הכנס את כותרת הנושא כאן...", "composer.title_placeholder": "הכנס את כותרת הנושא כאן...",
"composer.write": "כתוב", "composer.write": "כתוב",
"composer.preview": "תצוגה מקדימה", "composer.preview": "תצוגה מקדימה",
"composer.help": "Help",
"composer.discard": "מחק", "composer.discard": "מחק",
"composer.submit": "שלח", "composer.submit": "שלח",
"composer.replying_to": "תגובה", "composer.replying_to": "תגובה",
"composer.new_topic": "נושא חדש" "composer.new_topic": "נושא חדש",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Új Topik", "new_topic_button": "Új Topik",
"no_topics": "<strong>Még nincs nyitva egy téma sem ebben a kategóriában.</strong>Miért nem hozol létre egyet?", "no_topics": "<strong>Még nincs nyitva egy téma sem ebben a kategóriában.</strong>Miért nem hozol létre egyet?",
"sidebar.recent_replies": "Friss Válaszok",
"sidebar.active_participants": "Aktív Résztvevők",
"sidebar.moderators": "Moderátorok",
"posts": "hozzászólások", "posts": "hozzászólások",
"views": "megtekintések", "views": "megtekintések",
"posted": "hozzászólt", "posted": "hozzászólt",

@ -10,6 +10,8 @@
"500.message": "Hoppá! Úgy tűnik valami hiba történt!", "500.message": "Hoppá! Úgy tűnik valami hiba történt!",
"register": "Regisztrálás", "register": "Regisztrálás",
"login": "Belépés", "login": "Belépés",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": "Kijelentkezés", "logout": "Kijelentkezés",
@ -47,6 +49,7 @@
"posted": "hozzászólt", "posted": "hozzászólt",
"in": "itt:", "in": "itt:",
"recentposts": "Friss hozzászólások", "recentposts": "Friss hozzászólások",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Távol van", "away": "Távol van",
"dnd": "Elfoglalt", "dnd": "Elfoglalt",

@ -8,6 +8,7 @@
"user.edit": "Szerkesztés \"%1\"", "user.edit": "Szerkesztés \"%1\"",
"user.following": "Tagok akiket %1 követ", "user.following": "Tagok akiket %1 követ",
"user.followers": "Tagok akik követik %1 -t", "user.followers": "Tagok akik követik %1 -t",
"user.posts": "Posts made by %1",
"user.favourites": "%1 Kedvenc Hozzászólásai", "user.favourites": "%1 Kedvenc Hozzászólásai",
"user.settings": "Felhasználói Beállítások" "user.settings": "Felhasználói Beállítások"
} }

@ -11,6 +11,7 @@
"reply": "Válasz", "reply": "Válasz",
"edit": "Szerkeszt", "edit": "Szerkeszt",
"delete": "Töröl", "delete": "Töröl",
"restore": "Restore",
"move": "Áthelyez", "move": "Áthelyez",
"fork": "Szétszedés", "fork": "Szétszedés",
"banned": "tiltva", "banned": "tiltva",
@ -18,13 +19,15 @@
"share": "Megosztás", "share": "Megosztás",
"tools": "Eszközök", "tools": "Eszközök",
"flag": "Jelentés", "flag": "Jelentés",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "A hozzászólás jelentése a moderátoroknál", "flag_title": "A hozzászólás jelentése a moderátoroknál",
"deleted_message": "Ez a topik törölve lett. Kizárólag azok a felhasználók láthatják, akiknek joga van hozzá.", "deleted_message": "Ez a topik törölve lett. Kizárólag azok a felhasználók láthatják, akiknek joga van hozzá.",
"following_topic.title": "Following Topic", "following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic", "not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Téma Eszközök", "thread_tools.title": "Téma Eszközök",
@ -63,11 +66,17 @@
"composer.title_placeholder": "Írd be a témanevet...", "composer.title_placeholder": "Írd be a témanevet...",
"composer.write": "Ír", "composer.write": "Ír",
"composer.preview": "Előnézet", "composer.preview": "Előnézet",
"composer.help": "Help",
"composer.discard": "Elvet", "composer.discard": "Elvet",
"composer.submit": "Küldés", "composer.submit": "Küldés",
"composer.replying_to": "Válasz erre:", "composer.replying_to": "Válasz erre:",
"composer.new_topic": "Új Topik", "composer.new_topic": "Új Topik",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here", "composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.content_is_parsed_with": "Content is parsed with",
"composer.upload_instructions": "Upload images by dragging & dropping them." "composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nuovo Argomento", "new_topic_button": "Nuovo Argomento",
"no_topics": "<strong>Non ci sono discussioni in questa categoria.</strong><br />Perché non ne inizi una?", "no_topics": "<strong>Non ci sono discussioni in questa categoria.</strong><br />Perché non ne inizi una?",
"sidebar.recent_replies": "Risposte Recenti",
"sidebar.active_participants": "Partecipanti Attivi",
"sidebar.moderators": "Moderatori",
"posts": "post", "posts": "post",
"views": "visualizzazioni", "views": "visualizzazioni",
"posted": "postato", "posted": "postato",

@ -49,6 +49,7 @@
"posted": "postato", "posted": "postato",
"in": "in", "in": "in",
"recentposts": "Post Recenti", "recentposts": "Post Recenti",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Non disponibile", "away": "Non disponibile",
"dnd": "Non disturbare", "dnd": "Non disturbare",

@ -1,5 +1,5 @@
{ {
"name": "Italiano", "name": "Italiano",
"code": "it_IT", "code": "it",
"dir": "ltr" "dir": "ltr"
} }

@ -8,6 +8,7 @@
"user.edit": "Modificando \"%1\"", "user.edit": "Modificando \"%1\"",
"user.following": "%1 Persone seguono", "user.following": "%1 Persone seguono",
"user.followers": "Persone che seguono %1", "user.followers": "Persone che seguono %1",
"user.posts": "Posts made by %1",
"user.favourites": "Post Favoriti di %1", "user.favourites": "Post Favoriti di %1",
"user.settings": "Impostazioni Utente" "user.settings": "Impostazioni Utente"
} }

@ -11,6 +11,7 @@
"reply": "Rispondi", "reply": "Rispondi",
"edit": "Modifica", "edit": "Modifica",
"delete": "Cancella", "delete": "Cancella",
"restore": "Restore",
"move": "Muovi", "move": "Muovi",
"fork": "Dividi", "fork": "Dividi",
"banned": "bannato", "banned": "bannato",
@ -18,14 +19,16 @@
"share": "Condividi", "share": "Condividi",
"tools": "Strumenti", "tools": "Strumenti",
"flag": "Segnala", "flag": "Segnala",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Segnala questo post per la moderazione", "flag_title": "Segnala questo post per la moderazione",
"deleted_message": "Questo argomento è stato cancellato. Solo gli utenti che possono gestire gli argomenti riescono a vederlo.", "deleted_message": "Questo argomento è stato cancellato. Solo gli utenti che possono gestire gli argomenti riescono a vederlo.",
"following_topic.title": "Argomento seguente", "following_topic.title": "Stai seguendo questa Discussione",
"following_topic.message": "Da ora riceverai notifiche quando qualcuno posterà in questa discussione.", "following_topic.message": "Da ora riceverai notifiche quando qualcuno posterà in questa discussione.",
"not_following_topic.title": "Non stai seguendo questo argomento", "not_following_topic.title": "Non stai seguendo questa Discussione",
"not_following_topic.message": "Non riceverai più notifiche da questa discussione.", "not_following_topic.message": "Non riceverai più notifiche da questa discussione.",
"login_to_subscribe": "Per favore registrati o accedi per sottoscrivere questo argomento", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"watch": "Guarda", "markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Osserva",
"share_this_post": "Condividi questo Post", "share_this_post": "Condividi questo Post",
"thread_tools.title": "Strumenti per il Thread", "thread_tools.title": "Strumenti per il Thread",
"thread_tools.markAsUnreadForAll": "Segna come non letto", "thread_tools.markAsUnreadForAll": "Segna come non letto",
@ -63,11 +66,17 @@
"composer.title_placeholder": "Inserisci qui il titolo della discussione...", "composer.title_placeholder": "Inserisci qui il titolo della discussione...",
"composer.write": "Scrivi", "composer.write": "Scrivi",
"composer.preview": "Anteprima", "composer.preview": "Anteprima",
"composer.discard": "Scarta", "composer.help": "Help",
"composer.discard": "Annulla",
"composer.submit": "Invia", "composer.submit": "Invia",
"composer.replying_to": "Rispondendo a", "composer.replying_to": "Rispondendo a",
"composer.new_topic": "Nuovo Argomento", "composer.new_topic": "Nuovo Argomento",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Trascina e rilascia le immagini qui", "composer.drag_and_drop_images": "Trascina e rilascia le immagini qui",
"composer.content_is_parsed_with": "Il contenuto è analizzato con",
"composer.upload_instructions": "Carica immagini trascinandole e rilasciandole." "composer.upload_instructions": "Carica immagini trascinandole e rilasciandole."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nytt emne", "new_topic_button": "Nytt emne",
"no_topics": "<strong>Det er ingen emner i denne kategorien</strong><br />Hvorfor ikke lage ett?", "no_topics": "<strong>Det er ingen emner i denne kategorien</strong><br />Hvorfor ikke lage ett?",
"sidebar.recent_replies": "Seneste svar",
"sidebar.active_participants": "Aktive deltakere",
"sidebar.moderators": "Moderatorer",
"posts": "inlegg", "posts": "inlegg",
"views": "visninger", "views": "visninger",
"posted": "skapte", "posted": "skapte",

@ -10,6 +10,8 @@
"500.message": "Oops! Ser ut som noe gikk galt!", "500.message": "Oops! Ser ut som noe gikk galt!",
"register": "Registrer", "register": "Registrer",
"login": "Logg inn", "login": "Logg inn",
"please_log_in": "Vennligst logg inn",
"posting_restriction_info": "Posting er foreløpig begrenset til registrerte medlemmer, klikk her for å logge inn.",
"welcome_back": "Velkommen tilbake", "welcome_back": "Velkommen tilbake",
"you_have_successfully_logged_in": "Du har blitt logget inn", "you_have_successfully_logged_in": "Du har blitt logget inn",
"logout": "Logg ut", "logout": "Logg ut",
@ -47,6 +49,7 @@
"posted": "skapt", "posted": "skapt",
"in": "i", "in": "i",
"recentposts": "Seneste innlegg", "recentposts": "Seneste innlegg",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Borte", "away": "Borte",
"dnd": "Ikke forsturr", "dnd": "Ikke forsturr",

@ -1,13 +1,14 @@
{ {
"home": "Hjem", "home": "Hjem",
"unread": "Uleste emner", "unread": "Uleste emner",
"popular": "Popular Topics", "popular": "Populære tråder",
"recent": "Seneste emner", "recent": "Seneste emner",
"users": "Registrerte brukere", "users": "Registrerte brukere",
"notifications": "Varsler", "notifications": "Varsler",
"user.edit": "Endrer \"%1\"", "user.edit": "Endrer \"%1\"",
"user.following": "Personer %1 følger", "user.following": "Personer %1 følger",
"user.followers": "Personer som følger %1", "user.followers": "Personer som følger %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1 sine favoritt-innlegg", "user.favourites": "%1 sine favoritt-innlegg",
"user.settings": "Brukerinnstillinger" "user.settings": "Brukerinnstillinger"
} }

@ -11,6 +11,7 @@
"reply": "Svar", "reply": "Svar",
"edit": "Endre", "edit": "Endre",
"delete": "Slett", "delete": "Slett",
"restore": "Restore",
"move": "Flytt", "move": "Flytt",
"fork": "Del", "fork": "Del",
"banned": "utestengt", "banned": "utestengt",
@ -18,8 +19,15 @@
"share": "Del", "share": "Del",
"tools": "Verktøy", "tools": "Verktøy",
"flag": "Rapporter", "flag": "Rapporter",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Rapporter dette innlegget for granskning", "flag_title": "Rapporter dette innlegget for granskning",
"deleted_message": "Denne tråden har blitt slettet. Bare brukere med trådhåndterings-privilegier kan se den.", "deleted_message": "Denne tråden har blitt slettet. Bare brukere med trådhåndterings-privilegier kan se den.",
"following_topic.title": "Følger tråd",
"following_topic.message": "Du vil nå motta varsler når noen skriver i denne tråden.",
"not_following_topic.title": "Følger ikke tråd",
"not_following_topic.message": "Du vil ikke lenger motta varsler fra denne tråden.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Overvåk", "watch": "Overvåk",
"share_this_post": "Del ditt innlegg", "share_this_post": "Del ditt innlegg",
"thread_tools.title": "Trådverktøy", "thread_tools.title": "Trådverktøy",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Skriv din tråd-tittel her", "composer.title_placeholder": "Skriv din tråd-tittel her",
"composer.write": "Skriv", "composer.write": "Skriv",
"composer.preview": "Forhåndsvis", "composer.preview": "Forhåndsvis",
"composer.help": "Help",
"composer.discard": "Forkast", "composer.discard": "Forkast",
"composer.submit": "Send", "composer.submit": "Send",
"composer.replying_to": "Svarer til", "composer.replying_to": "Svarer til",
"composer.new_topic": "Ny tråd" "composer.new_topic": "Ny tråd",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Dra og slipp bilder her",
"composer.upload_instructions": "Last opp bilder ved å dra og slippe dem."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nieuw onderwerp", "new_topic_button": "Nieuw onderwerp",
"no_topics": "<strong>Er zijn geen onderwerpen in deze categorie.</strong><br />Waarom maak je er niet een aan?", "no_topics": "<strong>Er zijn geen onderwerpen in deze categorie.</strong><br />Waarom maak je er niet een aan?",
"sidebar.recent_replies": "Recente Reacties",
"sidebar.active_participants": "Actieve Deelnemers",
"sidebar.moderators": "Moderators",
"posts": "berichten", "posts": "berichten",
"views": "weergaven", "views": "weergaven",
"posted": "geplaatst", "posted": "geplaatst",

@ -49,6 +49,7 @@
"posted": "geplaatst", "posted": "geplaatst",
"in": "in", "in": "in",
"recentposts": "Recente Berichten", "recentposts": "Recente Berichten",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Afwezig", "away": "Afwezig",
"dnd": "Niet Storen", "dnd": "Niet Storen",

@ -8,6 +8,7 @@
"user.edit": "\"%1\" aanpassen", "user.edit": "\"%1\" aanpassen",
"user.following": "Mensen %1 Volgt", "user.following": "Mensen %1 Volgt",
"user.followers": "Mensen die %1 Volgen", "user.followers": "Mensen die %1 Volgen",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Favoriete Berichten", "user.favourites": "%1's Favoriete Berichten",
"user.settings": "Gebruikersinstellingen" "user.settings": "Gebruikersinstellingen"
} }

@ -11,6 +11,7 @@
"reply": "Reageren", "reply": "Reageren",
"edit": "Aanpassen", "edit": "Aanpassen",
"delete": "Verwijderen", "delete": "Verwijderen",
"restore": "Restore",
"move": "Verplaatsen", "move": "Verplaatsen",
"fork": "Fork", "fork": "Fork",
"banned": "verbannen", "banned": "verbannen",
@ -18,13 +19,15 @@
"share": "Delen", "share": "Delen",
"tools": "Gereedschap", "tools": "Gereedschap",
"flag": "Markeren", "flag": "Markeren",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Dit bericht markeren voor moderatie", "flag_title": "Dit bericht markeren voor moderatie",
"deleted_message": "Dit onderwerp is verwijderd. Alleen gebruikers met onderwerp management privileges kunnen dit onderwerp zien.", "deleted_message": "Dit onderwerp is verwijderd. Alleen gebruikers met onderwerp management privileges kunnen dit onderwerp zien.",
"following_topic.title": "Following Topic", "following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic", "not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Thread Gereedschap", "thread_tools.title": "Thread Gereedschap",
@ -63,11 +66,17 @@
"composer.title_placeholder": "Vul de titel voor het onderwerp hier in...", "composer.title_placeholder": "Vul de titel voor het onderwerp hier in...",
"composer.write": "Schrijven", "composer.write": "Schrijven",
"composer.preview": "Voorbeeld", "composer.preview": "Voorbeeld",
"composer.help": "Help",
"composer.discard": "Annuleren", "composer.discard": "Annuleren",
"composer.submit": "Opslaan", "composer.submit": "Opslaan",
"composer.replying_to": "Reageren op", "composer.replying_to": "Reageren op",
"composer.new_topic": "Nieuw Onderwerp", "composer.new_topic": "Nieuw Onderwerp",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here", "composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.content_is_parsed_with": "Content is parsed with",
"composer.upload_instructions": "Upload images by dragging & dropping them." "composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nowy wątek", "new_topic_button": "Nowy wątek",
"no_topics": "<strong>W tej kategorii nie ma jeszcze żadnych wątków.</strong><br />Dlaczego ty nie utworzysz jakiegoś?", "no_topics": "<strong>W tej kategorii nie ma jeszcze żadnych wątków.</strong><br />Dlaczego ty nie utworzysz jakiegoś?",
"sidebar.recent_replies": "Ostatnie odpowiedzi",
"sidebar.active_participants": "Aktywni uczestnicy",
"sidebar.moderators": "Moderatorzy",
"posts": "postów", "posts": "postów",
"views": "wyświetleń", "views": "wyświetleń",
"posted": "napisano", "posted": "napisano",

@ -49,6 +49,7 @@
"posted": "napisano", "posted": "napisano",
"in": "w", "in": "w",
"recentposts": "Ostatnie posty", "recentposts": "Ostatnie posty",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Z dala", "away": "Z dala",
"dnd": "Nie przeszkadzać", "dnd": "Nie przeszkadzać",

@ -8,6 +8,7 @@
"user.edit": "Edytowanie \"%1\"", "user.edit": "Edytowanie \"%1\"",
"user.following": "Obserwowani przez %1", "user.following": "Obserwowani przez %1",
"user.followers": "Obserwujący %1", "user.followers": "Obserwujący %1",
"user.posts": "Posts made by %1",
"user.favourites": "Ulubione posty %1", "user.favourites": "Ulubione posty %1",
"user.settings": "Ustawienia użytkownika" "user.settings": "Ustawienia użytkownika"
} }

@ -11,6 +11,7 @@
"reply": "Odpowiedz", "reply": "Odpowiedz",
"edit": "Edytuj", "edit": "Edytuj",
"delete": "Usuń", "delete": "Usuń",
"restore": "Restore",
"move": "Przenieś", "move": "Przenieś",
"fork": "Skopiuj", "fork": "Skopiuj",
"banned": "zbanowany", "banned": "zbanowany",
@ -18,13 +19,15 @@
"share": "Udostępnij", "share": "Udostępnij",
"tools": "Narzędzia", "tools": "Narzędzia",
"flag": "Zgłoś", "flag": "Zgłoś",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Zgłoś post do moderacji", "flag_title": "Zgłoś post do moderacji",
"deleted_message": "Ten wątek został usunięty. Tylko użytkownicy z uprawnieniami do zarządzania wątkami mogą go widzieć.", "deleted_message": "Ten wątek został usunięty. Tylko użytkownicy z uprawnieniami do zarządzania wątkami mogą go widzieć.",
"following_topic.title": "Obserwujesz wątek", "following_topic.title": "Obserwujesz wątek",
"following_topic.message": "Będziesz otrzymywał powiadomienia, gdy ktoś odpowie w tym wątku.", "following_topic.message": "Będziesz otrzymywał powiadomienia, gdy ktoś odpowie w tym wątku.",
"not_following_topic.title": "Nie obserwujesz wątku", "not_following_topic.title": "Nie obserwujesz wątku",
"not_following_topic.message": "Nie będziesz otrzymywał więcej powiadomień z tego wątku.", "not_following_topic.message": "Nie będziesz otrzymywał więcej powiadomień z tego wątku.",
"login_to_subscribe": "Zaloguj się, aby subskrybować ten wątek.", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Obserwuj", "watch": "Obserwuj",
"share_this_post": "Udostępnij", "share_this_post": "Udostępnij",
"thread_tools.title": "Narzędzia wątków", "thread_tools.title": "Narzędzia wątków",
@ -63,11 +66,17 @@
"composer.title_placeholder": "Wpisz tytuł wątku tutaj", "composer.title_placeholder": "Wpisz tytuł wątku tutaj",
"composer.write": "Pisz", "composer.write": "Pisz",
"composer.preview": "Podgląd", "composer.preview": "Podgląd",
"composer.help": "Help",
"composer.discard": "Odrzuć", "composer.discard": "Odrzuć",
"composer.submit": "Wyślij", "composer.submit": "Wyślij",
"composer.replying_to": "Odpowiadasz", "composer.replying_to": "Odpowiadasz",
"composer.new_topic": "Nowy wątek", "composer.new_topic": "Nowy wątek",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Przeciągnij i upuść obrazek tutaj.", "composer.drag_and_drop_images": "Przeciągnij i upuść obrazek tutaj.",
"composer.content_is_parsed_with": "Tekst jest parsowany przy pomocy",
"composer.upload_instructions": "Prześlij obrazki przeciągając i upuszczając je." "composer.upload_instructions": "Prześlij obrazki przeciągając i upuszczając je."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Novo Tópico", "new_topic_button": "Novo Tópico",
"no_topics": "<strong>Não tem nenhum tópico nesta categoria.</strong><br />Por que não tenta postar um?", "no_topics": "<strong>Não tem nenhum tópico nesta categoria.</strong><br />Por que não tenta postar um?",
"sidebar.recent_replies": "Respostas Recentes",
"sidebar.active_participants": "Participantes Ativos",
"sidebar.moderators": "Moderadores",
"posts": "posts", "posts": "posts",
"views": "visualizações", "views": "visualizações",
"posted": "postado", "posted": "postado",

@ -10,14 +10,16 @@
"500.message": "Oops! deu algo errado!", "500.message": "Oops! deu algo errado!",
"register": "Cadastrar", "register": "Cadastrar",
"login": "Logar", "login": "Logar",
"welcome_back": "Welcome Back ", "please_log_in": "Por favor efetue o login",
"you_have_successfully_logged_in": "You have successfully logged in", "posting_restriction_info": "Postagens esta restritas para membros registrados. clique aqui para logar",
"welcome_back": "Bem vindo de volta",
"you_have_successfully_logged_in": "Você logou com sucesso",
"logout": "Logout", "logout": "Logout",
"logout.title": "Logout com sucesso.", "logout.title": "Logout com sucesso.",
"logout.message": "Logado com Sucesso!", "logout.message": "Logado com Sucesso!",
"save_changes": "Salvar Alterações", "save_changes": "Salvar Alterações",
"close": "Fechar", "close": "Fechar",
"pagination": "Pagination", "pagination": "Paginação",
"header.admin": "Admin", "header.admin": "Admin",
"header.recent": "Recente", "header.recent": "Recente",
"header.unread": "Não Lido", "header.unread": "Não Lido",
@ -47,10 +49,11 @@
"posted": "Postado", "posted": "Postado",
"in": "em", "in": "em",
"recentposts": "Posts Recentes", "recentposts": "Posts Recentes",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Ausente", "away": "Ausente",
"dnd": "Não Perturbe", "dnd": "Não Perturbe",
"invisible": "Invisível", "invisible": "Invisível",
"offline": "Offline", "offline": "Offline",
"privacy": "Privacy" "privacy": "Privacidade"
} }

@ -1,7 +1,7 @@
{ {
"title": "Notificações", "title": "Notificações",
"no_notifs": "You have no new notifications", "no_notifs": "Você não tem nenhuma notificação nova",
"see_all": "See all Notifications", "see_all": "Visualizar todas as Notificações",
"back_to_home": "voltar para home", "back_to_home": "voltar para home",
"outgoing_link": "Link Externo", "outgoing_link": "Link Externo",
"outgoing_link_message": "Você está; saindo para um link externo", "outgoing_link_message": "Você está; saindo para um link externo",

@ -1,13 +1,14 @@
{ {
"home": "Home", "home": "Home",
"unread": "Tópicos Não Lidos", "unread": "Tópicos Não Lidos",
"popular": "Popular Topics", "popular": "Tópicos Populares",
"recent": "Tópicos Recentes", "recent": "Tópicos Recentes",
"users": "Usuários Registrados", "users": "Usuários Registrados",
"notifications": "Notificações", "notifications": "Notificações",
"user.edit": "Editando \"%1\"", "user.edit": "Editando \"%1\"",
"user.following": "Pessoas %1 Seguindo", "user.following": "Pessoas %1 Seguindo",
"user.followers": "Pessoas que seguem %1", "user.followers": "Pessoas que seguem %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Posts Favoritos", "user.favourites": "%1's Posts Favoritos",
"user.settings": "Configurações de Usuário" "user.settings": "Configurações de Usuário"
} }

@ -3,5 +3,5 @@
"day": "Dia", "day": "Dia",
"week": "Semana", "week": "Semana",
"month": "Mês", "month": "Mês",
"no_recent_topics": "There are no recent topics." "no_recent_topics": "Nenhum tópico recente."
} }

@ -2,7 +2,7 @@
"topic": "Tópico", "topic": "Tópico",
"topics": "Tópicos", "topics": "Tópicos",
"no_topics_found": "Nenhum tópico encontrado!", "no_topics_found": "Nenhum tópico encontrado!",
"no_posts_found": "No posts found!", "no_posts_found": "Nenhum post encontrado!",
"profile": "Profile", "profile": "Profile",
"posted_by": "Postado por", "posted_by": "Postado por",
"chat": "Bate Papo", "chat": "Bate Papo",
@ -11,6 +11,7 @@
"reply": "Responder", "reply": "Responder",
"edit": "Editar", "edit": "Editar",
"delete": "Deletar", "delete": "Deletar",
"restore": "Restore",
"move": "Mover", "move": "Mover",
"fork": "Fork", "fork": "Fork",
"banned": "Banido", "banned": "Banido",
@ -18,20 +19,27 @@
"share": "Compartilhar", "share": "Compartilhar",
"tools": "Ferramentas", "tools": "Ferramentas",
"flag": "Marcar", "flag": "Marcar",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Marcar este post para moderação", "flag_title": "Marcar este post para moderação",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "Esta Thread foi deletada. Somente usuários com privilégios administrativos podem ver.",
"watch": "Watch", "following_topic.title": "Seguir Tópico",
"share_this_post": "Share this Post", "following_topic.message": "Você receberá notificações quando alguém responder este tópico.",
"not_following_topic.title": "Não está seguindo Tópico",
"not_following_topic.message": "Você não irá mais receber notificações deste tópico.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Acompanhar",
"share_this_post": "Compartilhar este Post",
"thread_tools.title": "Ferramentas da Thread", "thread_tools.title": "Ferramentas da Thread",
"thread_tools.markAsUnreadForAll": "Marcar como não lido", "thread_tools.markAsUnreadForAll": "Marcar como não lido",
"thread_tools.pin": "Pin Topic", "thread_tools.pin": "Fixar Tópico",
"thread_tools.unpin": "Unpin Topic", "thread_tools.unpin": "Remover Fixação do Tópico",
"thread_tools.lock": "Lock Topic", "thread_tools.lock": "Trancar Tópico",
"thread_tools.unlock": "Unlock Topic", "thread_tools.unlock": "Destrancar Tópico",
"thread_tools.move": "Move Topic", "thread_tools.move": "Mover Tópico",
"thread_tools.fork": "Fork Topic", "thread_tools.fork": "Fork Tópico",
"thread_tools.delete": "Delete Topic", "thread_tools.delete": "Deletar Tópico",
"thread_tools.restore": "Restore Topic", "thread_tools.restore": "Restaurar Tópico",
"load_categories": "Carregando Categorias", "load_categories": "Carregando Categorias",
"disabled_categories_note": "Categorias desabilitadas estão em cinza", "disabled_categories_note": "Categorias desabilitadas estão em cinza",
"confirm_move": "Mover", "confirm_move": "Mover",
@ -41,10 +49,10 @@
"favourites.not_logged_in.title": "Não Logado", "favourites.not_logged_in.title": "Não Logado",
"favourites.not_logged_in.message": "Por Favor logar para favoritar o tópico", "favourites.not_logged_in.message": "Por Favor logar para favoritar o tópico",
"favourites.has_no_favourites": "Você não tem nenhum item favoritado!", "favourites.has_no_favourites": "Você não tem nenhum item favoritado!",
"vote.not_logged_in.title": "Not Logged In", "vote.not_logged_in.title": "Não está logado",
"vote.not_logged_in.message": "Please log in in order to vote", "vote.not_logged_in.message": "Por favor efetuar login para votar",
"vote.cant_vote_self.title": "Invalid Vote", "vote.cant_vote_self.title": "Voto inválido",
"vote.cant_vote_self.message": "You cannot vote for your own post", "vote.cant_vote_self.message": "Você não pode votar o seu próprio post",
"loading_more_posts": "Carregando mais posts", "loading_more_posts": "Carregando mais posts",
"move_topic": "Mover Tó;pico", "move_topic": "Mover Tó;pico",
"move_post": "Mover Post", "move_post": "Mover Post",
@ -55,11 +63,20 @@
"fork_success": "Fork realizado com sucesso!", "fork_success": "Fork realizado com sucesso!",
"reputation": "Reputação", "reputation": "Reputação",
"posts": "Posts", "posts": "Posts",
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Digite seu tópico aqui...",
"composer.write": "Write", "composer.write": "Escreva",
"composer.preview": "Preview", "composer.preview": "Pré Visualização",
"composer.discard": "Discard", "composer.help": "Help",
"composer.submit": "Submit", "composer.discard": "Descartar",
"composer.replying_to": "Replying to", "composer.submit": "Enviar",
"composer.new_topic": "New Topic" "composer.replying_to": "Respondendo para",
"composer.new_topic": "Novo Tópico",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Clique e arraste imagens aqui",
"composer.upload_instructions": "Mande suas imagens arrastando e soltando."
} }

@ -9,7 +9,7 @@
"age": "Idade", "age": "Idade",
"joined": "Cadastrou", "joined": "Cadastrou",
"lastonline": "Última vez online", "lastonline": "Última vez online",
"profile": "Profile", "profile": "Perfil",
"profile_views": "Visualizações de Profile", "profile_views": "Visualizações de Profile",
"reputation": "Reputação", "reputation": "Reputação",
"posts": "Posts", "posts": "Posts",
@ -19,29 +19,29 @@
"signature": "Assinatura", "signature": "Assinatura",
"gravatar": "Gravatar", "gravatar": "Gravatar",
"birthday": "Aniversário", "birthday": "Aniversário",
"chat": "Chat", "chat": "Bate Papo",
"follow": "Follow", "follow": "Seguir",
"unfollow": "Unfollow", "unfollow": "Deixar de Seguir",
"change_picture": "Alterar Foto", "change_picture": "Alterar Foto",
"edit": "Editar", "edit": "Editar",
"uploaded_picture": "Foto Carregada", "uploaded_picture": "Foto Carregada",
"upload_new_picture": "Carregar novo Foto", "upload_new_picture": "Carregar novo Foto",
"current_password": "Current Password", "current_password": "Senha Atual",
"change_password": "Alterar Senha", "change_password": "Alterar Senha",
"confirm_password": "Confirmar Senha", "confirm_password": "Confirmar Senha",
"password": "Senha", "password": "Senha",
"upload_picture": "Carregar Foto", "upload_picture": "Carregar Foto",
"upload_a_picture": "Carregar Foto", "upload_a_picture": "Carregar Foto",
"image_spec": "You may only upload PNG, JPG, or GIF files", "image_spec": "Você pode usar somente arquivos PNG, JPG ou GIF",
"max": "max.", "max": "max.",
"settings": "Configurações", "settings": "Configurações",
"show_email": "Mostrar meu email", "show_email": "Mostrar meu email",
"has_no_follower": "Ninguém está seguindo esse usuário :(", "has_no_follower": "Ninguém está seguindo esse usuário :(",
"follows_no_one": "Este usuário não está seguindo ninguém :(", "follows_no_one": "Este usuário não está seguindo ninguém :(",
"has_no_posts": "This user didn't post anything yet.", "has_no_posts": "Este usuário não postou nada ainda.",
"email_hidden": "Email Escondido", "email_hidden": "Email Escondido",
"hidden": "Escondido", "hidden": "Escondido",
"paginate_description": "Paginate topics and posts instead of using infinite scroll.", "paginate_description": "Paginação de tópicos e posts ao invés de usar \"scroll infinito\"",
"topics_per_page": "Topics per Page", "topics_per_page": "Tópicos por Página",
"posts_per_page": "Posts per Page" "posts_per_page": "Posts por Página"
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Создать тему", "new_topic_button": "Создать тему",
"no_topics": "<strong>В этой категории еще нет тем.</strong><br />Почему бы вам не создать первую?", "no_topics": "<strong>В этой категории еще нет тем.</strong><br />Почему бы вам не создать первую?",
"sidebar.recent_replies": "Последние сообщения",
"sidebar.active_participants": "Активные участники",
"sidebar.moderators": "Модераторы",
"posts": "сообщений", "posts": "сообщений",
"views": "просмотров", "views": "просмотров",
"posted": "написано", "posted": "написано",

@ -10,6 +10,8 @@
"500.message": "Упс! Похоже, что-то пошло не так!", "500.message": "Упс! Похоже, что-то пошло не так!",
"register": "Зарегистрироваться", "register": "Зарегистрироваться",
"login": "Войти", "login": "Войти",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": "Выйти", "logout": "Выйти",
@ -47,6 +49,7 @@
"posted": "создан", "posted": "создан",
"in": "в", "in": "в",
"recentposts": "Свежие записи", "recentposts": "Свежие записи",
"recentips": "Recently Logged In IPs",
"online": "В сети", "online": "В сети",
"away": "Отсутствует", "away": "Отсутствует",
"dnd": "Не беспокоить", "dnd": "Не беспокоить",

@ -8,6 +8,7 @@
"user.edit": "Редактирование \"%1\"", "user.edit": "Редактирование \"%1\"",
"user.following": "%1 читает", "user.following": "%1 читает",
"user.followers": "Читают %1", "user.followers": "Читают %1",
"user.posts": "Posts made by %1",
"user.favourites": "Избранные сообщения %1", "user.favourites": "Избранные сообщения %1",
"user.settings": "Настройки" "user.settings": "Настройки"
} }

@ -11,6 +11,7 @@
"reply": "Ответить", "reply": "Ответить",
"edit": "Редактировать", "edit": "Редактировать",
"delete": "Удалить", "delete": "Удалить",
"restore": "Restore",
"move": "Перенести", "move": "Перенести",
"fork": "Ответвление", "fork": "Ответвление",
"banned": "заблокировано", "banned": "заблокировано",
@ -18,8 +19,15 @@
"share": "Поделиться", "share": "Поделиться",
"tools": "Опции", "tools": "Опции",
"flag": "Отметить", "flag": "Отметить",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Отметить сообщение для модерирования", "flag_title": "Отметить сообщение для модерирования",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Опции Темы", "thread_tools.title": "Опции Темы",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write", "composer.write": "Write",
"composer.preview": "Preview", "composer.preview": "Preview",
"composer.help": "Help",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",
"composer.replying_to": "Replying to", "composer.replying_to": "Replying to",
"composer.new_topic": "New Topic" "composer.new_topic": "New Topic",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nová téma", "new_topic_button": "Nová téma",
"no_topics": "<strong>V tejto kategórií zatiaľ nie sú žiadne príspevky.</strong><br />Môžeš byť prvý!", "no_topics": "<strong>V tejto kategórií zatiaľ nie sú žiadne príspevky.</strong><br />Môžeš byť prvý!",
"sidebar.recent_replies": "Posledné príspevky",
"sidebar.active_participants": "Aktívni účastníci",
"sidebar.moderators": "Moderátori",
"posts": "príspevkov", "posts": "príspevkov",
"views": "zobrazení", "views": "zobrazení",
"posted": "odoslané", "posted": "odoslané",

@ -10,6 +10,8 @@
"500.message": "Jejda, vyzerá, že sa niečo pokazilo.", "500.message": "Jejda, vyzerá, že sa niečo pokazilo.",
"register": "Registrovať", "register": "Registrovať",
"login": "Prihlásiť sa", "login": "Prihlásiť sa",
"please_log_in": "Prosím Prihláste sa",
"posting_restriction_info": "Prispievanie je obmedzené len pre registrovaných, kliknite pre Prihlásenie sa ",
"welcome_back": "Vitaj naspäť", "welcome_back": "Vitaj naspäť",
"you_have_successfully_logged_in": "Úspešne si sa prihlásil", "you_have_successfully_logged_in": "Úspešne si sa prihlásil",
"logout": "Odhlásiť sa", "logout": "Odhlásiť sa",
@ -47,6 +49,7 @@
"posted": "príspevok", "posted": "príspevok",
"in": "v", "in": "v",
"recentposts": "Posledné príspevky", "recentposts": "Posledné príspevky",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Preč", "away": "Preč",
"dnd": "Nevyrušovať", "dnd": "Nevyrušovať",

@ -1,13 +1,14 @@
{ {
"home": "Home", "home": "Home",
"unread": "Unread Topics", "unread": "Unread Topics",
"popular": "Popular Topics", "popular": "Populárne Témy",
"recent": "Recent Topics", "recent": "Recent Topics",
"users": "Registered Users", "users": "Registered Users",
"notifications": "Notifications", "notifications": "Notifications",
"user.edit": "Editing \"%1\"", "user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows", "user.following": "People %1 Follows",
"user.followers": "People who Follow %1", "user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings" "user.settings": "User Settings"
} }

@ -11,6 +11,7 @@
"reply": "Odpovedať", "reply": "Odpovedať",
"edit": "Upraviť", "edit": "Upraviť",
"delete": "Zmazať", "delete": "Zmazať",
"restore": "Restore",
"move": "Presunúť", "move": "Presunúť",
"fork": "Rozdeliť", "fork": "Rozdeliť",
"banned": "Zakázaný", "banned": "Zakázaný",
@ -18,8 +19,15 @@
"share": "Zdieľaj", "share": "Zdieľaj",
"tools": "Nástroje", "tools": "Nástroje",
"flag": "Označiť", "flag": "Označiť",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Označiť príspevok pre moderáciu", "flag_title": "Označiť príspevok pre moderáciu",
"deleted_message": "Toto vlákno bolo vymazané. Iba užívatelia s privilégiami ho môžu vidieť.", "deleted_message": "Toto vlákno bolo vymazané. Iba užívatelia s privilégiami ho môžu vidieť.",
"following_topic.title": "Sledovať Tému",
"following_topic.message": "Budete teraz príjimať notifikácie, ked niekto prispeje do témy.",
"not_following_topic.title": "Nesledujete Tému",
"not_following_topic.message": "Nebudete už dostávať notifikácie z tejto Témy",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Sledovať", "watch": "Sledovať",
"share_this_post": "Zdielaj tento príspevok", "share_this_post": "Zdielaj tento príspevok",
"thread_tools.title": "Nástroje", "thread_tools.title": "Nástroje",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Vlož nadpis témy sem...", "composer.title_placeholder": "Vlož nadpis témy sem...",
"composer.write": "Píš", "composer.write": "Píš",
"composer.preview": "Náhľad", "composer.preview": "Náhľad",
"composer.help": "Help",
"composer.discard": "Zahodiť", "composer.discard": "Zahodiť",
"composer.submit": "Poslať", "composer.submit": "Poslať",
"composer.replying_to": "Odpovedáš ", "composer.replying_to": "Odpovedáš ",
"composer.new_topic": "Nová téma" "composer.new_topic": "Nová téma",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Pretiahni a Pusť Obrázky Sem",
"composer.upload_instructions": "Nahraj obrázky pretiahnutím a pustením ich."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Nytt ämne", "new_topic_button": "Nytt ämne",
"no_topics": "<strong>Det finns inga ämnen i denna kategori.</strong><br />Varför inte skapa ett?", "no_topics": "<strong>Det finns inga ämnen i denna kategori.</strong><br />Varför inte skapa ett?",
"sidebar.recent_replies": "Senaste svaren",
"sidebar.active_participants": "Aktiva deltagare",
"sidebar.moderators": "Moderatorer",
"posts": "inlägg", "posts": "inlägg",
"views": "tittningar", "views": "tittningar",
"posted": "skapad", "posted": "skapad",

@ -10,6 +10,8 @@
"500.message": "Hoppsan! Verkar som att något gått snett!", "500.message": "Hoppsan! Verkar som att något gått snett!",
"register": "Registrera", "register": "Registrera",
"login": "Logga in", "login": "Logga in",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": "Logga ut", "logout": "Logga ut",
@ -47,6 +49,7 @@
"posted": "svarade", "posted": "svarade",
"in": "i", "in": "i",
"recentposts": "Senaste ämnena", "recentposts": "Senaste ämnena",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Borta", "away": "Borta",
"dnd": "Stör ej", "dnd": "Stör ej",

@ -8,6 +8,7 @@
"user.edit": "Ändrar \"%1\"", "user.edit": "Ändrar \"%1\"",
"user.following": "Personer %1 Följer", "user.following": "Personer %1 Följer",
"user.followers": "Personer som följer %1", "user.followers": "Personer som följer %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's favorit-inlägg", "user.favourites": "%1's favorit-inlägg",
"user.settings": "Avnändarinställningar" "user.settings": "Avnändarinställningar"
} }

@ -11,6 +11,7 @@
"reply": "Svara", "reply": "Svara",
"edit": "Ändra", "edit": "Ändra",
"delete": "Ta bort", "delete": "Ta bort",
"restore": "Restore",
"move": "Flytta", "move": "Flytta",
"fork": "Grena", "fork": "Grena",
"banned": "bannad", "banned": "bannad",
@ -18,8 +19,15 @@
"share": "Dela", "share": "Dela",
"tools": "Verktyg", "tools": "Verktyg",
"flag": "Rapportera", "flag": "Rapportera",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Rapportera detta inlägg för granskning", "flag_title": "Rapportera detta inlägg för granskning",
"deleted_message": "Denna tråd har tagits bort. Endast användare med administrations-rättigheter kan se den.", "deleted_message": "Denna tråd har tagits bort. Endast användare med administrations-rättigheter kan se den.",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Trådverktyg", "thread_tools.title": "Trådverktyg",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Skriv in ämnets titel här...", "composer.title_placeholder": "Skriv in ämnets titel här...",
"composer.write": "Skriv", "composer.write": "Skriv",
"composer.preview": "Förhandsgranska", "composer.preview": "Förhandsgranska",
"composer.help": "Help",
"composer.discard": "Avbryt", "composer.discard": "Avbryt",
"composer.submit": "Spara", "composer.submit": "Spara",
"composer.replying_to": "Svarar till", "composer.replying_to": "Svarar till",
"composer.new_topic": "Nytt ämne" "composer.new_topic": "Nytt ämne",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "Yeni Başlık", "new_topic_button": "Yeni Başlık",
"no_topics": "<strong> Bu kategoride hiç konu yok. </strong> <br /> Yeni bir konu açmak istemez misiniz?", "no_topics": "<strong> Bu kategoride hiç konu yok. </strong> <br /> Yeni bir konu açmak istemez misiniz?",
"sidebar.recent_replies": "Güncel Cevaplar",
"sidebar.active_participants": "Aktif Katılımcılar",
"sidebar.moderators": "Moderatörler",
"posts": "ileti", "posts": "ileti",
"views": "görüntülemeler", "views": "görüntülemeler",
"posted": "yayımlandı", "posted": "yayımlandı",

@ -10,6 +10,8 @@
"500.message": "Ups! Bir şeyler ters gitti sanki!", "500.message": "Ups! Bir şeyler ters gitti sanki!",
"register": "Kayıt Ol", "register": "Kayıt Ol",
"login": "Giriş", "login": "Giriş",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": ıkış", "logout": ıkış",
@ -47,6 +49,7 @@
"posted": "gönderildi", "posted": "gönderildi",
"in": "içinde", "in": "içinde",
"recentposts": "Güncel İletiler", "recentposts": "Güncel İletiler",
"recentips": "Recently Logged In IPs",
"online": "Çevrimiçi", "online": "Çevrimiçi",
"away": "Dışarıda", "away": "Dışarıda",
"dnd": "Rahatsız Etmeyin", "dnd": "Rahatsız Etmeyin",

@ -8,6 +8,7 @@
"user.edit": "\"% 1\" düzenleniyor", "user.edit": "\"% 1\" düzenleniyor",
"user.following": "İnsanlar %1 Takip Ediyor", "user.following": "İnsanlar %1 Takip Ediyor",
"user.followers": "%1 takip edenler", "user.followers": "%1 takip edenler",
"user.posts": "Posts made by %1",
"user.favourites": "%1'in Favori İletileri", "user.favourites": "%1'in Favori İletileri",
"user.settings": "Kullanıcı Ayarları" "user.settings": "Kullanıcı Ayarları"
} }

@ -11,6 +11,7 @@
"reply": "Cevap", "reply": "Cevap",
"edit": "Düzenle", "edit": "Düzenle",
"delete": "Sil", "delete": "Sil",
"restore": "Restore",
"move": "Taşı", "move": "Taşı",
"fork": "Fork", "fork": "Fork",
"banned": "yasaklı", "banned": "yasaklı",
@ -18,8 +19,15 @@
"share": "Paylaş", "share": "Paylaş",
"tools": "Araçlar", "tools": "Araçlar",
"flag": "Bayrak", "flag": "Bayrak",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Bu iletiyi moderatöre haber et", "flag_title": "Bu iletiyi moderatöre haber et",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "Seçenekler", "thread_tools.title": "Seçenekler",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write", "composer.write": "Write",
"composer.preview": "Preview", "composer.preview": "Preview",
"composer.help": "Help",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",
"composer.replying_to": "Replying to", "composer.replying_to": "Replying to",
"composer.new_topic": "New Topic" "composer.new_topic": "New Topic",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "新主题", "new_topic_button": "新主题",
"no_topics": "<strong>这个版面还没有任何内容。</strong><br />赶紧来发帖吧!", "no_topics": "<strong>这个版面还没有任何内容。</strong><br />赶紧来发帖吧!",
"sidebar.recent_replies": "最近回复",
"sidebar.active_participants": "活跃用户",
"sidebar.moderators": "版主",
"posts": "帖子", "posts": "帖子",
"views": "浏览", "views": "浏览",
"posted": "发布", "posted": "发布",

@ -13,7 +13,7 @@
"please_log_in": "请登录", "please_log_in": "请登录",
"posting_restriction_info": "发表目前仅限于注册会员,点击这里登录。", "posting_restriction_info": "发表目前仅限于注册会员,点击这里登录。",
"welcome_back": "欢迎回来", "welcome_back": "欢迎回来",
"you_have_successfully_logged_in": "你已经退出登录", "you_have_successfully_logged_in": "你已成功登录!",
"logout": "退出", "logout": "退出",
"logout.title": "你已经退出。", "logout.title": "你已经退出。",
"logout.message": "你已经成功退出登录。", "logout.message": "你已经成功退出登录。",
@ -49,6 +49,7 @@
"posted": "发布", "posted": "发布",
"in": "在", "in": "在",
"recentposts": "最新发表", "recentposts": "最新发表",
"recentips": "Recently Logged In IPs",
"online": " 在线", "online": " 在线",
"away": "离开", "away": "离开",
"dnd": "不打扰", "dnd": "不打扰",

@ -8,6 +8,7 @@
"user.edit": "编辑 \"%1\"", "user.edit": "编辑 \"%1\"",
"user.following": "%1的人关注", "user.following": "%1的人关注",
"user.followers": "%1关注的人", "user.followers": "%1关注的人",
"user.posts": "Posts made by %1",
"user.favourites": "%1 喜爱的帖子", "user.favourites": "%1 喜爱的帖子",
"user.settings": "用户设置" "user.settings": "用户设置"
} }

@ -11,6 +11,7 @@
"reply": "回复", "reply": "回复",
"edit": "编辑", "edit": "编辑",
"delete": "删除", "delete": "删除",
"restore": "Restore",
"move": "移动", "move": "移动",
"fork": "作为主题", "fork": "作为主题",
"banned": "禁止", "banned": "禁止",
@ -18,13 +19,15 @@
"share": "分享", "share": "分享",
"tools": "工具", "tools": "工具",
"flag": "标志", "flag": "标志",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "标志受限的帖子", "flag_title": "标志受限的帖子",
"deleted_message": "这个帖子已经删除,只有帖子的拥有者才有权限去查看。", "deleted_message": "这个帖子已经删除,只有帖子的拥有者才有权限去查看。",
"following_topic.title": "关注该主题", "following_topic.title": "关注该主题",
"following_topic.message": "当有回复提交的时候你将会收到通知。", "following_topic.message": "当有回复提交的时候你将会收到通知。",
"not_following_topic.title": "非关注主题", "not_following_topic.title": "非关注主题",
"not_following_topic.message": "你将不再接受来自该帖子的通知。", "not_following_topic.message": "你将不再接受来自该帖子的通知。",
"login_to_subscribe": "请注册或登录以订阅该主题", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "查看", "watch": "查看",
"share_this_post": "分享帖子", "share_this_post": "分享帖子",
"thread_tools.title": "管理工具", "thread_tools.title": "管理工具",
@ -63,11 +66,17 @@
"composer.title_placeholder": "在这里输入你的主题标题...", "composer.title_placeholder": "在这里输入你的主题标题...",
"composer.write": "书写", "composer.write": "书写",
"composer.preview": "预览", "composer.preview": "预览",
"composer.help": "Help",
"composer.discard": "丢弃", "composer.discard": "丢弃",
"composer.submit": "提交", "composer.submit": "提交",
"composer.replying_to": "回复", "composer.replying_to": "回复",
"composer.new_topic": "新主题", "composer.new_topic": "新主题",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "把图像拖到此处", "composer.drag_and_drop_images": "把图像拖到此处",
"composer.content_is_parsed_with": "内容已经被解析",
"composer.upload_instructions": "拖拽图片以上传" "composer.upload_instructions": "拖拽图片以上传"
} }

@ -1,9 +1,6 @@
{ {
"new_topic_button": "新主題", "new_topic_button": "新主題",
"no_topics": "<strong>這個版面還沒有任何內容。</strong><br />趕緊來發帖吧!", "no_topics": "<strong>這個版面還沒有任何內容。</strong><br />趕緊來發帖吧!",
"sidebar.recent_replies": "最近回復",
"sidebar.active_participants": "活躍用戶",
"sidebar.moderators": "版主",
"posts": "帖子", "posts": "帖子",
"views": "瀏覽", "views": "瀏覽",
"posted": "發布", "posted": "發布",

@ -10,6 +10,8 @@
"500.message": "不好!看來是哪裡出錯了!", "500.message": "不好!看來是哪裡出錯了!",
"register": "注冊", "register": "注冊",
"login": "登錄", "login": "登錄",
"please_log_in": "Please Log In",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back ", "welcome_back": "Welcome Back ",
"you_have_successfully_logged_in": "You have successfully logged in", "you_have_successfully_logged_in": "You have successfully logged in",
"logout": "退出", "logout": "退出",
@ -47,6 +49,7 @@
"posted": "posted", "posted": "posted",
"in": "in", "in": "in",
"recentposts": "Recent Posts", "recentposts": "Recent Posts",
"recentips": "Recently Logged In IPs",
"online": "Online", "online": "Online",
"away": "Away", "away": "Away",
"dnd": "Do not Disturb", "dnd": "Do not Disturb",

@ -8,6 +8,7 @@
"user.edit": "Editing \"%1\"", "user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows", "user.following": "People %1 Follows",
"user.followers": "People who Follow %1", "user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.favourites": "%1's Favourite Posts", "user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings" "user.settings": "User Settings"
} }

@ -11,6 +11,7 @@
"reply": "回復", "reply": "回復",
"edit": "編輯", "edit": "編輯",
"delete": "刪除", "delete": "刪除",
"restore": "Restore",
"move": "移動", "move": "移動",
"fork": "作為主題", "fork": "作為主題",
"banned": "封禁", "banned": "封禁",
@ -18,8 +19,15 @@
"share": "Share", "share": "Share",
"tools": "Tools", "tools": "Tools",
"flag": "Flag", "flag": "Flag",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.title": "Following Topic",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.title": "Not Following Topic",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch", "watch": "Watch",
"share_this_post": "Share this Post", "share_this_post": "Share this Post",
"thread_tools.title": "管理工具", "thread_tools.title": "管理工具",
@ -58,8 +66,17 @@
"composer.title_placeholder": "Enter your topic title here...", "composer.title_placeholder": "Enter your topic title here...",
"composer.write": "Write", "composer.write": "Write",
"composer.preview": "Preview", "composer.preview": "Preview",
"composer.help": "Help",
"composer.discard": "Discard", "composer.discard": "Discard",
"composer.submit": "Submit", "composer.submit": "Submit",
"composer.replying_to": "Replying to", "composer.replying_to": "Replying to",
"composer.new_topic": "New Topic" "composer.new_topic": "New Topic",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"composer.upload_instructions": "Upload images by dragging & dropping them."
} }

@ -2,16 +2,13 @@
var ajaxify = {}; var ajaxify = {};
(function ($) { (function () {
/*global app, templates, utils*/ /*global app, templates, utils*/
var location = document.location || window.location, var location = document.location || window.location,
rootUrl = location.protocol + '//' + (location.hostname || location.host) + (location.port ? ':' + location.port : ''), rootUrl = location.protocol + '//' + (location.hostname || location.host) + (location.port ? ':' + location.port : ''),
content = null; content = null;
var current_state = null;
var executed = {};
var events = []; var events = [];
ajaxify.register_events = function (new_page_events) { ajaxify.register_events = function (new_page_events) {
for (var i = 0, ii = events.length; i < ii; i++) { for (var i = 0, ii = events.length; i < ii; i++) {
@ -114,7 +111,7 @@ var ajaxify = {};
require(['vendor/async'], function(async) { require(['vendor/async'], function(async) {
$('#content [widget-area]').each(function() { $('#content [widget-area]').each(function() {
widgetLocations.push(this.getAttribute('widget-area')); widgetLocations.push($(this).attr('widget-area'));
}); });
async.each(widgetLocations, function(location, next) { async.each(widgetLocations, function(location, next) {
@ -127,7 +124,9 @@ var ajaxify = {};
if (!renderedWidgets.length) { if (!renderedWidgets.length) {
$('body [no-widget-class]').each(function() { $('body [no-widget-class]').each(function() {
this.className = this.getAttribute('no-widget-class'); var $this = $(this);
$this.removeClass();
$this.addClass($this.attr('no-widget-class'));
}); });
} }
@ -174,7 +173,7 @@ var ajaxify = {};
app.previousUrl = window.location.href; app.previousUrl = window.location.href;
} }
if (this.getAttribute('data-ajaxify') === 'false') { if ($(this).attr('data-ajaxify') === 'false') {
return; return;
} }
@ -198,4 +197,4 @@ var ajaxify = {};
}); });
}); });
}(jQuery)); }());

@ -1,10 +1,10 @@
var socket, var socket,
config, config,
app = { app = {
"username": null, 'username': null,
"uid": null, 'uid': null,
"isFocused": true, 'isFocused': true,
"currentRoom": null 'currentRoom': null
}; };
(function () { (function () {
@ -175,23 +175,27 @@ var socket,
var alert = $('#' + alert_id); var alert = $('#' + alert_id);
var title = params.title || ''; var title = params.title || '';
function startTimeout(div, timeout) { function fadeOut() {
alert.fadeOut(500, function () {
$(this).remove();
});
}
function startTimeout(timeout) {
var timeoutId = setTimeout(function () { var timeoutId = setTimeout(function () {
$(div).fadeOut(1000, function () { fadeOut();
$(this).remove();
});
}, timeout); }, timeout);
$(div).attr('timeoutId', timeoutId); alert.attr('timeoutId', timeoutId);
} }
if (alert.length > 0) { if (alert.length > 0) {
alert.find('strong').html(title); alert.find('strong').html(title);
alert.find('p').html(params.message); alert.find('p').html(params.message);
alert.attr('class', "alert alert-dismissable alert-" + params.type); alert.attr('class', 'alert alert-dismissable alert-' + params.type);
clearTimeout(alert.attr('timeoutId')); clearTimeout(alert.attr('timeoutId'));
startTimeout(alert, params.timeout); startTimeout(params.timeout);
alert.children().fadeOut('100'); alert.children().fadeOut('100');
translator.translate(alert.html(), function(translatedHTML) { translator.translate(alert.html(), function(translatedHTML) {
@ -199,42 +203,45 @@ var socket,
alert.html(translatedHTML); alert.html(translatedHTML);
}); });
} else { } else {
var div = $('<div id="' + alert_id + '" class="alert alert-dismissable alert-' + params.type +'"></div>'), alert = $('<div id="' + alert_id + '" class="alert alert-dismissable alert-' + params.type +'"></div>');
button = $('<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'),
strong = $('<strong>' + title + '</strong>'),
p = $('<p>' + params.message + '</p>');
div.append(button)
.append(strong)
.append(p);
button.on('click', function () { alert.append($('<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'))
div.remove(); .append($('<strong>' + title + '</strong>'))
}); .append($('<p>' + params.message + '</p>'));
if (params.location == null) if (params.location == null) {
params.location = 'alert_window'; params.location = 'alert_window';
}
translator.translate(div.html(), function(translatedHTML) { translator.translate(alert.html(), function(translatedHTML) {
div.html(translatedHTML); alert.html(translatedHTML);
$('#' + params.location).prepend(div.fadeIn('100')); $('#' + params.location).prepend(alert.fadeIn('100'));
if(typeof params.closefn === 'function') {
alert.find('button').on('click', function () {
params.closefn();
fadeOut();
});
}
}); });
if (params.timeout) { if (params.timeout) {
startTimeout(div, params.timeout); startTimeout(params.timeout);
} }
if (params.clickfn) { if (typeof params.clickfn === 'function') {
div.on('click', function () { alert.on('click', function () {
params.clickfn(); params.clickfn();
div.fadeOut(500, function () { fadeOut();
$(this).remove();
});
}); });
} }
} }
}; };
app.removeAlert = function(id) {
$('#' + 'alert_button_' + id).remove();
}
app.alertSuccess = function (message, timeout) { app.alertSuccess = function (message, timeout) {
if (!timeout) if (!timeout)
timeout = 2000; timeout = 2000;
@ -277,7 +284,7 @@ var socket,
app.populateOnlineUsers = function () { app.populateOnlineUsers = function () {
var uids = []; var uids = [];
jQuery('.post-row').each(function () { $('.post-row').each(function () {
var uid = $(this).attr('data-uid'); var uid = $(this).attr('data-uid');
if(uids.indexOf(uid) === -1) { if(uids.indexOf(uid) === -1) {
uids.push(uid); uids.push(uid);
@ -286,8 +293,8 @@ var socket,
socket.emit('user.getOnlineUsers', uids, function (err, users) { socket.emit('user.getOnlineUsers', uids, function (err, users) {
jQuery('.username-field').each(function (index, element) { $('.username-field').each(function (index, element) {
var el = jQuery(this), var el = $(this),
uid = el.parents('li').attr('data-uid'); uid = el.parents('li').attr('data-uid');
if (uid && users[uid]) { if (uid && users[uid]) {
@ -307,19 +314,19 @@ var socket,
parts = path.split('/'), parts = path.split('/'),
active = parts[parts.length - 1]; active = parts[parts.length - 1];
jQuery('#main-nav li').removeClass('active'); $('#main-nav li').removeClass('active');
if (active) { if (active) {
jQuery('#main-nav li a').each(function () { $('#main-nav li a').each(function () {
var href = this.getAttribute('href'); var href = $(this).attr('href');
if (active == "sort-posts" || active == "sort-reputation" || active == "search" || active == "latest" || active == "online") if (active == "sort-posts" || active == "sort-reputation" || active == "search" || active == "latest" || active == "online")
active = 'users'; active = 'users';
if (href && href.match(active)) { if (href && href.match(active)) {
jQuery(this.parentNode).addClass('active'); $(this.parentNode).addClass('active');
return false; return false;
} }
}); });
} }
}; }
app.createUserTooltips = function() { app.createUserTooltips = function() {
$('img[title].teaser-pic,img[title].user-img').each(function() { $('img[title].teaser-pic,img[title].user-img').each(function() {
@ -335,7 +342,7 @@ var socket,
selector:'.fa-circle.status', selector:'.fa-circle.status',
placement: 'top' placement: 'top'
}); });
} };
app.makeNumbersHumanReadable = function(elements) { app.makeNumbersHumanReadable = function(elements) {
elements.each(function() { elements.each(function() {
@ -452,7 +459,7 @@ var socket,
} }
previousScrollTop = currentScrollTop; previousScrollTop = currentScrollTop;
}); });
} };
var titleObj = { var titleObj = {
active: false, active: false,
@ -589,7 +596,7 @@ var socket,
}); });
}; };
jQuery('document').ready(function () { $('document').ready(function () {
$('#search-form').on('submit', function () { $('#search-form').on('submit', function () {
var input = $(this).find('input'); var input = $(this).find('input');
ajaxify.go("search/" + input.val()); ajaxify.go("search/" + input.val());

@ -9,7 +9,7 @@ define(function() {
hideLinks(); hideLinks();
selectActivePill(); selectActivePill();
} };
AccountHeader.createMenu = function() { AccountHeader.createMenu = function() {
var userslug = $('.account-username-box').attr('data-userslug'); var userslug = $('.account-username-box').attr('data-userslug');
@ -30,7 +30,7 @@ define(function() {
selectActivePill(); selectActivePill();
hideLinks(); hideLinks();
}); });
} };
function hideLinks() { function hideLinks() {
var yourid = templates.get('yourid'), var yourid = templates.get('yourid'),

@ -57,7 +57,7 @@ define(['uploader'], function(uploader) {
function updateCategoryOrders() { function updateCategoryOrders() {
var categories = $('.admin-categories #entry-container').children(); var categories = $('.admin-categories #entry-container').children();
for(var i=0; i<categories.length; ++i) { for(var i = 0; i<categories.length; ++i) {
var input = $(categories[i]).find('input[data-name="order"]'); var input = $(categories[i]).find('input[data-name="order"]');
input.val(i+1).attr('data-value', i+1); input.val(i+1).attr('data-value', i+1);
@ -66,13 +66,14 @@ define(['uploader'], function(uploader) {
} }
$('#entry-container').sortable({ $('#entry-container').sortable({
stop: function( event, ui ) { stop: function(event, ui) {
updateCategoryOrders(); updateCategoryOrders();
}, },
distance: 10 distance: 10
}); });
$('.blockclass').each(function() { $('.blockclass').each(function() {
$(this).val(this.getAttribute('data-value')); var $this = $(this);
$this.val($this.attr('data-value'));
}); });
@ -115,29 +116,30 @@ define(['uploader'], function(uploader) {
} }
function enableColorPicker(idx, inputEl) { function enableColorPicker(idx, inputEl) {
var jinputEl = $(inputEl), var $inputEl = $(inputEl),
previewEl = jinputEl.parents('[data-cid]').find('.preview-box'); previewEl = $inputEl.parents('[data-cid]').find('.preview-box');
jinputEl.ColorPicker({ $inputEl.ColorPicker({
color: jinputEl.val() || '#000', color: $inputEl.val() || '#000',
onChange: function(hsb, hex) { onChange: function(hsb, hex) {
jinputEl.val('#' + hex); $inputEl.val('#' + hex);
if (inputEl.getAttribute('data-name') === 'bgColor') previewEl.css('background', '#' + hex); if ($inputEl.attr('data-name') === 'bgColor') previewEl.css('background', '#' + hex);
else if (inputEl.getAttribute('data-name') === 'color') previewEl.css('color', '#' + hex); else if ($inputEl.attr('data-name') === 'color') previewEl.css('color', '#' + hex);
modified(inputEl); modified($inputEl[0]);
} }
}); });
} }
$('document').ready(function() { $(function() {
var url = window.location.href, var url = window.location.href,
parts = url.split('/'), parts = url.split('/'),
active = parts[parts.length - 1]; active = parts[parts.length - 1];
$('.nav-pills li').removeClass('active'); $('.nav-pills li').removeClass('active');
$('.nav-pills li a').each(function() { $('.nav-pills li a').each(function() {
if (this.getAttribute('href').match(active)) { var $this = $(this);
$(this.parentNode).addClass('active'); if ($this.attr('href').match(active)) {
$this.parent().addClass('active');
return false; return false;
} }
}); });
@ -159,11 +161,11 @@ define(['uploader'], function(uploader) {
}); });
$('.dropdown').on('click', '[data-disabled]', function(ev) { $('.dropdown').on('click', '[data-disabled]', function(ev) {
var btn = $(this); var btn = $(this),
var categoryRow = btn.parents('li'); categoryRow = btn.parents('li'),
var cid = categoryRow.attr('data-cid'); cid = categoryRow.attr('data-cid'),
disabled = btn.attr('data-disabled') === 'false' ? '1' : '0';
var disabled = this.getAttribute('data-disabled') === 'false' ? '1' : '0';
categoryRow.remove(); categoryRow.remove();
modified_categories[cid] = modified_categories[cid] || {}; modified_categories[cid] = modified_categories[cid] || {};
modified_categories[cid]['disabled'] = disabled; modified_categories[cid]['disabled'] = disabled;
@ -185,14 +187,15 @@ define(['uploader'], function(uploader) {
$('.admin-categories').on('click', '.upload-button', function() { $('.admin-categories').on('click', '.upload-button', function() {
var inputEl = this; var inputEl = $(this),
var cid = $(this).parents('li[data-cid]').attr('data-cid'); cid = inputEl.parents('li[data-cid]').attr('data-cid');
uploader.open(RELATIVE_PATH + '/admin/category/uploadpicture', {cid:cid}, 0, function(imageUrlOnServer) {
inputEl.value = imageUrlOnServer; uploader.open(RELATIVE_PATH + '/admin/category/uploadpicture', {cid: cid}, 0, function(imageUrlOnServer) {
var previewBox = $(inputEl).parents('li[data-cid]').find('.preview-box'); inputEl.val(imageUrlOnServer);
var previewBox = inputEl.parents('li[data-cid]').find('.preview-box');
previewBox.css('background', 'url(' + imageUrlOnServer + '?' + new Date().getTime() + ')') previewBox.css('background', 'url(' + imageUrlOnServer + '?' + new Date().getTime() + ')')
.css('background-size', 'cover'); .css('background-size', 'cover');
modified(inputEl); modified(inputEl[0]);
}); });
}); });
@ -202,12 +205,12 @@ define(['uploader'], function(uploader) {
preview = parent.find('.preview-box'), preview = parent.find('.preview-box'),
bgColor = parent.find('.category_bgColor').val(); bgColor = parent.find('.category_bgColor').val();
inputEl.value = ''; inputEl.val('');
modified(inputEl); modified(inputEl[0]);
preview.css('background', bgColor); preview.css('background', bgColor);
$(this).hide(); $(this).addClass('hide').hide();
}); });
}); });
}; };
@ -221,8 +224,8 @@ define(['uploader'], function(uploader) {
searchEl.off().on('keyup', function() { searchEl.off().on('keyup', function() {
var searchEl = this, var searchEl = this,
resultsFrag = document.createDocumentFragment(), liEl;
liEl = document.createElement('li');
clearTimeout(searchDelay); clearTimeout(searchDelay);
searchDelay = setTimeout(function() { searchDelay = setTimeout(function() {
@ -236,23 +239,21 @@ define(['uploader'], function(uploader) {
var numResults = results.length, var numResults = results.length,
resultObj; resultObj;
for(var x=0;x<numResults;x++) { for(var x = 0; x < numResults; x++) {
resultObj = results[x]; resultObj = results[x];
liEl = $('<li />')
liEl.setAttribute('data-uid', resultObj.uid); .attr('data-uid', resultObj.uid)
liEl.innerHTML = '<div class="pull-right">' + .html('<div class="pull-right">' +
'<div class="btn-group">' + '<div class="btn-group">' +
'<button type="button" data-priv="+r" class="btn btn-default' + (resultObj.privileges['+r'] ? ' active' : '') + '">Read</button>' + '<button type="button" data-priv="+r" class="btn btn-default' + (resultObj.privileges['+r'] ? ' active' : '') + '">Read</button>' +
'<button type="button" data-priv="+w" class="btn btn-default' + (resultObj.privileges['+w'] ? ' active' : '') + '">Write</button>' + '<button type="button" data-priv="+w" class="btn btn-default' + (resultObj.privileges['+w'] ? ' active' : '') + '">Write</button>' +
'<button type="button" data-priv="mods" class="btn btn-default' + (resultObj.privileges['mods'] ? ' active' : '') + '">Moderator</button>' + '<button type="button" data-priv="mods" class="btn btn-default' + (resultObj.privileges['mods'] ? ' active' : '') + '">Moderator</button>' +
'</div>' + '</div>' +
'</div>' + '</div>' +
'<img src="' + resultObj.picture + '" /> ' + resultObj.username; '<img src="' + resultObj.picture + '" /> ' + resultObj.username);
resultsFrag.appendChild(liEl.cloneNode(true)); resultsEl.append(liEl);
} }
resultsEl.html(resultsFrag);
}); });
}, 250); }, 250);
}); });
@ -262,7 +263,7 @@ define(['uploader'], function(uploader) {
resultsEl.off().on('click', '[data-priv]', function(e) { resultsEl.off().on('click', '[data-priv]', function(e) {
var btnEl = $(this), var btnEl = $(this),
uid = btnEl.parents('li[data-uid]').attr('data-uid'), uid = btnEl.parents('li[data-uid]').attr('data-uid'),
privilege = this.getAttribute('data-priv'); privilege = btnEl.attr('data-priv');
e.preventDefault(); e.preventDefault();
socket.emit('admin.categories.setPrivilege', { socket.emit('admin.categories.setPrivilege', {
@ -278,7 +279,7 @@ define(['uploader'], function(uploader) {
}); });
modal.off().on('click', '.members li > img', function() { modal.off().on('click', '.members li > img', function() {
searchEl.val(this.getAttribute('title')); searchEl.val($(this).attr('title'));
searchEl.keyup(); searchEl.keyup();
}); });
@ -287,33 +288,31 @@ define(['uploader'], function(uploader) {
if(err) { if(err) {
return app.alertError(err.message); return app.alertError(err.message);
} }
var groupsFrag = document.createDocumentFragment(), var numResults = results.length,
numResults = results.length, trEl,
trEl = document.createElement('tr'),
resultObj; resultObj;
for(var x=0;x<numResults;x++) { for(var x = 0; x < numResults; x++) {
resultObj = results[x]; resultObj = results[x];
trEl.setAttribute('data-gid', resultObj.gid); trEl = $('<tr />')
trEl.innerHTML = '<td><h4>' + resultObj.name + '</h4></td>' + .attr('data-gid', resultObj.gid)
'<td>' + .html('<td><h4>' + resultObj.name + '</h4></td>' +
'<div class="btn-group pull-right">' + '<td>' +
'<button type="button" data-gpriv="g+r" class="btn btn-default' + (resultObj.privileges['g+r'] ? ' active' : '') + '">Read</button>' + '<div class="btn-group pull-right">' +
'<button type="button" data-gpriv="g+w" class="btn btn-default' + (resultObj.privileges['g+w'] ? ' active' : '') + '">Write</button>' + '<button type="button" data-gpriv="g+r" class="btn btn-default' + (resultObj.privileges['g+r'] ? ' active' : '') + '">Read</button>' +
'</div>' + '<button type="button" data-gpriv="g+w" class="btn btn-default' + (resultObj.privileges['g+w'] ? ' active' : '') + '">Write</button>' +
'</td>'; '</div>' +
'</td>');
groupsFrag.appendChild(trEl.cloneNode(true)); groupsResultsEl.append(trEl);
} }
groupsResultsEl.html(groupsFrag);
}); });
groupsResultsEl.off().on('click', '[data-gpriv]', function(e) { groupsResultsEl.off().on('click', '[data-gpriv]', function(e) {
var btnEl = $(this), var btnEl = $(this),
gid = btnEl.parents('tr[data-gid]').attr('data-gid'), gid = btnEl.parents('tr[data-gid]').attr('data-gid'),
privilege = this.getAttribute('data-gpriv'); privilege = btnEl.attr('data-gpriv');
e.preventDefault(); e.preventDefault();
socket.emit('admin.categories.setGroupPrivilege', { socket.emit('admin.categories.setGroupPrivilege', {
cid: cid, cid: cid,
gid: gid, gid: gid,
@ -324,7 +323,7 @@ define(['uploader'], function(uploader) {
btnEl.toggleClass('active'); btnEl.toggleClass('active');
} }
}); });
}) });
modal.modal(); modal.modal();
}; };
@ -338,57 +337,40 @@ define(['uploader'], function(uploader) {
var readLength = privilegeList['+r'].length, var readLength = privilegeList['+r'].length,
writeLength = privilegeList['+w'].length, writeLength = privilegeList['+w'].length,
modLength = privilegeList['mods'].length, modLength = privilegeList['mods'].length,
readFrag = document.createDocumentFragment(), liEl, x, userObj;
writeFrag = document.createDocumentFragment(),
modFrag = document.createDocumentFragment(),
liEl = document.createElement('li'),
x, userObj;
if (readLength > 0) { if (readLength > 0) {
for(x=0;x<readLength;x++) { for(x = 0; x < readLength; x++) {
userObj = privilegeList['+r'][x]; userObj = privilegeList['+r'][x];
liEl.setAttribute('data-uid', userObj.uid); liEl = $('<li/>').attr('data-uid', userObj.uid).html('<img src="' + userObj.picture + '" title="' + userObj.username + '" />');
readMembers.append(liEl);
liEl.innerHTML = '<img src="' + userObj.picture + '" title="' + userObj.username + '" />';
readFrag.appendChild(liEl.cloneNode(true));
} }
} else { } else {
liEl.className = 'empty'; liEl = $('<li/>').addClass('empty').html('All users can read and see this category');
liEl.innerHTML = 'All users can read and see this category'; readMembers.append(liEl);
readFrag.appendChild(liEl.cloneNode(true));
} }
if (writeLength > 0) { if (writeLength > 0) {
for(x=0;x<writeLength;x++) { for(x=0;x<writeLength;x++) {
userObj = privilegeList['+w'][x]; userObj = privilegeList['+w'][x];
liEl.setAttribute('data-uid', userObj.uid); $('<li />').attr('data-uid', userObj.uid).html('<img src="' + userObj.picture + '" title="' + userObj.username + '" />');
writeMembers.append(liEl);
liEl.innerHTML = '<img src="' + userObj.picture + '" title="' + userObj.username + '" />';
writeFrag.appendChild(liEl.cloneNode(true));
} }
} else { } else {
liEl.className = 'empty'; liEl = $('<li />').addClass('empty').html('All users can write to this category');
liEl.innerHTML = 'All users can write to this category'; writeMembers.append(liEl);
writeFrag.appendChild(liEl.cloneNode(true));
} }
if (modLength > 0) { if (modLength > 0) {
for(x=0;x<modLength;x++) { for(x = 0;x < modLength; x++) {
userObj = privilegeList['mods'][x]; userObj = privilegeList['mods'][x];
liEl.setAttribute('data-uid', userObj.uid); liEl = $('<li />').attr('data-uid', userObj.uid).html('<img src="' + userObj.picture + '" title="' + userObj.username + '" />');
moderatorsEl.append(liEl);
liEl.innerHTML = '<img src="' + userObj.picture + '" title="' + userObj.username + '" />';
modFrag.appendChild(liEl.cloneNode(true));
} }
} else { } else {
liEl.className = 'empty'; liEl = $('<li />').addClass('empty').html('No moderators');
liEl.innerHTML = 'No moderators'; moderatorsEl.appendChild(liEl);
modFrag.appendChild(liEl.cloneNode(true));
} }
readMembers.html(readFrag);
writeMembers.html(writeFrag);
moderatorsEl.html(modFrag);
}); });
}; };

@ -1,18 +1,28 @@
jQuery('document').ready(function() { $(function() {
// On menu click, change "active" state
var menuEl = document.querySelector('.sidebar-nav'), var menuEl = $('.sidebar-nav'),
liEls = menuEl.querySelectorAll('li') liEls = menuEl.find('li'),
parentEl = null; parentEl,
activate = function(li) {
liEls.removeClass('active');
li.addClass('active');
};
menuEl.addEventListener('click', function(e) { // also on ready, check the pathname, maybe it was a page refresh and no item was clicked
parentEl = e.target.parentNode; liEls.each(function(i, li){
if (parentEl.nodeName === 'LI') { li = $(li);
for (var x = 0, numLis = liEls.length; x < numLis; x++) { if ((li.find('a').attr('href') || '').indexOf(location.pathname) >= 0) {
if (liEls[x] !== parentEl) jQuery(liEls[x]).removeClass('active'); activate(li);
else jQuery(parentEl).addClass('active'); }
} });
// On menu click, change "active" state
menuEl.on('click', function(e) {
parentEl = $(e.target).parent();
if (parentEl.is('li')) {
activate(parentEl);
} }
}, false); });
}); });
socket.emit('admin.config.get', function(err, config) { socket.emit('admin.config.get', function(err, config) {

@ -3,9 +3,9 @@ define(function() {
Groups.init = function() { Groups.init = function() {
var yourid = templates.get('yourid'), var yourid = templates.get('yourid'),
createEl = document.getElementById('create'), createEl = $('#create'),
createModal = $('#create-modal'), createModal = $('#create-modal'),
createSubmitBtn = document.getElementById('create-modal-go'), createSubmitBtn = $('#create-modal-go'),
createNameEl = $('#create-group-name'), createNameEl = $('#create-group-name'),
detailsModal = $('#group-details-modal'), detailsModal = $('#group-details-modal'),
detailsSearch = detailsModal.find('#group-details-search'), detailsSearch = detailsModal.find('#group-details-search'),
@ -15,14 +15,14 @@ define(function() {
searchDelay = undefined, searchDelay = undefined,
listEl = $('#groups-list'); listEl = $('#groups-list');
createEl.addEventListener('click', function() { createEl.on('click', function() {
createModal.modal('show'); createModal.modal('show');
setTimeout(function() { setTimeout(function() {
createNameEl.focus(); createNameEl.focus();
}, 250); }, 250);
}, false); });
createSubmitBtn.addEventListener('click', function() { createSubmitBtn.on('click', function() {
var submitObj = { var submitObj = {
name: createNameEl.val(), name: createNameEl.val(),
description: $('#create-group-desc').val() description: $('#create-group-desc').val()
@ -37,7 +37,7 @@ define(function() {
errorText = '<strong>Please choose another name</strong><p>There seems to be a group with this name already.</p>'; errorText = '<strong>Please choose another name</strong><p>There seems to be a group with this name already.</p>';
break; break;
case 'name-too-short': case 'name-too-short':
errorText = '<strong>Please specify a grou name</strong><p>A group name is required for administrative purposes.</p>'; errorText = '<strong>Please specify a group name</strong><p>A group name is required for administrative purposes.</p>';
break; break;
default: default:
errorText = '<strong>Uh-Oh</strong><p>There was a problem creating your group. Please try again later!</p>'; errorText = '<strong>Uh-Oh</strong><p>There was a problem creating your group. Please try again later!</p>';
@ -57,8 +57,9 @@ define(function() {
}); });
listEl.on('click', 'button[data-action]', function() { listEl.on('click', 'button[data-action]', function() {
var action = this.getAttribute('data-action'), var el = $(this),
gid = $(this).parents('li[data-gid]').attr('data-gid'); action = el.attr('data-action'),
gid = el.parents('li[data-gid]').attr('data-gid');
switch (action) { switch (action) {
case 'delete': case 'delete':
@ -80,28 +81,20 @@ define(function() {
var formEl = detailsModal.find('form'), var formEl = detailsModal.find('form'),
nameEl = formEl.find('#change-group-name'), nameEl = formEl.find('#change-group-name'),
descEl = formEl.find('#change-group-desc'), descEl = formEl.find('#change-group-desc'),
memberIcon = document.createElement('li'),
numMembers = groupObj.members.length, numMembers = groupObj.members.length,
membersFrag = document.createDocumentFragment(), x;
memberIconImg, x;
nameEl.val(groupObj.name); nameEl.val(groupObj.name);
descEl.val(groupObj.description); descEl.val(groupObj.description);
// Member list
memberIcon.innerHTML = '<img /><span></span>';
memberIconImg = memberIcon.querySelector('img');
memberIconLabel = memberIcon.querySelector('span');
if (numMembers > 0) { if (numMembers > 0) {
groupMembersEl.empty();
for (x = 0; x < numMembers; x++) { for (x = 0; x < numMembers; x++) {
memberIconImg.src = groupObj.members[x].picture; var memberIcon = $('<li />')
memberIconLabel.innerHTML = groupObj.members[x].username; .append($('<img />').attr('src', groupObj.members[x].picture))
memberIcon.setAttribute('data-uid', groupObj.members[x].uid); .append($('<span />').attr('data-uid', groupObj.members[x].uid).html(groupObj.members[x].username));
membersFrag.appendChild(memberIcon.cloneNode(true)); groupMembersEl.append(memberIcon);
} }
groupMembersEl.html('');
groupMembersEl[0].appendChild(membersFrag);
} }
detailsModal.attr('data-gid', groupObj.gid); detailsModal.attr('data-gid', groupObj.gid);
@ -118,43 +111,39 @@ define(function() {
searchDelay = setTimeout(function() { searchDelay = setTimeout(function() {
var searchText = searchEl.value, var searchText = searchEl.value,
resultsEl = document.getElementById('group-details-search-results'), resultsEl = $('#group-details-search-results'),
foundUser = document.createElement('li'), foundUser;
foundUserImg, foundUserLabel;
foundUser.innerHTML = '<img /><span></span>';
foundUserImg = foundUser.getElementsByTagName('img')[0];
foundUserLabel = foundUser.getElementsByTagName('span')[0];
socket.emit('admin.user.search', searchText, function(err, results) { socket.emit('admin.user.search', searchText, function(err, results) {
if (!err && results && results.users.length > 0) { if (!err && results && results.users.length > 0) {
var numResults = results.users.length, var numResults = results.users.length, x;
resultsSlug = document.createDocumentFragment(),
x;
if (numResults > 4) numResults = 4; if (numResults > 4) numResults = 4;
resultsEl.empty();
for (x = 0; x < numResults; x++) { for (x = 0; x < numResults; x++) {
foundUserImg.src = results.users[x].picture; foundUser = $('<li />');
foundUserLabel.innerHTML = results.users[x].username; foundUser
foundUser.setAttribute('title', results.users[x].username); .attr({title: results.users[x].username, 'data-uid': results.users[x].uid})
foundUser.setAttribute('data-uid', results.users[x].uid); .append($('<img />').attr('src', results.users[x].picture))
resultsSlug.appendChild(foundUser.cloneNode(true)); .append($('<span />').html(results.users[x].username));
}
resultsEl.innerHTML = ''; resultsEl.appendChild(foundUser);
resultsEl.appendChild(resultsSlug); }
} else resultsEl.innerHTML = '<li>No Users Found</li>'; } else {
resultsEl.html('<li>No Users Found</li>');
}
}); });
}, 200); }, 200);
}); });
searchResults.on('click', 'li[data-uid]', function() { searchResults.on('click', 'li[data-uid]', function() {
var userLabel = this, var userLabel = $(this),
uid = parseInt(this.getAttribute('data-uid')), uid = parseInt(userLabel.attr('data-uid')),
gid = detailsModal.attr('data-gid'), gid = detailsModal.attr('data-gid'),
members = []; members = [];
groupMembersEl.find('li[data-uid]').each(function() { groupMembersEl.find('li[data-uid]').each(function() {
members.push(parseInt(this.getAttribute('data-uid'))); members.push(parseInt($(this).attr('data-uid')));
}); });
if (members.indexOf(uid) === -1) { if (members.indexOf(uid) === -1) {
@ -170,7 +159,7 @@ define(function() {
}); });
groupMembersEl.on('click', 'li[data-uid]', function() { groupMembersEl.on('click', 'li[data-uid]', function() {
var uid = this.getAttribute('data-uid'), var uid = $(this).attr('data-uid'),
gid = detailsModal.attr('data-gid'); gid = detailsModal.attr('data-gid');
socket.emit('admin.groups.get', gid, function(err, groupObj){ socket.emit('admin.groups.get', gid, function(err, groupObj){

@ -1,5 +1,5 @@
define(['forum/admin/settings'], function(Settings) { define(['forum/admin/settings'], function(Settings) {
jQuery('document').ready(function() { $(function() {
Settings.prepare(); Settings.prepare();
}); });
}); });

@ -15,38 +15,38 @@ define(['uploader'], function(uploader) {
} }
// Populate the fields on the page from the config // Populate the fields on the page from the config
var fields = document.querySelectorAll('#content [data-field]'), var fields = $('#content [data-field]'),
numFields = fields.length, numFields = fields.length,
saveBtn = document.getElementById('save'), saveBtn = $('#save'),
x, key, inputType; x, key, inputType, field;
for (x = 0; x < numFields; x++) { for (x = 0; x < numFields; x++) {
key = fields[x].getAttribute('data-field'); field = fields.eq(x);
inputType = fields[x].getAttribute('type'); key = field.attr('data-field');
if (fields[x].nodeName === 'INPUT') { inputType = field.attr('type');
if (field.is('input')) {
if (app.config[key]) { if (app.config[key]) {
switch (inputType) { switch (inputType) {
case 'text': case 'text':
case 'password': case 'password':
case 'textarea': case 'textarea':
case 'number': case 'number':
fields[x].value = app.config[key]; field.val(app.config[key]);
break; break;
case 'checkbox': case 'checkbox':
fields[x].checked = parseInt(app.config[key], 10) === 1; field.prop('checked', parseInt(app.config[key], 10) === 1);
break; break;
} }
} }
} else if (fields[x].nodeName === 'TEXTAREA') { } else if (field.is('textarea')) {
if (app.config[key]) fields[x].value = app.config[key]; if (app.config[key]) field.val(app.config[key]);
} else if (fields[x].nodeName === 'SELECT') { } else if (field.is('select')) {
if (app.config[key]) fields[x].value = app.config[key]; if (app.config[key]) field.val(app.config[key]);
} }
} }
saveBtn.addEventListener('click', function(e) { saveBtn.on('click', function(e) {
e.preventDefault(); e.preventDefault();
for (x = 0; x < numFields; x++) { for (x = 0; x < numFields; x++) {
@ -55,27 +55,28 @@ define(['uploader'], function(uploader) {
}); });
function saveField(field) { function saveField(field) {
var key = field.getAttribute('data-field'), field = $(field);
var key = field.attr('data-field'),
value; value;
if (field.nodeName === 'INPUT') { if (field.is('input')) {
inputType = field.getAttribute('type'); inputType = field.attr('type');
switch (inputType) { switch (inputType) {
case 'text': case 'text':
case 'password': case 'password':
case 'textarea': case 'textarea':
case 'number': case 'number':
value = field.value; value = field.val();
break; break;
case 'checkbox': case 'checkbox':
value = field.checked ? '1' : '0'; value = field.prop('checked') ? '1' : '0';
break; break;
} }
} else if (field.nodeName === 'TEXTAREA') { } else if (field.is('textarea')) {
value = field.value; value = field.val();
} else if (field.nodeName === 'SELECT') { } else if (field.is('select')) {
value = field.value; value = field.val();
} }
socket.emit('admin.config.set', { socket.emit('admin.config.set', {

@ -2,17 +2,21 @@ define(['forum/admin/settings'], function(Settings) {
var Themes = {}; var Themes = {};
Themes.init = function() { Themes.init = function() {
var scriptEl = document.createElement('script'); var scriptEl = $('<script />');
scriptEl.src = 'http://api.bootswatch.com/3/?callback=bootswatchListener'; scriptEl.attr('src', 'http://api.bootswatch.com/3/?callback=bootswatchListener');
document.body.appendChild(scriptEl); $('body').append(scriptEl);
var bootstrapThemeContainer = $('#bootstrap_themes'),
installedThemeContainer = $('#installed_themes'),
var bootstrapThemeContainer = document.querySelector('#bootstrap_themes'),
installedThemeContainer = document.querySelector('#installed_themes'),
themeEvent = function(e) { themeEvent = function(e) {
if (e.target.hasAttribute('data-action')) { var target = $(e.target),
switch (e.target.getAttribute('data-action')) { action = target.attr('data-action');
if (action) {
switch (action) {
case 'use': case 'use':
var parentEl = $(e.target).parents('li'), var parentEl = target.parents('li'),
themeType = parentEl.attr('data-type'), themeType = parentEl.attr('data-type'),
cssSrc = parentEl.attr('data-css'), cssSrc = parentEl.attr('data-css'),
themeId = parentEl.attr('data-theme'); themeId = parentEl.attr('data-theme');
@ -30,16 +34,15 @@ define(['forum/admin/settings'], function(Settings) {
timeout: 3500 timeout: 3500
}); });
}); });
break; break;
} }
} }
}; };
bootstrapThemeContainer.addEventListener('click', themeEvent); bootstrapThemeContainer.on('click', themeEvent);
installedThemeContainer.addEventListener('click', themeEvent); installedThemeContainer.on('click', themeEvent);
var revertEl = document.getElementById('revert_theme'); $('#revert_theme').on('click', function() {
revertEl.addEventListener('click', function() {
bootbox.confirm('Are you sure you wish to remove the custom theme and restore the NodeBB default theme?', function(confirm) { bootbox.confirm('Are you sure you wish to remove the custom theme and restore the NodeBB default theme?', function(confirm) {
if (confirm) { if (confirm) {
socket.emit('admin.themes.set', { socket.emit('admin.themes.set', {
@ -64,37 +67,32 @@ define(['forum/admin/settings'], function(Settings) {
return app.alertError(err.message); return app.alertError(err.message);
} }
var instListEl = document.getElementById('installed_themes'), var instListEl = $('#installed_themes').empty(), liEl;
themeFrag = document.createDocumentFragment(),
liEl = document.createElement('li');
liEl.setAttribute('data-type', 'local');
if (themes.length > 0) { if (themes.length > 0) {
for (var x = 0, numThemes = themes.length; x < numThemes; x++) { for (var x = 0, numThemes = themes.length; x < numThemes; x++) {
liEl.setAttribute('data-theme', themes[x].id); liEl = $('<li/ >').attr({
liEl.innerHTML = '<img src="' + (themes[x].screenshot ? '/css/previews/' + themes[x].id : RELATIVE_PATH + '/images/themes/default.png') + '" />' + 'data-type': 'local',
'<div>' + 'data-theme': themes[x].id
'<div class="pull-right">' + }).html('<img src="' + (themes[x].screenshot ? '/css/previews/' + themes[x].id : RELATIVE_PATH + '/images/themes/default.png') + '" />' +
'<button class="btn btn-primary" data-action="use">Use</button> ' + '<div>' +
'</div>' + '<div class="pull-right">' +
'<h4>' + themes[x].name + '</h4>' + '<button class="btn btn-primary" data-action="use">Use</button> ' +
'<p>' + '</div>' +
themes[x].description + '<h4>' + themes[x].name + '</h4>' +
(themes[x].url ? ' (<a href="' + themes[x].url + '">Homepage</a>)' : '') + '<p>' +
'</p>' + themes[x].description +
'</div>' + (themes[x].url ? ' (<a href="' + themes[x].url + '">Homepage</a>)' : '') +
'<div class="clear">'; '</p>' +
themeFrag.appendChild(liEl.cloneNode(true)); '</div>' +
'<div class="clear">');
instListEl.append(liEl);
} }
} else { } else {
// No themes found // No themes found
liEl.className = 'no-themes'; instListEl.append($('<li/ >').addClass('no-themes').html('No installed themes found'));
liEl.innerHTML = 'No installed themes found';
themeFrag.appendChild(liEl);
} }
instListEl.innerHTML = '';
instListEl.appendChild(themeFrag);
}); });
// Proper tabbing for "Custom CSS" field // Proper tabbing for "Custom CSS" field
@ -105,34 +103,30 @@ define(['forum/admin/settings'], function(Settings) {
Themes.prepareWidgets(); Themes.prepareWidgets();
Settings.prepare(); Settings.prepare();
} };
Themes.render = function(bootswatch) { Themes.render = function(bootswatch) {
var themeFrag = document.createDocumentFragment(), var themeContainer = $('#bootstrap_themes').empty(),
themeEl = document.createElement('li'), numThemes = bootswatch.themes.length, themeEl, theme;
themeContainer = document.querySelector('#bootstrap_themes'),
numThemes = bootswatch.themes.length;
themeEl.setAttribute('data-type', 'bootswatch');
for (var x = 0; x < numThemes; x++) { for (var x = 0; x < numThemes; x++) {
var theme = bootswatch.themes[x]; theme = bootswatch.themes[x];
themeEl.setAttribute('data-css', theme.cssCdn); themeEl = $('<li />').attr({
themeEl.setAttribute('data-theme', theme.name); 'data-type': 'bootswatch',
themeEl.innerHTML = '<img src="' + theme.thumbnail + '" />' + 'data-css': theme.cssCdn,
'<div>' + 'data-theme': theme.name
'<div class="pull-right">' + }).html('<img src="' + theme.thumbnail + '" />' +
'<button class="btn btn-primary" data-action="use">Use</button> ' + '<div>' +
'</div>' + '<div class="pull-right">' +
'<h4>' + theme.name + '</h4>' + '<button class="btn btn-primary" data-action="use">Use</button> ' +
'<p>' + theme.description + '</p>' + '</div>' +
'</div>' + '<h4>' + theme.name + '</h4>' +
'<div class="clear">'; '<p>' + theme.description + '</p>' +
themeFrag.appendChild(themeEl.cloneNode(true)); '</div>' +
'<div class="clear">');
themeContainer.append(themeEl);
} }
themeContainer.innerHTML = ''; };
themeContainer.appendChild(themeFrag);
}
Themes.prepareWidgets = function() { Themes.prepareWidgets = function() {
$('#widgets .available-widgets .panel').draggable({ $('#widgets .available-widgets .panel').draggable({
@ -167,8 +161,8 @@ define(['forum/admin/settings'], function(Settings) {
hoverClass: "panel-info" hoverClass: "panel-info"
}) })
.children('.panel-heading') .children('.panel-heading')
.append('<div class="pull-right pointer"><span class="delete-widget"><i class="fa fa-times-circle"></i></span></div><div class="pull-left pointer"><span class="toggle-widget"><i class="fa fa-chevron-circle-down"></i></span>&nbsp;</div>') .append('<div class="pull-right pointer"><span class="delete-widget"><i class="fa fa-times-circle"></i></span></div><div class="pull-left pointer"><span class="toggle-widget"><i class="fa fa-chevron-circle-down"></i></span>&nbsp;</div>')
.children('small').html(''); .children('small').html('');
} }
} }
@ -178,18 +172,18 @@ define(['forum/admin/settings'], function(Settings) {
}, },
connectWith: "div" connectWith: "div"
}).on('click', '.toggle-widget', function() { }).on('click', '.toggle-widget', function() {
$(this).parents('.panel').children('.panel-body').toggleClass('hidden'); $(this).parents('.panel').children('.panel-body').toggleClass('hidden');
}).on('click', '.delete-widget', function() { }).on('click', '.delete-widget', function() {
var panel = $(this).parents('.panel'); var panel = $(this).parents('.panel');
bootbox.confirm('Are you sure you wish to delete this widget?', function(confirm) { bootbox.confirm('Are you sure you wish to delete this widget?', function(confirm) {
if (confirm) { if (confirm) {
panel.remove(); panel.remove();
} }
});
}).on('dblclick', '.panel-heading', function() {
$(this).parents('.panel').children('.panel-body').toggleClass('hidden');
}); });
}).on('dblclick', '.panel-heading', function() {
$(this).parents('.panel').children('.panel-body').toggleClass('hidden');
});
$('#widgets .btn[data-template]').on('click', function() { $('#widgets .btn[data-template]').on('click', function() {
var btn = $(this), var btn = $(this),
@ -211,7 +205,7 @@ define(['forum/admin/settings'], function(Settings) {
} }
widgets.push({ widgets.push({
widget: this.getAttribute('data-widget'), widget: $(this).attr('data-widget'),
data: widgetData data: widgetData
}); });
}); });

@ -2,14 +2,14 @@ define(function() {
var Topics = {}; var Topics = {};
Topics.init = function() { Topics.init = function() {
var topicsListEl = document.querySelector('.topics'), var topicsListEl = $('.topics'),
loadMoreEl = document.getElementById('topics_loadmore'); loadMoreEl = $('#topics_loadmore');
this.resolveButtonStates(); this.resolveButtonStates();
$(topicsListEl).on('click', '[data-action]', function() { topicsListEl.on('click', '[data-action]', function() {
var $this = $(this), var $this = $(this),
action = this.getAttribute('data-action'), action = $this.attr('data-action'),
tid = $this.parents('[data-tid]').attr('data-tid'); tid = $this.parents('[data-tid]').attr('data-tid');
switch (action) { switch (action) {
@ -40,17 +40,17 @@ define(function() {
} }
}); });
loadMoreEl.addEventListener('click', function() { loadMoreEl.on('click', function() {
if (this.className.indexOf('disabled') === -1) { if (!$(this).hasClass('disabled')) {
var topics = document.querySelectorAll('.topics li[data-tid]'); var topics = $('.topics li[data-tid]');
if(!topics.length) { if(!topics.length) {
return; return;
} }
var lastTid = parseInt(topics[topics.length - 1].getAttribute('data-tid')); var lastTid = parseInt(topics.eq(topics.length - 1).attr('data-tid'));
this.innerHTML = '<i class="fa fa-refresh fa-spin"></i> Retrieving topics'; $(this).html('<i class="fa fa-refresh fa-spin"></i> Retrieving topics');
socket.emit('admin.topics.getMore', { socket.emit('admin.topics.getMore', {
limit: 10, limit: 10,
after: lastTid after: lastTid
@ -59,27 +59,27 @@ define(function() {
return app.alertError(err.message); return app.alertError(err.message);
} }
var btnEl = document.getElementById('topics_loadmore'); var btnEl = $('#topics_loadmore');
if (topics.length > 0) { if (topics.length > 0) {
var html = templates.prepare(templates['admin/topics'].blocks['topics']).parse({ var html = templates.prepare(templates['admin/topics'].blocks['topics']).parse({
topics: topics topics: topics
}), }),
topicsListEl = document.querySelector('.topics'); topicsListEl = $('.topics');
// Fix relative paths // Fix relative paths
html = html.replace(/\{relative_path\}/g, RELATIVE_PATH); html = html.replace(/\{relative_path\}/g, RELATIVE_PATH);
topicsListEl.innerHTML += html; topicsListEl.html(topicsListEl.html() + html);
Topics.resolveButtonStates(); Topics.resolveButtonStates();
btnEl.innerHTML = 'Load More Topics'; btnEl.html('Load More Topics');
$('span.timeago').timeago(); $('span.timeago').timeago();
} else { } else {
// Exhausted all topics // Exhausted all topics
btnEl.className += ' disabled'; btnEl.addClass('disabled');
btnEl.innerHTML = 'No more topics'; btnEl.html('No more topics');
} }
}); });
} }
@ -88,24 +88,26 @@ define(function() {
Topics.resolveButtonStates = function() { Topics.resolveButtonStates = function() {
// Resolve proper button state for all topics // Resolve proper button state for all topics
var topicsListEl = document.querySelector('.topics'), var topicsListEl = $('.topics'),
topicEls = topicsListEl.querySelectorAll('li'), topicEls = topicsListEl.find('li'),
numTopics = topicEls.length; numTopics = topicEls.length;
for (var x = 0; x < numTopics; x++) { for (var x = 0; x < numTopics; x++) {
if (topicEls[x].getAttribute('data-pinned') === '1') { var topic = topicEls.eq(x);
topicEls[x].querySelector('[data-action="pin"]').className += ' active'; if (topic.attr('data-pinned') === '1') {
topicEls[x].removeAttribute('data-pinned'); topic.find('[data-action="pin"]').addClass('active');
topic.removeAttr('data-pinned');
} }
if (topicEls[x].getAttribute('data-locked') === '1') { if (topic.attr('data-locked') === '1') {
topicEls[x].querySelector('[data-action="lock"]').className += ' active'; topic.find('[data-action="lock"]').addClass('active');
topicEls[x].removeAttribute('data-locked'); topic.removeAttr('data-locked');
} }
if (topicEls[x].getAttribute('data-deleted') === '1') { if (topic.attr('data-deleted') === '1') {
topicEls[x].querySelector('[data-action="delete"]').className += ' active'; topic.find('[data-action="delete"]').addClass('active');
topicEls[x].removeAttribute('data-deleted'); topic.removeAttr('data-deleted');
} }
} }
} };
Topics.setDeleted = function(err, response) { Topics.setDeleted = function(err, response) {
if(err) { if(err) {
@ -113,10 +115,9 @@ define(function() {
} }
if (response && response.tid) { if (response && response.tid) {
var btnEl = document.querySelector('li[data-tid="' + response.tid + '"] button[data-action="delete"]'); var btnEl = $('li[data-tid="' + response.tid + '"] button[data-action="delete"]');
btnEl.addClass('active');
$(btnEl).addClass('active'); btnEl.siblings('[data-action="lock"]').addClass('active');
$(btnEl).siblings('[data-action="lock"]').addClass('active');
} }
}; };
@ -126,10 +127,10 @@ define(function() {
} }
if (response && response.tid) { if (response && response.tid) {
var btnEl = document.querySelector('li[data-tid="' + response.tid + '"] button[data-action="delete"]'); var btnEl = $('li[data-tid="' + response.tid + '"] button[data-action="delete"]');
$(btnEl).removeClass('active'); btnEl.removeClass('active');
$(btnEl).siblings('[data-action="lock"]').removeClass('active'); btnEl.siblings('[data-action="lock"]').removeClass('active');
} }
}; };
@ -139,9 +140,9 @@ define(function() {
} }
if (response && response.tid) { if (response && response.tid) {
var btnEl = document.querySelector('li[data-tid="' + response.tid + '"] button[data-action="lock"]'); var btnEl = $('li[data-tid="' + response.tid + '"] button[data-action="lock"]');
$(btnEl).addClass('active'); btnEl.addClass('active');
} }
}; };
@ -151,9 +152,9 @@ define(function() {
} }
if (response && response.tid) { if (response && response.tid) {
var btnEl = document.querySelector('li[data-tid="' + response.tid + '"] button[data-action="lock"]'); var btnEl = $('li[data-tid="' + response.tid + '"] button[data-action="lock"]');
$(btnEl).removeClass('active'); btnEl.removeClass('active');
} }
}; };
@ -164,9 +165,9 @@ define(function() {
} }
if (response && response.tid) { if (response && response.tid) {
var btnEl = document.querySelector('li[data-tid="' + response.tid + '"] button[data-action="pin"]'); var btnEl = $('li[data-tid="' + response.tid + '"] button[data-action="pin"]');
$(btnEl).removeClass('active'); btnEl.removeClass('active');
} }
}; };
@ -176,9 +177,9 @@ define(function() {
} }
if (response && response.tid) { if (response && response.tid) {
var btnEl = document.querySelector('li[data-tid="' + response.tid + '"] button[data-action="pin"]'); var btnEl = $('li[data-tid="' + response.tid + '"] button[data-action="pin"]');
$(btnEl).addClass('active'); btnEl.addClass('active');
} }
}; };

@ -156,7 +156,7 @@ define(function() {
} }
jQuery('document').ready(function() { $('document').ready(function() {
var timeoutId = 0, var timeoutId = 0,
loadingMoreUsers = false; loadingMoreUsers = false;
@ -165,15 +165,16 @@ define(function() {
parts = url.split('/'), parts = url.split('/'),
active = parts[parts.length - 1]; active = parts[parts.length - 1];
jQuery('.nav-pills li').removeClass('active'); $('.nav-pills li').removeClass('active');
jQuery('.nav-pills li a').each(function() { $('.nav-pills li a').each(function() {
if (this.getAttribute('href').match(active)) { var $this = $(this);
jQuery(this.parentNode).addClass('active'); if ($this.attr('href').match(active)) {
$this.parent().addClass('active');
return false; return false;
} }
}); });
jQuery('#search-user').on('keyup', function() { $('#search-user').on('keyup', function() {
if (timeoutId !== 0) { if (timeoutId !== 0) {
clearTimeout(timeoutId); clearTimeout(timeoutId);
timeoutId = 0; timeoutId = 0;
@ -182,7 +183,7 @@ define(function() {
timeoutId = setTimeout(function() { timeoutId = setTimeout(function() {
var username = $('#search-user').val(); var username = $('#search-user').val();
jQuery('.fa-spinner').removeClass('none'); $('.fa-spinner').removeClass('none');
socket.emit('admin.user.search', username, function(err, data) { socket.emit('admin.user.search', username, function(err, data) {
if(err) { if(err) {
@ -195,7 +196,7 @@ define(function() {
userListEl = document.querySelector('.users'); userListEl = document.querySelector('.users');
userListEl.innerHTML = html; userListEl.innerHTML = html;
jQuery('.fa-spinner').addClass('none'); $('.fa-spinner').addClass('none');
if (data && data.users.length === 0) { if (data && data.users.length === 0) {
$('#user-notfound-notify').html('User not found!') $('#user-notfound-notify').html('User not found!')

@ -65,8 +65,8 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
topics = $('#topics-container').children('.category-item'), topics = $('#topics-container').children('.category-item'),
numTopics = topics.length; numTopics = topics.length;
jQuery('#topics-container, .category-sidebar').removeClass('hidden'); $('#topics-container, .category-sidebar').removeClass('hidden');
jQuery('#category-no-topics').remove(); $('#category-no-topics').remove();
if (numTopics > 0) { if (numTopics > 0) {
for (var x = 0; x < numTopics; x++) { for (var x = 0; x < numTopics; x++) {
@ -104,8 +104,8 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
translator.translate(html, function(translatedHTML) { translator.translate(html, function(translatedHTML) {
var container = $('#topics-container'); var container = $('#topics-container');
jQuery('#topics-container, .category-sidebar').removeClass('hidden'); $('#topics-container, .category-sidebar').removeClass('hidden');
jQuery('#category-no-topics').remove(); $('#category-no-topics').remove();
html = $(translatedHTML); html = $(translatedHTML);

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

Loading…
Cancel
Save