diff --git a/.gitignore b/.gitignore index e743a14466..58bdac0c9d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ feeds/recent.rss # winston? error.log events.log + +pidfile diff --git a/README.md b/README.md index 36c8253255..ab02209c57 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # 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. diff --git a/app.js b/app.js index 8ad89c8ade..665944644b 100644 --- a/app.js +++ b/app.js @@ -82,8 +82,7 @@ if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf displayHelp(); }; - -function start() { +function loadConfig() { nconf.file({ file: configFile }); @@ -92,13 +91,18 @@ function start() { 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('upload_url', path.join(path.sep, nconf.get('relative_path'), 'uploads', path.sep)); nconf.set('base_dir', __dirname); - // Ensure themes_path is a full filepath - nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path'))); - winston.info('Time: ' + new Date()); winston.info('Initializing NodeBB v' + pkg.version); winston.info('* using configuration stored in: ' + configFile); @@ -157,16 +161,14 @@ function start() { } function setup() { + loadConfig(); + if (nconf.get('setup')) { winston.info('NodeBB Setup Triggered via Command Line'); } else { winston.warn('Configuration not found, starting NodeBB setup'); } - nconf.file({ - file: __dirname + '/config.json' - }); - var install = require('./src/install'); winston.info('Welcome to NodeBB!'); @@ -185,9 +187,7 @@ function setup() { } function upgrade() { - nconf.file({ - file: __dirname + '/config.json' - }); + loadConfig(); var meta = require('./src/meta'); @@ -199,9 +199,7 @@ function upgrade() { } function reset() { - nconf.file({ - file: __dirname + '/config.json' - }); + loadConfig(); var meta = require('./src/meta'), db = require('./src/database'), diff --git a/loader.js b/loader.js index 2263955ef9..3bb103d417 100644 --- a/loader.js +++ b/loader.js @@ -1,26 +1,65 @@ -var fork = require('child_process').fork, +"use strict"; + +var nconf = require('nconf'), + fs = require('fs'), + pidFilePath = __dirname + '/pidfile', start = function() { - nbb = fork('./app', process.argv.slice(2), { - env: { - 'NODE_ENV': process.env.NODE_ENV - } - }); + var fork = require('child_process').fork, + nbb_start = function() { + nbb = fork('./app', process.argv.slice(2), { + env: { + 'NODE_ENV': process.env.NODE_ENV + } + }); - nbb.on('message', function(cmd) { - if (cmd === 'nodebb:restart') { - nbb.on('exit', function() { - start(); + nbb.on('message', function(cmd) { + if (cmd === 'nodebb:restart') { + nbb.on('exit', function() { + nbb_start(); + }); + nbb.kill(); + } }); + }, + nbb_stop = function() { nbb.kill(); - } - }); - }, - stop = function() { - nbb.kill(); + if (fs.existsSync(pidFilePath)) { + var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10); + if (process.pid === pid) { + fs.unlinkSync(pidFilePath); + } + } + }; + + process.on('SIGINT', nbb_stop); + process.on('SIGTERM', nbb_stop); + + nbb_start(); }, nbb; -process.on('SIGINT', stop); -process.on('SIGTERM', stop); +nconf.argv(); + +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(); \ No newline at end of file + start(); + }); +} else { + start(); +} \ No newline at end of file diff --git a/logs/.gitignore b/logs/.gitignore new file mode 100644 index 0000000000..397b4a7624 --- /dev/null +++ b/logs/.gitignore @@ -0,0 +1 @@ +*.log diff --git a/nodebb b/nodebb index 0ea67b0a69..107d96259e 100755 --- a/nodebb +++ b/nodebb @@ -6,7 +6,19 @@ case "$1" in 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) @@ -42,13 +54,17 @@ case "$1" in *) echo "Welcome to NodeBB" - echo $"Usage: $0 {start|dev|watch|upgrade}" + echo $"Usage: $0 {start|stop|log|setup|reset|upgrade|dev|watch}" echo '' column -s ' ' -t <<< ' - start Start NodeBB in production mode - dev Start NodeBB in development mode - watch Start NodeBB in development mode and watch for changes + start Start the NodeBB server + stop Stops the NodeBB server + 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 + dev Start NodeBB in interactive development mode + watch Start NodeBB in development mode and watch for changes ' exit 1 esac diff --git a/package.json b/package.json index 221a6a781a..9024cc068b 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ }, "main": "app.js", "scripts": { + "start": "./nodebb start", + "stop": "./nodebb stop", "test": "mocha ./tests" }, "dependencies": { @@ -38,12 +40,13 @@ "socket.io-wildcard": "~0.1.1", "bcryptjs": "~0.7.10", "nodebb-plugin-mentions": "~0.4", - "nodebb-plugin-markdown": "~0.3", + "nodebb-plugin-markdown": "~0.4", "nodebb-widget-essentials": "~0.0", "nodebb-theme-vanilla": "~0.0.14", "nodebb-theme-cerulean": "~0.0.13", "nodebb-theme-lavender": "~0.0.22", - "less": "^1.6.3" + "less": "^1.6.3", + "daemon": "~1.1.0" }, "optionalDependencies": { "redis": "0.8.3", diff --git a/public/language/ar/category.json b/public/language/ar/category.json index 53f8e469b3..382c60fd40 100644 --- a/public/language/ar/category.json +++ b/public/language/ar/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "موضوع جديد", "no_topics": "لا توجد مواضيع في هذه الفئةلماذا لا تحاول نشر واحد؟
", - "sidebar.recent_replies": "الردود مؤخرا", - "sidebar.active_participants": "المشاركون النشطة", - "sidebar.moderators": "المشرفين", "posts": "مشاركات", "views": "مشاهدات", "posted": "نشر", diff --git a/public/language/ar/global.json b/public/language/ar/global.json index 6a8eb3ed8c..ffe888a143 100644 --- a/public/language/ar/global.json +++ b/public/language/ar/global.json @@ -10,6 +10,8 @@ "500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!", "register": "تسجيل", "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": "تسجيل الخروج", @@ -47,6 +49,7 @@ "posted": "posted", "in": "in", "recentposts": "Recent Posts", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Away", "dnd": "Do not Disturb", diff --git a/public/language/ar/pages.json b/public/language/ar/pages.json index d60e0a0a9b..6b41654688 100644 --- a/public/language/ar/pages.json +++ b/public/language/ar/pages.json @@ -8,6 +8,7 @@ "user.edit": "Editing \"%1\"", "user.following": "People %1 Follows", "user.followers": "People who Follow %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's Favourite Posts", "user.settings": "User Settings" } \ No newline at end of file diff --git a/public/language/ar/topic.json b/public/language/ar/topic.json index 81f8163fdf..f243cabfc7 100644 --- a/public/language/ar/topic.json +++ b/public/language/ar/topic.json @@ -11,6 +11,7 @@ "reply": "رد", "edit": "صحح", "delete": "حذف", + "restore": "Restore", "move": "انقل", "fork": "فرع", "banned": "محظور", @@ -18,8 +19,15 @@ "share": "شارك", "tools": "أدوات", "flag": "Flag", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Flag this post for moderation", "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", "share_this_post": "Share this Post", "thread_tools.title": "أدوات الموضوع", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Enter your topic title here...", "composer.write": "Write", "composer.preview": "Preview", + "composer.help": "Help", "composer.discard": "Discard", "composer.submit": "Submit", "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." } \ No newline at end of file diff --git a/public/language/cs/category.json b/public/language/cs/category.json index 9c2f2981a3..61fc76f497 100644 --- a/public/language/cs/category.json +++ b/public/language/cs/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nové téma", "no_topics": "V této kategorii zatím nejsou žádné příspěvky.
Můžeš být první!", - "sidebar.recent_replies": "Poslední příspěvky", - "sidebar.active_participants": "Aktivní účastníci", - "sidebar.moderators": "Moderátoři", "posts": "příspěvky", "views": "zobrazení", "posted": "odesláno", diff --git a/public/language/cs/global.json b/public/language/cs/global.json index db2aaee987..602ebc5dcd 100644 --- a/public/language/cs/global.json +++ b/public/language/cs/global.json @@ -10,6 +10,8 @@ "500.message": "Jejda, vypadá to, že se něco pokazilo.", "register": "Registrovat", "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 ", "you_have_successfully_logged_in": "You have successfully logged in", "logout": "Odhlásit se", @@ -47,6 +49,7 @@ "posted": "odesláno", "in": "v", "recentposts": "Nedávné příspěvky", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Pryč", "dnd": "Nerušit", diff --git a/public/language/cs/pages.json b/public/language/cs/pages.json index d60e0a0a9b..6b41654688 100644 --- a/public/language/cs/pages.json +++ b/public/language/cs/pages.json @@ -8,6 +8,7 @@ "user.edit": "Editing \"%1\"", "user.following": "People %1 Follows", "user.followers": "People who Follow %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's Favourite Posts", "user.settings": "User Settings" } \ No newline at end of file diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index f24a403223..f259a117c7 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -11,6 +11,7 @@ "reply": "Odpovědět", "edit": "Upravit", "delete": "Smazat", + "restore": "Restore", "move": "Přesunout", "fork": "Rozdělit", "banned": "banned", @@ -18,8 +19,15 @@ "share": "Sdílet", "tools": "Nástroje", "flag": "Flag", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Flag this post for moderation", "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", "share_this_post": "Share this Post", "thread_tools.title": "Nástroje", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Enter your topic title here...", "composer.write": "Write", "composer.preview": "Preview", + "composer.help": "Help", "composer.discard": "Discard", "composer.submit": "Submit", "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." } \ No newline at end of file diff --git a/public/language/de/category.json b/public/language/de/category.json index 72ad87d4e9..62e1993357 100644 --- a/public/language/de/category.json +++ b/public/language/de/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Neues Thema", "no_topics": "Es gibt noch keine Threads in dieser Kategorie.
Warum beginnst du nicht den ersten?", - "sidebar.recent_replies": "Neuste Antworten", - "sidebar.active_participants": "Aktive Teilnehmer", - "sidebar.moderators": "Moderatoren", "posts": "Posts", "views": "Aufrufe", "posted": "Geposted", diff --git a/public/language/de/global.json b/public/language/de/global.json index 7a6910df88..a577429cff 100644 --- a/public/language/de/global.json +++ b/public/language/de/global.json @@ -10,6 +10,8 @@ "500.message": "Ooops! Looks like something went wrong!", "register": "Registrierung", "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", "you_have_successfully_logged_in": "Du hast dich erfolgreich eingeloggt", "logout": "Logout", @@ -47,6 +49,7 @@ "posted": "geposted", "in": "in", "recentposts": "Aktuelle Beiträge", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Abwesend", "dnd": "Nicht stören", diff --git a/public/language/de/pages.json b/public/language/de/pages.json index d60e0a0a9b..7a755df1f5 100644 --- a/public/language/de/pages.json +++ b/public/language/de/pages.json @@ -1,13 +1,14 @@ { "home": "Home", "unread": "Unread Topics", - "popular": "Popular Topics", + "popular": "Beliebte Themen", "recent": "Recent Topics", "users": "Registered Users", "notifications": "Notifications", "user.edit": "Editing \"%1\"", "user.following": "People %1 Follows", "user.followers": "People who Follow %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's Favourite Posts", "user.settings": "User Settings" } \ No newline at end of file diff --git a/public/language/de/topic.json b/public/language/de/topic.json index 2c073da3db..c0901d1700 100644 --- a/public/language/de/topic.json +++ b/public/language/de/topic.json @@ -11,6 +11,7 @@ "reply": "antworten", "edit": "bearbeiten", "delete": "löschen", + "restore": "Restore", "move": "Verschieben", "fork": "Aufspalten", "banned": "gesperrt", @@ -18,8 +19,15 @@ "share": "Teilen", "tools": "Tools", "flag": "Markieren", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Diesen Beitrag zur Moderation markieren", "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", "share_this_post": "Diesen Beitrag teilen", "thread_tools.title": "Thread Tools", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Hier den Titel des Themas eingeben...", "composer.write": "Schreiben", "composer.preview": "Vorschau", + "composer.help": "Help", "composer.discard": "Verwerfen", "composer.submit": "Absenden", "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." } \ No newline at end of file diff --git a/public/language/en_GB/topic.json b/public/language/en_GB/topic.json index e03bada393..00f2358c56 100644 --- a/public/language/en_GB/topic.json +++ b/public/language/en_GB/topic.json @@ -22,6 +22,8 @@ "tools": "Tools", "flag": "Flag", + "bookmark_instructions" : "Click here to return to your last position or close to discard.", + "flag_title": "Flag this post for moderation", "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.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", "share_this_post": "Share this Post", @@ -77,6 +81,7 @@ "composer.title_placeholder": "Enter your topic title here...", "composer.write": "Write", "composer.preview": "Preview", + "composer.help": "Help", "composer.discard": "Discard", "composer.submit": "Submit", "composer.replying_to": "Replying to", @@ -89,6 +94,5 @@ "composer.thumb_file_label": "Or upload a file", "composer.thumb_remove": "Clear fields", "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." } diff --git a/public/language/es/category.json b/public/language/es/category.json index d75bf5e916..ee5b39465a 100644 --- a/public/language/es/category.json +++ b/public/language/es/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nuevo Tema", "no_topics": "No hay temas en esta categoría.
Por que no te animas y publicas uno?", - "sidebar.recent_replies": "Respuestas recientes", - "sidebar.active_participants": "Miembros más activos", - "sidebar.moderators": "Moderadores", "posts": "respuestas", "views": "visitas", "posted": "posted", diff --git a/public/language/es/global.json b/public/language/es/global.json index 8fa7474ad2..7bb6ec6d41 100644 --- a/public/language/es/global.json +++ b/public/language/es/global.json @@ -10,6 +10,8 @@ "500.message": "Ooops! Algo salio mal!, No te alarmes. Nuestros simios hiperinteligentes lo solucionarán", "register": "Registrarse", "login": "Conectarse", + "please_log_in": "Por favor conectate.", + "posting_restriction_info": "Para publicar debes ser miembro, registrate o conectate.", "welcome_back": "Bienvenido de nuevo!", "you_have_successfully_logged_in": "Te has conectado!", "logout": "Salir", @@ -47,10 +49,11 @@ "posted": "publicado", "in": "en", "recentposts": "Publicaciones Recientes", + "recentips": "Recently Logged In IPs", "online": "Conectado", "away": "No disponible", "dnd": "No molestar", "invisible": "Invisible", "offline": "Desconectado", "privacy": "Privacidad" -} +} \ No newline at end of file diff --git a/public/language/es/pages.json b/public/language/es/pages.json index 6d91d53482..603c8ace7a 100644 --- a/public/language/es/pages.json +++ b/public/language/es/pages.json @@ -8,6 +8,7 @@ "user.edit": "Editando \"%1\"", "user.following": "Gente que sigue %1 ", "user.followers": "Seguidores de %1", + "user.posts": "Posts made by %1", "user.favourites": "Publicaciones favoritas de %1 ", "user.settings": "Preferencias del Usuario" } \ No newline at end of file diff --git a/public/language/es/topic.json b/public/language/es/topic.json index d826369a84..ce34ffa2a7 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -11,6 +11,7 @@ "reply": "Responder", "edit": "Editar", "delete": "Borrar", + "restore": "Restore", "move": "Mover", "fork": "Bifurcar", "banned": "baneado", @@ -18,8 +19,15 @@ "share": "Compartir", "tools": "Herramientas", "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", "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", "share_this_post": "Compartir este post", "thread_tools.title": "Herramientas del Tema", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Ingresa el titulo de tu tema", "composer.write": "Escribe", "composer.preview": "Previsualización", + "composer.help": "Help", "composer.discard": "Descartar", "composer.submit": "Enviar", "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." } \ No newline at end of file diff --git a/public/language/fi/category.json b/public/language/fi/category.json index 3512fae9d5..d9ee3f3ad4 100644 --- a/public/language/fi/category.json +++ b/public/language/fi/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Uusi aihe", "no_topics": "Tällä aihealueella ei ole yhtään aihetta.
Miksi et aloittaisi uutta?", - "sidebar.recent_replies": "Viimeisimmät vastaukset", - "sidebar.active_participants": "Aktiiviset keskustelijat", - "sidebar.moderators": "Moderaattorit", "posts": "viestit", "views": "katsottu", "posted": "kirjoitettu", diff --git a/public/language/fi/global.json b/public/language/fi/global.json index b5d7aab994..2be70cb8a4 100644 --- a/public/language/fi/global.json +++ b/public/language/fi/global.json @@ -49,6 +49,7 @@ "posted": "kirjoitettu", "in": "alueelle", "recentposts": "Viimeisimmät viestit", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Poissa", "dnd": "Älä häiritse", diff --git a/public/language/fi/pages.json b/public/language/fi/pages.json index 49a7dca36a..aaf5763470 100644 --- a/public/language/fi/pages.json +++ b/public/language/fi/pages.json @@ -8,6 +8,7 @@ "user.edit": "Muokataan \"%1\"", "user.following": "Käyttäjät, joita %1 seuraa", "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.settings": "Käyttäjän asetukset" } \ No newline at end of file diff --git a/public/language/fi/topic.json b/public/language/fi/topic.json index c7dcff3a0f..6172216102 100644 --- a/public/language/fi/topic.json +++ b/public/language/fi/topic.json @@ -11,6 +11,7 @@ "reply": "Vastaa", "edit": "Muokkaa", "delete": "Poista", + "restore": "Restore", "move": "Siirrä", "fork": "Haaroita", "banned": "estetty", @@ -18,13 +19,15 @@ "share": "Jaa", "tools": "Työkalut", "flag": "Ilmianna", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "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.", "following_topic.title": "Seurataan aihetta", "following_topic.message": "Saat nyt ilmoituksen, kun joku kirjoittaa tähän aiheeseen.", "not_following_topic.title": "Et seuraa aihetta", "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", "share_this_post": "Jaa tämä viesti", "thread_tools.title": "Aiheen työkalut", @@ -63,11 +66,17 @@ "composer.title_placeholder": "Syötä aiheesi otsikko tähän...", "composer.write": "Kirjoita", "composer.preview": "Esikatsele", + "composer.help": "Help", "composer.discard": "Hylkää", "composer.submit": "Lähetä", "composer.replying_to": "Vastataan aiheeseen", "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.content_is_parsed_with": "Sisältö jäsennetään muodossa", "composer.upload_instructions": "Lataa kuvia vetämällä & pudottamalla ne." } \ No newline at end of file diff --git a/public/language/fr/category.json b/public/language/fr/category.json index 4543da7ba3..cc53bc321b 100644 --- a/public/language/fr/category.json +++ b/public/language/fr/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nouveau Sujet", "no_topics": "Il n'y a aucun topic dans cette catégorie.
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", "views": "vues", "posted": "posté", diff --git a/public/language/fr/global.json b/public/language/fr/global.json index bfe824c9e2..3a560db0a1 100644 --- a/public/language/fr/global.json +++ b/public/language/fr/global.json @@ -10,6 +10,8 @@ "500.message": "Oops! Il semblerait que quelque chose se soit mal passé!", "register": "S'inscrire", "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", "you_have_successfully_logged_in": "Vous vous êtes connecté avec succès.", "logout": "Déconnection", @@ -47,6 +49,7 @@ "posted": "posté", "in": "dans", "recentposts": "Messages Récents", + "recentips": "Recently Logged In IPs", "online": "En ligne", "away": "Absent", "dnd": "Occupé", diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index 3c61eb6cf8..e20ff0444c 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -1,13 +1,14 @@ { "home": "Accueil", "unread": "Sujets non lus", - "popular": "Popular Topics", + "popular": "Sujets Populaires", "recent": "Sujets Récents", "users": "Utilisateurs enregistrés", "notifications": "Notifications", "user.edit": "Edite \"%1\"", "user.following": "Personnes que %1 suit", "user.followers": "Personnes qui suivent %1", + "user.posts": "Posts made by %1", "user.favourites": "Messages favoris de %1", "user.settings": "Préférences Utilisateur" } \ No newline at end of file diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index dd878a751f..cbe1843ca5 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -11,6 +11,7 @@ "reply": "Répondre", "edit": "Editer", "delete": "Supprimer", + "restore": "Restore", "move": "Déplacer", "fork": "Scinder", "banned": "bannis", @@ -18,8 +19,15 @@ "share": "Partager", "tools": "Outils", "flag": "Signaler", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "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.", + "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", "share_this_post": "Partager ce message", "thread_tools.title": "Outils du Fil", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Entrer le titre du sujet ici...", "composer.write": "Ecriture", "composer.preview": "Aperçu", + "composer.help": "Help", "composer.discard": "Abandon", "composer.submit": "Envoi", "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." } \ No newline at end of file diff --git a/public/language/he/category.json b/public/language/he/category.json index cf2ecb0050..34253c2ca2 100644 --- a/public/language/he/category.json +++ b/public/language/he/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "נושא חדש", "no_topics": "קטגוריה זו ריקה מנושאים.
למה שלא תנסה להוסיף נושא חדש?", - "sidebar.recent_replies": "תגובות אחרונות", - "sidebar.active_participants": "משתתפים פעילים", - "sidebar.moderators": "מנהלי הפורום", "posts": "פוסטים", "views": "צפיות", "posted": "פורסם", diff --git a/public/language/he/global.json b/public/language/he/global.json index dabcda50c6..0719d1408b 100644 --- a/public/language/he/global.json +++ b/public/language/he/global.json @@ -10,6 +10,8 @@ "500.message": "אופס! נראה שמשהו השתבש!", "register": "הרשמה", "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": "ברוכים השבים", "you_have_successfully_logged_in": "התחברת בהצלחה", "logout": "יציאה", @@ -47,6 +49,7 @@ "posted": "פורסם", "in": "ב", "recentposts": "פוסטים אחרונים", + "recentips": "Recently Logged In IPs", "online": "מחובר", "away": "לא נמצא", "dnd": "לא להפריע", diff --git a/public/language/he/pages.json b/public/language/he/pages.json index 0ff571585f..44b12272f4 100644 --- a/public/language/he/pages.json +++ b/public/language/he/pages.json @@ -8,6 +8,7 @@ "user.edit": "עורך את %1", "user.following": "אנשים ש%1 עוקב אחריהם", "user.followers": "אנשים שעוקבים אחרי %1", + "user.posts": "Posts made by %1", "user.favourites": "הפוסטים המועדפים על %1", "user.settings": "הגדרות משתמש" } \ No newline at end of file diff --git a/public/language/he/topic.json b/public/language/he/topic.json index 4e10c34c29..866570224f 100644 --- a/public/language/he/topic.json +++ b/public/language/he/topic.json @@ -11,6 +11,7 @@ "reply": "תגובה", "edit": "עריכה", "delete": "מחק", + "restore": "Restore", "move": "הזז", "fork": "פורק", "banned": "מורחק", @@ -18,8 +19,15 @@ "share": "Share", "tools": "כלים", "flag": "דווח", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "דווח על פוסט זה למנהל", "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": "עקוב", "share_this_post": "שתף פוסט זה", "thread_tools.title": "כלים", @@ -58,8 +66,17 @@ "composer.title_placeholder": "הכנס את כותרת הנושא כאן...", "composer.write": "כתוב", "composer.preview": "תצוגה מקדימה", + "composer.help": "Help", "composer.discard": "מחק", "composer.submit": "שלח", "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." } \ No newline at end of file diff --git a/public/language/hu/category.json b/public/language/hu/category.json index b47c4d3f62..0026d7f8e7 100644 --- a/public/language/hu/category.json +++ b/public/language/hu/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Új Topik", "no_topics": "Még nincs nyitva egy téma sem ebben a kategóriában.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", "views": "megtekintések", "posted": "hozzászólt", diff --git a/public/language/hu/global.json b/public/language/hu/global.json index 8996720bfa..579ae7fd48 100644 --- a/public/language/hu/global.json +++ b/public/language/hu/global.json @@ -10,6 +10,8 @@ "500.message": "Hoppá! Úgy tűnik valami hiba történt!", "register": "Regisztrálá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 ", "you_have_successfully_logged_in": "You have successfully logged in", "logout": "Kijelentkezés", @@ -47,6 +49,7 @@ "posted": "hozzászólt", "in": "itt:", "recentposts": "Friss hozzászólások", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Távol van", "dnd": "Elfoglalt", diff --git a/public/language/hu/pages.json b/public/language/hu/pages.json index 00a3c97c1a..1ed955722c 100644 --- a/public/language/hu/pages.json +++ b/public/language/hu/pages.json @@ -8,6 +8,7 @@ "user.edit": "Szerkesztés \"%1\"", "user.following": "Tagok akiket %1 követ", "user.followers": "Tagok akik követik %1 -t", + "user.posts": "Posts made by %1", "user.favourites": "%1 Kedvenc Hozzászólásai", "user.settings": "Felhasználói Beállítások" } \ No newline at end of file diff --git a/public/language/hu/topic.json b/public/language/hu/topic.json index 0e64a57877..4523c44c01 100644 --- a/public/language/hu/topic.json +++ b/public/language/hu/topic.json @@ -11,6 +11,7 @@ "reply": "Válasz", "edit": "Szerkeszt", "delete": "Töröl", + "restore": "Restore", "move": "Áthelyez", "fork": "Szétszedés", "banned": "tiltva", @@ -18,13 +19,15 @@ "share": "Megosztás", "tools": "Eszközök", "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", "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.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", + "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": "Téma Eszközök", @@ -63,11 +66,17 @@ "composer.title_placeholder": "Írd be a témanevet...", "composer.write": "Ír", "composer.preview": "Előnézet", + "composer.help": "Help", "composer.discard": "Elvet", "composer.submit": "Küldés", "composer.replying_to": "Válasz erre:", "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.content_is_parsed_with": "Content is parsed with", "composer.upload_instructions": "Upload images by dragging & dropping them." } \ No newline at end of file diff --git a/public/language/it/category.json b/public/language/it/category.json index 9712a85a6c..4957d06d56 100644 --- a/public/language/it/category.json +++ b/public/language/it/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nuovo Argomento", "no_topics": "Non ci sono discussioni in questa categoria.
Perché non ne inizi una?", - "sidebar.recent_replies": "Risposte Recenti", - "sidebar.active_participants": "Partecipanti Attivi", - "sidebar.moderators": "Moderatori", "posts": "post", "views": "visualizzazioni", "posted": "postato", diff --git a/public/language/it/global.json b/public/language/it/global.json index b9c1700a5a..e8223af7e5 100644 --- a/public/language/it/global.json +++ b/public/language/it/global.json @@ -49,6 +49,7 @@ "posted": "postato", "in": "in", "recentposts": "Post Recenti", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Non disponibile", "dnd": "Non disturbare", diff --git a/public/language/it/language.json b/public/language/it/language.json index b749dfac01..76bc29d1e3 100644 --- a/public/language/it/language.json +++ b/public/language/it/language.json @@ -1,5 +1,5 @@ { "name": "Italiano", - "code": "it_IT", + "code": "it", "dir": "ltr" } \ No newline at end of file diff --git a/public/language/it/pages.json b/public/language/it/pages.json index 80f9ef9e72..559d80b9d2 100644 --- a/public/language/it/pages.json +++ b/public/language/it/pages.json @@ -8,6 +8,7 @@ "user.edit": "Modificando \"%1\"", "user.following": "%1 Persone seguono", "user.followers": "Persone che seguono %1", + "user.posts": "Posts made by %1", "user.favourites": "Post Favoriti di %1", "user.settings": "Impostazioni Utente" } \ No newline at end of file diff --git a/public/language/it/topic.json b/public/language/it/topic.json index e8e44d9f03..5aced3efe3 100644 --- a/public/language/it/topic.json +++ b/public/language/it/topic.json @@ -11,6 +11,7 @@ "reply": "Rispondi", "edit": "Modifica", "delete": "Cancella", + "restore": "Restore", "move": "Muovi", "fork": "Dividi", "banned": "bannato", @@ -18,14 +19,16 @@ "share": "Condividi", "tools": "Strumenti", "flag": "Segnala", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "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.", - "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.", - "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.", - "login_to_subscribe": "Per favore registrati o accedi per sottoscrivere questo argomento", - "watch": "Guarda", + "login_to_subscribe": "Please register or log in in order to subscribe to this topic.", + "markAsUnreadForAll.success": "Topic marked as unread for all.", + "watch": "Osserva", "share_this_post": "Condividi questo Post", "thread_tools.title": "Strumenti per il Thread", "thread_tools.markAsUnreadForAll": "Segna come non letto", @@ -63,11 +66,17 @@ "composer.title_placeholder": "Inserisci qui il titolo della discussione...", "composer.write": "Scrivi", "composer.preview": "Anteprima", - "composer.discard": "Scarta", + "composer.help": "Help", + "composer.discard": "Annulla", "composer.submit": "Invia", "composer.replying_to": "Rispondendo a", "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.content_is_parsed_with": "Il contenuto è analizzato con", "composer.upload_instructions": "Carica immagini trascinandole e rilasciandole." } \ No newline at end of file diff --git a/public/language/nb/category.json b/public/language/nb/category.json index dffe17e88b..e9faf5ec0e 100644 --- a/public/language/nb/category.json +++ b/public/language/nb/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nytt emne", "no_topics": "Det er ingen emner i denne kategorien
Hvorfor ikke lage ett?", - "sidebar.recent_replies": "Seneste svar", - "sidebar.active_participants": "Aktive deltakere", - "sidebar.moderators": "Moderatorer", "posts": "inlegg", "views": "visninger", "posted": "skapte", diff --git a/public/language/nb/global.json b/public/language/nb/global.json index 0c07cd9c51..d1773e9388 100644 --- a/public/language/nb/global.json +++ b/public/language/nb/global.json @@ -10,6 +10,8 @@ "500.message": "Oops! Ser ut som noe gikk galt!", "register": "Registrer", "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", "you_have_successfully_logged_in": "Du har blitt logget inn", "logout": "Logg ut", @@ -47,6 +49,7 @@ "posted": "skapt", "in": "i", "recentposts": "Seneste innlegg", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Borte", "dnd": "Ikke forsturr", diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index 60940216d0..1d7a489f5e 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -1,13 +1,14 @@ { "home": "Hjem", "unread": "Uleste emner", - "popular": "Popular Topics", + "popular": "Populære tråder", "recent": "Seneste emner", "users": "Registrerte brukere", "notifications": "Varsler", "user.edit": "Endrer \"%1\"", "user.following": "Personer %1 følger", "user.followers": "Personer som følger %1", + "user.posts": "Posts made by %1", "user.favourites": "%1 sine favoritt-innlegg", "user.settings": "Brukerinnstillinger" } \ No newline at end of file diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index aab44d8835..320f0b5002 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -11,6 +11,7 @@ "reply": "Svar", "edit": "Endre", "delete": "Slett", + "restore": "Restore", "move": "Flytt", "fork": "Del", "banned": "utestengt", @@ -18,8 +19,15 @@ "share": "Del", "tools": "Verktøy", "flag": "Rapporter", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "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.", + "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", "share_this_post": "Del ditt innlegg", "thread_tools.title": "Trådverktøy", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Skriv din tråd-tittel her", "composer.write": "Skriv", "composer.preview": "Forhåndsvis", + "composer.help": "Help", "composer.discard": "Forkast", "composer.submit": "Send", "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." } \ No newline at end of file diff --git a/public/language/nl/category.json b/public/language/nl/category.json index af6ba62510..08cb947178 100644 --- a/public/language/nl/category.json +++ b/public/language/nl/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nieuw onderwerp", "no_topics": "Er zijn geen onderwerpen in deze categorie.
Waarom maak je er niet een aan?", - "sidebar.recent_replies": "Recente Reacties", - "sidebar.active_participants": "Actieve Deelnemers", - "sidebar.moderators": "Moderators", "posts": "berichten", "views": "weergaven", "posted": "geplaatst", diff --git a/public/language/nl/global.json b/public/language/nl/global.json index d9a3048fd6..cf6a683825 100644 --- a/public/language/nl/global.json +++ b/public/language/nl/global.json @@ -49,6 +49,7 @@ "posted": "geplaatst", "in": "in", "recentposts": "Recente Berichten", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Afwezig", "dnd": "Niet Storen", diff --git a/public/language/nl/pages.json b/public/language/nl/pages.json index 07a6963b89..15deb0556f 100644 --- a/public/language/nl/pages.json +++ b/public/language/nl/pages.json @@ -8,6 +8,7 @@ "user.edit": "\"%1\" aanpassen", "user.following": "Mensen %1 Volgt", "user.followers": "Mensen die %1 Volgen", + "user.posts": "Posts made by %1", "user.favourites": "%1's Favoriete Berichten", "user.settings": "Gebruikersinstellingen" } \ No newline at end of file diff --git a/public/language/nl/topic.json b/public/language/nl/topic.json index a0d1dd9ffb..3331b7fcf1 100644 --- a/public/language/nl/topic.json +++ b/public/language/nl/topic.json @@ -11,6 +11,7 @@ "reply": "Reageren", "edit": "Aanpassen", "delete": "Verwijderen", + "restore": "Restore", "move": "Verplaatsen", "fork": "Fork", "banned": "verbannen", @@ -18,13 +19,15 @@ "share": "Delen", "tools": "Gereedschap", "flag": "Markeren", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Dit bericht markeren voor moderatie", "deleted_message": "Dit onderwerp is verwijderd. Alleen gebruikers met onderwerp management privileges kunnen dit onderwerp zien.", "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", + "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 Gereedschap", @@ -63,11 +66,17 @@ "composer.title_placeholder": "Vul de titel voor het onderwerp hier in...", "composer.write": "Schrijven", "composer.preview": "Voorbeeld", + "composer.help": "Help", "composer.discard": "Annuleren", "composer.submit": "Opslaan", "composer.replying_to": "Reageren op", "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.content_is_parsed_with": "Content is parsed with", "composer.upload_instructions": "Upload images by dragging & dropping them." } \ No newline at end of file diff --git a/public/language/pl/category.json b/public/language/pl/category.json index fec821a94f..c916677ef8 100644 --- a/public/language/pl/category.json +++ b/public/language/pl/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nowy wątek", "no_topics": "W tej kategorii nie ma jeszcze żadnych wątków.
Dlaczego ty nie utworzysz jakiegoś?", - "sidebar.recent_replies": "Ostatnie odpowiedzi", - "sidebar.active_participants": "Aktywni uczestnicy", - "sidebar.moderators": "Moderatorzy", "posts": "postów", "views": "wyświetleń", "posted": "napisano", diff --git a/public/language/pl/global.json b/public/language/pl/global.json index 9b979e6373..b543fc38ff 100644 --- a/public/language/pl/global.json +++ b/public/language/pl/global.json @@ -49,6 +49,7 @@ "posted": "napisano", "in": "w", "recentposts": "Ostatnie posty", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Z dala", "dnd": "Nie przeszkadzać", diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json index c91a2daff9..483fb2d6ec 100644 --- a/public/language/pl/pages.json +++ b/public/language/pl/pages.json @@ -8,6 +8,7 @@ "user.edit": "Edytowanie \"%1\"", "user.following": "Obserwowani przez %1", "user.followers": "Obserwujący %1", + "user.posts": "Posts made by %1", "user.favourites": "Ulubione posty %1", "user.settings": "Ustawienia użytkownika" } \ No newline at end of file diff --git a/public/language/pl/topic.json b/public/language/pl/topic.json index 8127f73075..c05f78147f 100644 --- a/public/language/pl/topic.json +++ b/public/language/pl/topic.json @@ -11,6 +11,7 @@ "reply": "Odpowiedz", "edit": "Edytuj", "delete": "Usuń", + "restore": "Restore", "move": "Przenieś", "fork": "Skopiuj", "banned": "zbanowany", @@ -18,13 +19,15 @@ "share": "Udostępnij", "tools": "Narzędzia", "flag": "Zgłoś", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "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ć.", "following_topic.title": "Obserwujesz wątek", "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.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", "share_this_post": "Udostępnij", "thread_tools.title": "Narzędzia wątków", @@ -63,11 +66,17 @@ "composer.title_placeholder": "Wpisz tytuł wątku tutaj", "composer.write": "Pisz", "composer.preview": "Podgląd", + "composer.help": "Help", "composer.discard": "Odrzuć", "composer.submit": "Wyślij", "composer.replying_to": "Odpowiadasz", "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.content_is_parsed_with": "Tekst jest parsowany przy pomocy", "composer.upload_instructions": "Prześlij obrazki przeciągając i upuszczając je." } \ No newline at end of file diff --git a/public/language/pt_BR/category.json b/public/language/pt_BR/category.json index e0f5933e5c..7b09b35907 100644 --- a/public/language/pt_BR/category.json +++ b/public/language/pt_BR/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Novo Tópico", "no_topics": "Não tem nenhum tópico nesta categoria.
Por que não tenta postar um?", - "sidebar.recent_replies": "Respostas Recentes", - "sidebar.active_participants": "Participantes Ativos", - "sidebar.moderators": "Moderadores", "posts": "posts", "views": "visualizações", "posted": "postado", diff --git a/public/language/pt_BR/global.json b/public/language/pt_BR/global.json index 26d5525a81..d0eec0d266 100644 --- a/public/language/pt_BR/global.json +++ b/public/language/pt_BR/global.json @@ -10,14 +10,16 @@ "500.message": "Oops! deu algo errado!", "register": "Cadastrar", "login": "Logar", - "welcome_back": "Welcome Back ", - "you_have_successfully_logged_in": "You have successfully logged in", + "please_log_in": "Por favor efetue o login", + "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.title": "Logout com sucesso.", "logout.message": "Logado com Sucesso!", "save_changes": "Salvar Alterações", "close": "Fechar", - "pagination": "Pagination", + "pagination": "Paginação", "header.admin": "Admin", "header.recent": "Recente", "header.unread": "Não Lido", @@ -47,10 +49,11 @@ "posted": "Postado", "in": "em", "recentposts": "Posts Recentes", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Ausente", "dnd": "Não Perturbe", "invisible": "Invisível", "offline": "Offline", - "privacy": "Privacy" + "privacy": "Privacidade" } \ No newline at end of file diff --git a/public/language/pt_BR/notifications.json b/public/language/pt_BR/notifications.json index fa7441b08d..253ec3cfdd 100644 --- a/public/language/pt_BR/notifications.json +++ b/public/language/pt_BR/notifications.json @@ -1,7 +1,7 @@ { "title": "Notificações", - "no_notifs": "You have no new notifications", - "see_all": "See all Notifications", + "no_notifs": "Você não tem nenhuma notificação nova", + "see_all": "Visualizar todas as Notificações", "back_to_home": "voltar para home", "outgoing_link": "Link Externo", "outgoing_link_message": "Você está; saindo para um link externo", diff --git a/public/language/pt_BR/pages.json b/public/language/pt_BR/pages.json index 8f6d6f08e8..6319f5b5d4 100644 --- a/public/language/pt_BR/pages.json +++ b/public/language/pt_BR/pages.json @@ -1,13 +1,14 @@ { "home": "Home", "unread": "Tópicos Não Lidos", - "popular": "Popular Topics", + "popular": "Tópicos Populares", "recent": "Tópicos Recentes", "users": "Usuários Registrados", "notifications": "Notificações", "user.edit": "Editando \"%1\"", "user.following": "Pessoas %1 Seguindo", "user.followers": "Pessoas que seguem %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's Posts Favoritos", "user.settings": "Configurações de Usuário" } \ No newline at end of file diff --git a/public/language/pt_BR/recent.json b/public/language/pt_BR/recent.json index b67b2e88b4..9adf191ed6 100644 --- a/public/language/pt_BR/recent.json +++ b/public/language/pt_BR/recent.json @@ -3,5 +3,5 @@ "day": "Dia", "week": "Semana", "month": "Mês", - "no_recent_topics": "There are no recent topics." + "no_recent_topics": "Nenhum tópico recente." } \ No newline at end of file diff --git a/public/language/pt_BR/topic.json b/public/language/pt_BR/topic.json index a20ea66672..4871bf5ca9 100644 --- a/public/language/pt_BR/topic.json +++ b/public/language/pt_BR/topic.json @@ -2,7 +2,7 @@ "topic": "Tópico", "topics": "Tópicos", "no_topics_found": "Nenhum tópico encontrado!", - "no_posts_found": "No posts found!", + "no_posts_found": "Nenhum post encontrado!", "profile": "Profile", "posted_by": "Postado por", "chat": "Bate Papo", @@ -11,6 +11,7 @@ "reply": "Responder", "edit": "Editar", "delete": "Deletar", + "restore": "Restore", "move": "Mover", "fork": "Fork", "banned": "Banido", @@ -18,20 +19,27 @@ "share": "Compartilhar", "tools": "Ferramentas", "flag": "Marcar", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Marcar este post para moderação", - "deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.", - "watch": "Watch", - "share_this_post": "Share this Post", + "deleted_message": "Esta Thread foi deletada. Somente usuários com privilégios administrativos podem ver.", + "following_topic.title": "Seguir Tópico", + "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.markAsUnreadForAll": "Marcar como não lido", - "thread_tools.pin": "Pin Topic", - "thread_tools.unpin": "Unpin Topic", - "thread_tools.lock": "Lock Topic", - "thread_tools.unlock": "Unlock Topic", - "thread_tools.move": "Move Topic", - "thread_tools.fork": "Fork Topic", - "thread_tools.delete": "Delete Topic", - "thread_tools.restore": "Restore Topic", + "thread_tools.pin": "Fixar Tópico", + "thread_tools.unpin": "Remover Fixação do Tópico", + "thread_tools.lock": "Trancar Tópico", + "thread_tools.unlock": "Destrancar Tópico", + "thread_tools.move": "Mover Tópico", + "thread_tools.fork": "Fork Tópico", + "thread_tools.delete": "Deletar Tópico", + "thread_tools.restore": "Restaurar Tópico", "load_categories": "Carregando Categorias", "disabled_categories_note": "Categorias desabilitadas estão em cinza", "confirm_move": "Mover", @@ -41,10 +49,10 @@ "favourites.not_logged_in.title": "Não Logado", "favourites.not_logged_in.message": "Por Favor logar para favoritar o tópico", "favourites.has_no_favourites": "Você não tem nenhum item favoritado!", - "vote.not_logged_in.title": "Not Logged In", - "vote.not_logged_in.message": "Please log in in order to vote", - "vote.cant_vote_self.title": "Invalid Vote", - "vote.cant_vote_self.message": "You cannot vote for your own post", + "vote.not_logged_in.title": "Não está logado", + "vote.not_logged_in.message": "Por favor efetuar login para votar", + "vote.cant_vote_self.title": "Voto inválido", + "vote.cant_vote_self.message": "Você não pode votar o seu próprio post", "loading_more_posts": "Carregando mais posts", "move_topic": "Mover Tó;pico", "move_post": "Mover Post", @@ -55,11 +63,20 @@ "fork_success": "Fork realizado com sucesso!", "reputation": "Reputação", "posts": "Posts", - "composer.title_placeholder": "Enter your topic title here...", - "composer.write": "Write", - "composer.preview": "Preview", - "composer.discard": "Discard", - "composer.submit": "Submit", - "composer.replying_to": "Replying to", - "composer.new_topic": "New Topic" + "composer.title_placeholder": "Digite seu tópico aqui...", + "composer.write": "Escreva", + "composer.preview": "Pré Visualização", + "composer.help": "Help", + "composer.discard": "Descartar", + "composer.submit": "Enviar", + "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." } \ No newline at end of file diff --git a/public/language/pt_BR/user.json b/public/language/pt_BR/user.json index 09270bb6d8..6991971504 100644 --- a/public/language/pt_BR/user.json +++ b/public/language/pt_BR/user.json @@ -9,7 +9,7 @@ "age": "Idade", "joined": "Cadastrou", "lastonline": "Última vez online", - "profile": "Profile", + "profile": "Perfil", "profile_views": "Visualizações de Profile", "reputation": "Reputação", "posts": "Posts", @@ -19,29 +19,29 @@ "signature": "Assinatura", "gravatar": "Gravatar", "birthday": "Aniversário", - "chat": "Chat", - "follow": "Follow", - "unfollow": "Unfollow", + "chat": "Bate Papo", + "follow": "Seguir", + "unfollow": "Deixar de Seguir", "change_picture": "Alterar Foto", "edit": "Editar", "uploaded_picture": "Foto Carregada", "upload_new_picture": "Carregar novo Foto", - "current_password": "Current Password", + "current_password": "Senha Atual", "change_password": "Alterar Senha", "confirm_password": "Confirmar Senha", "password": "Senha", "upload_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.", "settings": "Configurações", "show_email": "Mostrar meu email", "has_no_follower": "Ninguém está seguindo esse usuário :(", "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", "hidden": "Escondido", - "paginate_description": "Paginate topics and posts instead of using infinite scroll.", - "topics_per_page": "Topics per Page", - "posts_per_page": "Posts per Page" + "paginate_description": "Paginação de tópicos e posts ao invés de usar \"scroll infinito\"", + "topics_per_page": "Tópicos por Página", + "posts_per_page": "Posts por Página" } \ No newline at end of file diff --git a/public/language/ru/category.json b/public/language/ru/category.json index 875db86e42..f29163f180 100644 --- a/public/language/ru/category.json +++ b/public/language/ru/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Создать тему", "no_topics": "В этой категории еще нет тем.
Почему бы вам не создать первую?", - "sidebar.recent_replies": "Последние сообщения", - "sidebar.active_participants": "Активные участники", - "sidebar.moderators": "Модераторы", "posts": "сообщений", "views": "просмотров", "posted": "написано", diff --git a/public/language/ru/global.json b/public/language/ru/global.json index 518d4ba74b..a87efeb669 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -10,6 +10,8 @@ "500.message": "Упс! Похоже, что-то пошло не так!", "register": "Зарегистрироваться", "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": "Выйти", @@ -47,6 +49,7 @@ "posted": "создан", "in": "в", "recentposts": "Свежие записи", + "recentips": "Recently Logged In IPs", "online": "В сети", "away": "Отсутствует", "dnd": "Не беспокоить", diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json index 0d5f5b9ca9..48a0755e63 100644 --- a/public/language/ru/pages.json +++ b/public/language/ru/pages.json @@ -8,6 +8,7 @@ "user.edit": "Редактирование \"%1\"", "user.following": "%1 читает", "user.followers": "Читают %1", + "user.posts": "Posts made by %1", "user.favourites": "Избранные сообщения %1", "user.settings": "Настройки" } \ No newline at end of file diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json index 2ab3aadc57..210319b57b 100644 --- a/public/language/ru/topic.json +++ b/public/language/ru/topic.json @@ -11,6 +11,7 @@ "reply": "Ответить", "edit": "Редактировать", "delete": "Удалить", + "restore": "Restore", "move": "Перенести", "fork": "Ответвление", "banned": "заблокировано", @@ -18,8 +19,15 @@ "share": "Поделиться", "tools": "Опции", "flag": "Отметить", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Отметить сообщение для модерирования", "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", "share_this_post": "Share this Post", "thread_tools.title": "Опции Темы", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Enter your topic title here...", "composer.write": "Write", "composer.preview": "Preview", + "composer.help": "Help", "composer.discard": "Discard", "composer.submit": "Submit", "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." } \ No newline at end of file diff --git a/public/language/sk/category.json b/public/language/sk/category.json index d689f1ccf8..134024158d 100644 --- a/public/language/sk/category.json +++ b/public/language/sk/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nová téma", "no_topics": "V tejto kategórií zatiaľ nie sú žiadne príspevky.
Môžeš byť prvý!", - "sidebar.recent_replies": "Posledné príspevky", - "sidebar.active_participants": "Aktívni účastníci", - "sidebar.moderators": "Moderátori", "posts": "príspevkov", "views": "zobrazení", "posted": "odoslané", diff --git a/public/language/sk/global.json b/public/language/sk/global.json index 6fa7361dca..1427672f70 100644 --- a/public/language/sk/global.json +++ b/public/language/sk/global.json @@ -10,6 +10,8 @@ "500.message": "Jejda, vyzerá, že sa niečo pokazilo.", "register": "Registrovať", "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äť", "you_have_successfully_logged_in": "Úspešne si sa prihlásil", "logout": "Odhlásiť sa", @@ -47,6 +49,7 @@ "posted": "príspevok", "in": "v", "recentposts": "Posledné príspevky", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Preč", "dnd": "Nevyrušovať", diff --git a/public/language/sk/pages.json b/public/language/sk/pages.json index d60e0a0a9b..22de254a9c 100644 --- a/public/language/sk/pages.json +++ b/public/language/sk/pages.json @@ -1,13 +1,14 @@ { "home": "Home", "unread": "Unread Topics", - "popular": "Popular Topics", + "popular": "Populárne Témy", "recent": "Recent Topics", "users": "Registered Users", "notifications": "Notifications", "user.edit": "Editing \"%1\"", "user.following": "People %1 Follows", "user.followers": "People who Follow %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's Favourite Posts", "user.settings": "User Settings" } \ No newline at end of file diff --git a/public/language/sk/topic.json b/public/language/sk/topic.json index 4bf7ffe6cd..c1d4b89bf6 100644 --- a/public/language/sk/topic.json +++ b/public/language/sk/topic.json @@ -11,6 +11,7 @@ "reply": "Odpovedať", "edit": "Upraviť", "delete": "Zmazať", + "restore": "Restore", "move": "Presunúť", "fork": "Rozdeliť", "banned": "Zakázaný", @@ -18,8 +19,15 @@ "share": "Zdieľaj", "tools": "Nástroje", "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", "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ť", "share_this_post": "Zdielaj tento príspevok", "thread_tools.title": "Nástroje", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Vlož nadpis témy sem...", "composer.write": "Píš", "composer.preview": "Náhľad", + "composer.help": "Help", "composer.discard": "Zahodiť", "composer.submit": "Poslať", "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." } \ No newline at end of file diff --git a/public/language/sv/category.json b/public/language/sv/category.json index d982039058..629829d720 100644 --- a/public/language/sv/category.json +++ b/public/language/sv/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Nytt ämne", "no_topics": "Det finns inga ämnen i denna kategori.
Varför inte skapa ett?", - "sidebar.recent_replies": "Senaste svaren", - "sidebar.active_participants": "Aktiva deltagare", - "sidebar.moderators": "Moderatorer", "posts": "inlägg", "views": "tittningar", "posted": "skapad", diff --git a/public/language/sv/global.json b/public/language/sv/global.json index 83515c5b57..5896cf7d5c 100644 --- a/public/language/sv/global.json +++ b/public/language/sv/global.json @@ -10,6 +10,8 @@ "500.message": "Hoppsan! Verkar som att något gått snett!", "register": "Registrera", "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 ", "you_have_successfully_logged_in": "You have successfully logged in", "logout": "Logga ut", @@ -47,6 +49,7 @@ "posted": "svarade", "in": "i", "recentposts": "Senaste ämnena", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Borta", "dnd": "Stör ej", diff --git a/public/language/sv/pages.json b/public/language/sv/pages.json index dd938e334f..39899ade4d 100644 --- a/public/language/sv/pages.json +++ b/public/language/sv/pages.json @@ -8,6 +8,7 @@ "user.edit": "Ändrar \"%1\"", "user.following": "Personer %1 Följer", "user.followers": "Personer som följer %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's favorit-inlägg", "user.settings": "Avnändarinställningar" } \ No newline at end of file diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index 771ed23e96..67e81513be 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -11,6 +11,7 @@ "reply": "Svara", "edit": "Ändra", "delete": "Ta bort", + "restore": "Restore", "move": "Flytta", "fork": "Grena", "banned": "bannad", @@ -18,8 +19,15 @@ "share": "Dela", "tools": "Verktyg", "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", "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", "share_this_post": "Share this Post", "thread_tools.title": "Trådverktyg", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Skriv in ämnets titel här...", "composer.write": "Skriv", "composer.preview": "Förhandsgranska", + "composer.help": "Help", "composer.discard": "Avbryt", "composer.submit": "Spara", "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." } \ No newline at end of file diff --git a/public/language/tr/category.json b/public/language/tr/category.json index fd41b09848..5eab2af8a4 100644 --- a/public/language/tr/category.json +++ b/public/language/tr/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "Yeni Başlık", "no_topics": " Bu kategoride hiç konu yok.
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", "views": "görüntülemeler", "posted": "yayımlandı", diff --git a/public/language/tr/global.json b/public/language/tr/global.json index b04553aaa4..492c5f6e89 100644 --- a/public/language/tr/global.json +++ b/public/language/tr/global.json @@ -10,6 +10,8 @@ "500.message": "Ups! Bir şeyler ters gitti sanki!", "register": "Kayıt Ol", "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 ", "you_have_successfully_logged_in": "You have successfully logged in", "logout": "Çıkış", @@ -47,6 +49,7 @@ "posted": "gönderildi", "in": "içinde", "recentposts": "Güncel İletiler", + "recentips": "Recently Logged In IPs", "online": "Çevrimiçi", "away": "Dışarıda", "dnd": "Rahatsız Etmeyin", diff --git a/public/language/tr/pages.json b/public/language/tr/pages.json index 55f625162f..a2b94f72ef 100644 --- a/public/language/tr/pages.json +++ b/public/language/tr/pages.json @@ -8,6 +8,7 @@ "user.edit": "\"% 1\" düzenleniyor", "user.following": "İnsanlar %1 Takip Ediyor", "user.followers": "%1 takip edenler", + "user.posts": "Posts made by %1", "user.favourites": "%1'in Favori İletileri", "user.settings": "Kullanıcı Ayarları" } \ No newline at end of file diff --git a/public/language/tr/topic.json b/public/language/tr/topic.json index b587f45646..23288d91c0 100644 --- a/public/language/tr/topic.json +++ b/public/language/tr/topic.json @@ -11,6 +11,7 @@ "reply": "Cevap", "edit": "Düzenle", "delete": "Sil", + "restore": "Restore", "move": "Taşı", "fork": "Fork", "banned": "yasaklı", @@ -18,8 +19,15 @@ "share": "Paylaş", "tools": "Araçlar", "flag": "Bayrak", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "Bu iletiyi moderatöre haber et", "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", "share_this_post": "Share this Post", "thread_tools.title": "Seçenekler", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Enter your topic title here...", "composer.write": "Write", "composer.preview": "Preview", + "composer.help": "Help", "composer.discard": "Discard", "composer.submit": "Submit", "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." } \ No newline at end of file diff --git a/public/language/zh_CN/category.json b/public/language/zh_CN/category.json index 7cd55cb0c3..570400f15b 100644 --- a/public/language/zh_CN/category.json +++ b/public/language/zh_CN/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "新主题", "no_topics": "这个版面还没有任何内容。
赶紧来发帖吧!", - "sidebar.recent_replies": "最近回复", - "sidebar.active_participants": "活跃用户", - "sidebar.moderators": "版主", "posts": "帖子", "views": "浏览", "posted": "发布", diff --git a/public/language/zh_CN/global.json b/public/language/zh_CN/global.json index 3d930991d7..174386fd13 100644 --- a/public/language/zh_CN/global.json +++ b/public/language/zh_CN/global.json @@ -13,7 +13,7 @@ "please_log_in": "请登录", "posting_restriction_info": "发表目前仅限于注册会员,点击这里登录。", "welcome_back": "欢迎回来", - "you_have_successfully_logged_in": "你已经退出登录", + "you_have_successfully_logged_in": "你已成功登录!", "logout": "退出", "logout.title": "你已经退出。", "logout.message": "你已经成功退出登录。", @@ -49,6 +49,7 @@ "posted": "发布", "in": "在", "recentposts": "最新发表", + "recentips": "Recently Logged In IPs", "online": " 在线", "away": "离开", "dnd": "不打扰", diff --git a/public/language/zh_CN/pages.json b/public/language/zh_CN/pages.json index d4218f3f08..712bf602f1 100644 --- a/public/language/zh_CN/pages.json +++ b/public/language/zh_CN/pages.json @@ -8,6 +8,7 @@ "user.edit": "编辑 \"%1\"", "user.following": "%1的人关注", "user.followers": "%1关注的人", + "user.posts": "Posts made by %1", "user.favourites": "%1 喜爱的帖子", "user.settings": "用户设置" } \ No newline at end of file diff --git a/public/language/zh_CN/topic.json b/public/language/zh_CN/topic.json index 381c310b52..4992fa4719 100644 --- a/public/language/zh_CN/topic.json +++ b/public/language/zh_CN/topic.json @@ -11,6 +11,7 @@ "reply": "回复", "edit": "编辑", "delete": "删除", + "restore": "Restore", "move": "移动", "fork": "作为主题", "banned": "禁止", @@ -18,13 +19,15 @@ "share": "分享", "tools": "工具", "flag": "标志", + "bookmark_instructions": "Click here to return to your last position or close to discard.", "flag_title": "标志受限的帖子", "deleted_message": "这个帖子已经删除,只有帖子的拥有者才有权限去查看。", "following_topic.title": "关注该主题", "following_topic.message": "当有回复提交的时候你将会收到通知。", "not_following_topic.title": "非关注主题", "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": "查看", "share_this_post": "分享帖子", "thread_tools.title": "管理工具", @@ -63,11 +66,17 @@ "composer.title_placeholder": "在这里输入你的主题标题...", "composer.write": "书写", "composer.preview": "预览", + "composer.help": "Help", "composer.discard": "丢弃", "composer.submit": "提交", "composer.replying_to": "回复", "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.content_is_parsed_with": "内容已经被解析", "composer.upload_instructions": "拖拽图片以上传" } \ No newline at end of file diff --git a/public/language/zh_TW/category.json b/public/language/zh_TW/category.json index 3d9745daac..dc50d92e39 100644 --- a/public/language/zh_TW/category.json +++ b/public/language/zh_TW/category.json @@ -1,9 +1,6 @@ { "new_topic_button": "新主題", "no_topics": "這個版面還沒有任何內容。
趕緊來發帖吧!", - "sidebar.recent_replies": "最近回復", - "sidebar.active_participants": "活躍用戶", - "sidebar.moderators": "版主", "posts": "帖子", "views": "瀏覽", "posted": "發布", diff --git a/public/language/zh_TW/global.json b/public/language/zh_TW/global.json index d00e8f8baf..149dda2fb1 100644 --- a/public/language/zh_TW/global.json +++ b/public/language/zh_TW/global.json @@ -10,6 +10,8 @@ "500.message": "不好!看來是哪裡出錯了!", "register": "注冊", "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": "退出", @@ -47,6 +49,7 @@ "posted": "posted", "in": "in", "recentposts": "Recent Posts", + "recentips": "Recently Logged In IPs", "online": "Online", "away": "Away", "dnd": "Do not Disturb", diff --git a/public/language/zh_TW/pages.json b/public/language/zh_TW/pages.json index d60e0a0a9b..6b41654688 100644 --- a/public/language/zh_TW/pages.json +++ b/public/language/zh_TW/pages.json @@ -8,6 +8,7 @@ "user.edit": "Editing \"%1\"", "user.following": "People %1 Follows", "user.followers": "People who Follow %1", + "user.posts": "Posts made by %1", "user.favourites": "%1's Favourite Posts", "user.settings": "User Settings" } \ No newline at end of file diff --git a/public/language/zh_TW/topic.json b/public/language/zh_TW/topic.json index e1b54c68e5..6a76485358 100644 --- a/public/language/zh_TW/topic.json +++ b/public/language/zh_TW/topic.json @@ -11,6 +11,7 @@ "reply": "回復", "edit": "編輯", "delete": "刪除", + "restore": "Restore", "move": "移動", "fork": "作為主題", "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 this post for moderation", "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", "share_this_post": "Share this Post", "thread_tools.title": "管理工具", @@ -58,8 +66,17 @@ "composer.title_placeholder": "Enter your topic title here...", "composer.write": "Write", "composer.preview": "Preview", + "composer.help": "Help", "composer.discard": "Discard", "composer.submit": "Submit", "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." } \ No newline at end of file diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index c332722894..8681ceec1b 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -2,16 +2,13 @@ var ajaxify = {}; -(function ($) { +(function () { /*global app, templates, utils*/ var location = document.location || window.location, rootUrl = location.protocol + '//' + (location.hostname || location.host) + (location.port ? ':' + location.port : ''), content = null; - var current_state = null; - var executed = {}; - var events = []; ajaxify.register_events = function (new_page_events) { for (var i = 0, ii = events.length; i < ii; i++) { @@ -114,7 +111,7 @@ var ajaxify = {}; require(['vendor/async'], function(async) { $('#content [widget-area]').each(function() { - widgetLocations.push(this.getAttribute('widget-area')); + widgetLocations.push($(this).attr('widget-area')); }); async.each(widgetLocations, function(location, next) { @@ -127,7 +124,9 @@ var ajaxify = {}; if (!renderedWidgets.length) { $('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; } - if (this.getAttribute('data-ajaxify') === 'false') { + if ($(this).attr('data-ajaxify') === 'false') { return; } @@ -198,4 +197,4 @@ var ajaxify = {}; }); }); -}(jQuery)); +}()); diff --git a/public/src/app.js b/public/src/app.js index 39cfc8e7b3..17415d392d 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -1,10 +1,10 @@ var socket, config, app = { - "username": null, - "uid": null, - "isFocused": true, - "currentRoom": null + 'username': null, + 'uid': null, + 'isFocused': true, + 'currentRoom': null }; (function () { @@ -175,23 +175,27 @@ var socket, var alert = $('#' + alert_id); var title = params.title || ''; - function startTimeout(div, timeout) { + function fadeOut() { + alert.fadeOut(500, function () { + $(this).remove(); + }); + } + + function startTimeout(timeout) { var timeoutId = setTimeout(function () { - $(div).fadeOut(1000, function () { - $(this).remove(); - }); + fadeOut(); }, timeout); - $(div).attr('timeoutId', timeoutId); + alert.attr('timeoutId', timeoutId); } if (alert.length > 0) { alert.find('strong').html(title); 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')); - startTimeout(alert, params.timeout); + startTimeout(params.timeout); alert.children().fadeOut('100'); translator.translate(alert.html(), function(translatedHTML) { @@ -199,42 +203,45 @@ var socket, alert.html(translatedHTML); }); } else { - var div = $('
'), - button = $(''), - strong = $('' + title + ''), - p = $('

' + params.message + '

'); - - div.append(button) - .append(strong) - .append(p); + alert = $('
'); - button.on('click', function () { - div.remove(); - }); + alert.append($('')) + .append($('' + title + '')) + .append($('

' + params.message + '

')); - if (params.location == null) + if (params.location == null) { params.location = 'alert_window'; + } - translator.translate(div.html(), function(translatedHTML) { - div.html(translatedHTML); - $('#' + params.location).prepend(div.fadeIn('100')); + translator.translate(alert.html(), function(translatedHTML) { + alert.html(translatedHTML); + $('#' + params.location).prepend(alert.fadeIn('100')); + + if(typeof params.closefn === 'function') { + alert.find('button').on('click', function () { + params.closefn(); + fadeOut(); + }); + } }); if (params.timeout) { - startTimeout(div, params.timeout); + startTimeout(params.timeout); } - if (params.clickfn) { - div.on('click', function () { + if (typeof params.clickfn === 'function') { + alert.on('click', function () { params.clickfn(); - div.fadeOut(500, function () { - $(this).remove(); - }); + fadeOut(); }); } } }; + app.removeAlert = function(id) { + $('#' + 'alert_button_' + id).remove(); + } + app.alertSuccess = function (message, timeout) { if (!timeout) timeout = 2000; @@ -277,7 +284,7 @@ var socket, app.populateOnlineUsers = function () { var uids = []; - jQuery('.post-row').each(function () { + $('.post-row').each(function () { var uid = $(this).attr('data-uid'); if(uids.indexOf(uid) === -1) { uids.push(uid); @@ -286,8 +293,8 @@ var socket, socket.emit('user.getOnlineUsers', uids, function (err, users) { - jQuery('.username-field').each(function (index, element) { - var el = jQuery(this), + $('.username-field').each(function (index, element) { + var el = $(this), uid = el.parents('li').attr('data-uid'); if (uid && users[uid]) { @@ -307,19 +314,19 @@ var socket, parts = path.split('/'), active = parts[parts.length - 1]; - jQuery('#main-nav li').removeClass('active'); + $('#main-nav li').removeClass('active'); if (active) { - jQuery('#main-nav li a').each(function () { - var href = this.getAttribute('href'); + $('#main-nav li a').each(function () { + var href = $(this).attr('href'); if (active == "sort-posts" || active == "sort-reputation" || active == "search" || active == "latest" || active == "online") active = 'users'; if (href && href.match(active)) { - jQuery(this.parentNode).addClass('active'); + $(this.parentNode).addClass('active'); return false; } }); } - }; + } app.createUserTooltips = function() { $('img[title].teaser-pic,img[title].user-img').each(function() { @@ -335,7 +342,7 @@ var socket, selector:'.fa-circle.status', placement: 'top' }); - } + }; app.makeNumbersHumanReadable = function(elements) { elements.each(function() { @@ -452,7 +459,7 @@ var socket, } previousScrollTop = currentScrollTop; }); - } + }; var titleObj = { active: false, @@ -589,7 +596,7 @@ var socket, }); }; - jQuery('document').ready(function () { + $('document').ready(function () { $('#search-form').on('submit', function () { var input = $(this).find('input'); ajaxify.go("search/" + input.val()); diff --git a/public/src/forum/accountheader.js b/public/src/forum/accountheader.js index 15c94f573e..e49c1eddac 100644 --- a/public/src/forum/accountheader.js +++ b/public/src/forum/accountheader.js @@ -9,7 +9,7 @@ define(function() { hideLinks(); selectActivePill(); - } + }; AccountHeader.createMenu = function() { var userslug = $('.account-username-box').attr('data-userslug'); @@ -30,7 +30,7 @@ define(function() { selectActivePill(); hideLinks(); }); - } + }; function hideLinks() { var yourid = templates.get('yourid'), diff --git a/public/src/forum/admin/categories.js b/public/src/forum/admin/categories.js index 8278d7423e..f963c6918d 100644 --- a/public/src/forum/admin/categories.js +++ b/public/src/forum/admin/categories.js @@ -57,7 +57,7 @@ define(['uploader'], function(uploader) { function updateCategoryOrders() { var categories = $('.admin-categories #entry-container').children(); - for(var i=0; i' + - '' + - '' + - '' + - '' + - '' + - ' ' + resultObj.username; - - resultsFrag.appendChild(liEl.cloneNode(true)); + liEl = $('
  • ') + .attr('data-uid', resultObj.uid) + .html('
    ' + + '
    ' + + '' + + '' + + '' + + '
    ' + + '
    ' + + ' ' + resultObj.username); + + resultsEl.append(liEl); } - - resultsEl.html(resultsFrag); }); }, 250); }); @@ -262,7 +263,7 @@ define(['uploader'], function(uploader) { resultsEl.off().on('click', '[data-priv]', function(e) { var btnEl = $(this), uid = btnEl.parents('li[data-uid]').attr('data-uid'), - privilege = this.getAttribute('data-priv'); + privilege = btnEl.attr('data-priv'); e.preventDefault(); socket.emit('admin.categories.setPrivilege', { @@ -278,7 +279,7 @@ define(['uploader'], function(uploader) { }); modal.off().on('click', '.members li > img', function() { - searchEl.val(this.getAttribute('title')); + searchEl.val($(this).attr('title')); searchEl.keyup(); }); @@ -287,33 +288,31 @@ define(['uploader'], function(uploader) { if(err) { return app.alertError(err.message); } - var groupsFrag = document.createDocumentFragment(), - numResults = results.length, - trEl = document.createElement('tr'), + var numResults = results.length, + trEl, resultObj; - for(var x=0;x' + - '' + - '
    ' + - '' + - '' + - '
    ' + - ''; - - groupsFrag.appendChild(trEl.cloneNode(true)); + trEl = $('') + .attr('data-gid', resultObj.gid) + .html('

    ' + resultObj.name + '

    ' + + '' + + '
    ' + + '' + + '' + + '
    ' + + ''); + groupsResultsEl.append(trEl); } - - groupsResultsEl.html(groupsFrag); }); groupsResultsEl.off().on('click', '[data-gpriv]', function(e) { var btnEl = $(this), gid = btnEl.parents('tr[data-gid]').attr('data-gid'), - privilege = this.getAttribute('data-gpriv'); + privilege = btnEl.attr('data-gpriv'); e.preventDefault(); + socket.emit('admin.categories.setGroupPrivilege', { cid: cid, gid: gid, @@ -324,7 +323,7 @@ define(['uploader'], function(uploader) { btnEl.toggleClass('active'); } }); - }) + }); modal.modal(); }; @@ -338,57 +337,40 @@ define(['uploader'], function(uploader) { var readLength = privilegeList['+r'].length, writeLength = privilegeList['+w'].length, modLength = privilegeList['mods'].length, - readFrag = document.createDocumentFragment(), - writeFrag = document.createDocumentFragment(), - modFrag = document.createDocumentFragment(), - liEl = document.createElement('li'), - x, userObj; + liEl, x, userObj; if (readLength > 0) { - for(x=0;x'; - readFrag.appendChild(liEl.cloneNode(true)); + liEl = $('
  • ').attr('data-uid', userObj.uid).html(''); + readMembers.append(liEl); } } else { - liEl.className = 'empty'; - liEl.innerHTML = 'All users can read and see this category'; - readFrag.appendChild(liEl.cloneNode(true)); + liEl = $('
  • ').addClass('empty').html('All users can read and see this category'); + readMembers.append(liEl); } if (writeLength > 0) { for(x=0;x'; - writeFrag.appendChild(liEl.cloneNode(true)); + $('
  • ').attr('data-uid', userObj.uid).html(''); + writeMembers.append(liEl); } } else { - liEl.className = 'empty'; - liEl.innerHTML = 'All users can write to this category'; - writeFrag.appendChild(liEl.cloneNode(true)); + liEl = $('
  • ').addClass('empty').html('All users can write to this category'); + writeMembers.append(liEl); } if (modLength > 0) { - for(x=0;x'; - modFrag.appendChild(liEl.cloneNode(true)); + liEl = $('
  • ').attr('data-uid', userObj.uid).html(''); + moderatorsEl.append(liEl); } } else { - liEl.className = 'empty'; - liEl.innerHTML = 'No moderators'; - modFrag.appendChild(liEl.cloneNode(true)); + liEl = $('
  • ').addClass('empty').html('No moderators'); + moderatorsEl.appendChild(liEl); } - - readMembers.html(readFrag); - writeMembers.html(writeFrag); - moderatorsEl.html(modFrag); }); }; diff --git a/public/src/forum/admin/footer.js b/public/src/forum/admin/footer.js index f81e23d110..cff9f24f90 100644 --- a/public/src/forum/admin/footer.js +++ b/public/src/forum/admin/footer.js @@ -1,18 +1,28 @@ -jQuery('document').ready(function() { - // On menu click, change "active" state - var menuEl = document.querySelector('.sidebar-nav'), - liEls = menuEl.querySelectorAll('li') - parentEl = null; +$(function() { + + var menuEl = $('.sidebar-nav'), + liEls = menuEl.find('li'), + parentEl, + activate = function(li) { + liEls.removeClass('active'); + li.addClass('active'); + }; - menuEl.addEventListener('click', function(e) { - parentEl = e.target.parentNode; - if (parentEl.nodeName === 'LI') { - for (var x = 0, numLis = liEls.length; x < numLis; x++) { - if (liEls[x] !== parentEl) jQuery(liEls[x]).removeClass('active'); - else jQuery(parentEl).addClass('active'); - } + // also on ready, check the pathname, maybe it was a page refresh and no item was clicked + liEls.each(function(i, li){ + li = $(li); + if ((li.find('a').attr('href') || '').indexOf(location.pathname) >= 0) { + activate(li); + } + }); + + // 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) { diff --git a/public/src/forum/admin/groups.js b/public/src/forum/admin/groups.js index ad530c12a9..c5b69e8743 100644 --- a/public/src/forum/admin/groups.js +++ b/public/src/forum/admin/groups.js @@ -3,9 +3,9 @@ define(function() { Groups.init = function() { var yourid = templates.get('yourid'), - createEl = document.getElementById('create'), + createEl = $('#create'), createModal = $('#create-modal'), - createSubmitBtn = document.getElementById('create-modal-go'), + createSubmitBtn = $('#create-modal-go'), createNameEl = $('#create-group-name'), detailsModal = $('#group-details-modal'), detailsSearch = detailsModal.find('#group-details-search'), @@ -15,14 +15,14 @@ define(function() { searchDelay = undefined, listEl = $('#groups-list'); - createEl.addEventListener('click', function() { + createEl.on('click', function() { createModal.modal('show'); setTimeout(function() { createNameEl.focus(); }, 250); - }, false); + }); - createSubmitBtn.addEventListener('click', function() { + createSubmitBtn.on('click', function() { var submitObj = { name: createNameEl.val(), description: $('#create-group-desc').val() @@ -37,7 +37,7 @@ define(function() { errorText = 'Please choose another name

    There seems to be a group with this name already.

    '; break; case 'name-too-short': - errorText = 'Please specify a grou name

    A group name is required for administrative purposes.

    '; + errorText = 'Please specify a group name

    A group name is required for administrative purposes.

    '; break; default: errorText = 'Uh-Oh

    There was a problem creating your group. Please try again later!

    '; @@ -57,8 +57,9 @@ define(function() { }); listEl.on('click', 'button[data-action]', function() { - var action = this.getAttribute('data-action'), - gid = $(this).parents('li[data-gid]').attr('data-gid'); + var el = $(this), + action = el.attr('data-action'), + gid = el.parents('li[data-gid]').attr('data-gid'); switch (action) { case 'delete': @@ -80,28 +81,20 @@ define(function() { var formEl = detailsModal.find('form'), nameEl = formEl.find('#change-group-name'), descEl = formEl.find('#change-group-desc'), - memberIcon = document.createElement('li'), numMembers = groupObj.members.length, - membersFrag = document.createDocumentFragment(), - memberIconImg, x; - + x; nameEl.val(groupObj.name); descEl.val(groupObj.description); - // Member list - memberIcon.innerHTML = ''; - memberIconImg = memberIcon.querySelector('img'); - memberIconLabel = memberIcon.querySelector('span'); if (numMembers > 0) { + groupMembersEl.empty(); for (x = 0; x < numMembers; x++) { - memberIconImg.src = groupObj.members[x].picture; - memberIconLabel.innerHTML = groupObj.members[x].username; - memberIcon.setAttribute('data-uid', groupObj.members[x].uid); - membersFrag.appendChild(memberIcon.cloneNode(true)); + var memberIcon = $('
  • ') + .append($('').attr('src', groupObj.members[x].picture)) + .append($('').attr('data-uid', groupObj.members[x].uid).html(groupObj.members[x].username)); + groupMembersEl.append(memberIcon); } - groupMembersEl.html(''); - groupMembersEl[0].appendChild(membersFrag); } detailsModal.attr('data-gid', groupObj.gid); @@ -118,43 +111,39 @@ define(function() { searchDelay = setTimeout(function() { var searchText = searchEl.value, - resultsEl = document.getElementById('group-details-search-results'), - foundUser = document.createElement('li'), - foundUserImg, foundUserLabel; - - foundUser.innerHTML = ''; - foundUserImg = foundUser.getElementsByTagName('img')[0]; - foundUserLabel = foundUser.getElementsByTagName('span')[0]; + resultsEl = $('#group-details-search-results'), + foundUser; socket.emit('admin.user.search', searchText, function(err, results) { if (!err && results && results.users.length > 0) { - var numResults = results.users.length, - resultsSlug = document.createDocumentFragment(), - x; + var numResults = results.users.length, x; if (numResults > 4) numResults = 4; + + resultsEl.empty(); for (x = 0; x < numResults; x++) { - foundUserImg.src = results.users[x].picture; - foundUserLabel.innerHTML = results.users[x].username; - foundUser.setAttribute('title', results.users[x].username); - foundUser.setAttribute('data-uid', results.users[x].uid); - resultsSlug.appendChild(foundUser.cloneNode(true)); - } + foundUser = $('
  • '); + foundUser + .attr({title: results.users[x].username, 'data-uid': results.users[x].uid}) + .append($('').attr('src', results.users[x].picture)) + .append($('').html(results.users[x].username)); - resultsEl.innerHTML = ''; - resultsEl.appendChild(resultsSlug); - } else resultsEl.innerHTML = '
  • No Users Found
  • '; + resultsEl.appendChild(foundUser); + } + } else { + resultsEl.html('
  • No Users Found
  • '); + } }); }, 200); }); searchResults.on('click', 'li[data-uid]', function() { - var userLabel = this, - uid = parseInt(this.getAttribute('data-uid')), + var userLabel = $(this), + uid = parseInt(userLabel.attr('data-uid')), gid = detailsModal.attr('data-gid'), members = []; 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) { @@ -170,7 +159,7 @@ define(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'); socket.emit('admin.groups.get', gid, function(err, groupObj){ diff --git a/public/src/forum/admin/languages.js b/public/src/forum/admin/languages.js index 44182e3a13..207a75fedb 100644 --- a/public/src/forum/admin/languages.js +++ b/public/src/forum/admin/languages.js @@ -1,5 +1,5 @@ define(['forum/admin/settings'], function(Settings) { - jQuery('document').ready(function() { + $(function() { Settings.prepare(); }); }); \ No newline at end of file diff --git a/public/src/forum/admin/settings.js b/public/src/forum/admin/settings.js index 44f0e22cc2..6f164115f4 100644 --- a/public/src/forum/admin/settings.js +++ b/public/src/forum/admin/settings.js @@ -15,38 +15,38 @@ define(['uploader'], function(uploader) { } // Populate the fields on the page from the config - var fields = document.querySelectorAll('#content [data-field]'), + var fields = $('#content [data-field]'), numFields = fields.length, - saveBtn = document.getElementById('save'), - x, key, inputType; + saveBtn = $('#save'), + x, key, inputType, field; for (x = 0; x < numFields; x++) { - key = fields[x].getAttribute('data-field'); - inputType = fields[x].getAttribute('type'); - if (fields[x].nodeName === 'INPUT') { + field = fields.eq(x); + key = field.attr('data-field'); + inputType = field.attr('type'); + if (field.is('input')) { if (app.config[key]) { switch (inputType) { case 'text': case 'password': case 'textarea': case 'number': - fields[x].value = app.config[key]; + field.val(app.config[key]); break; case 'checkbox': - fields[x].checked = parseInt(app.config[key], 10) === 1; + field.prop('checked', parseInt(app.config[key], 10) === 1); break; } } - } else if (fields[x].nodeName === 'TEXTAREA') { - if (app.config[key]) fields[x].value = app.config[key]; - } else if (fields[x].nodeName === 'SELECT') { - if (app.config[key]) fields[x].value = app.config[key]; + } else if (field.is('textarea')) { + if (app.config[key]) field.val(app.config[key]); + } else if (field.is('select')) { + if (app.config[key]) field.val(app.config[key]); } } - saveBtn.addEventListener('click', function(e) { - + saveBtn.on('click', function(e) { e.preventDefault(); for (x = 0; x < numFields; x++) { @@ -55,27 +55,28 @@ define(['uploader'], function(uploader) { }); function saveField(field) { - var key = field.getAttribute('data-field'), + field = $(field); + var key = field.attr('data-field'), value; - if (field.nodeName === 'INPUT') { - inputType = field.getAttribute('type'); + if (field.is('input')) { + inputType = field.attr('type'); switch (inputType) { case 'text': case 'password': case 'textarea': case 'number': - value = field.value; + value = field.val(); break; case 'checkbox': - value = field.checked ? '1' : '0'; + value = field.prop('checked') ? '1' : '0'; break; } - } else if (field.nodeName === 'TEXTAREA') { - value = field.value; - } else if (field.nodeName === 'SELECT') { - value = field.value; + } else if (field.is('textarea')) { + value = field.val(); + } else if (field.is('select')) { + value = field.val(); } socket.emit('admin.config.set', { diff --git a/public/src/forum/admin/themes.js b/public/src/forum/admin/themes.js index e448fb072c..d5873a7164 100644 --- a/public/src/forum/admin/themes.js +++ b/public/src/forum/admin/themes.js @@ -2,17 +2,21 @@ define(['forum/admin/settings'], function(Settings) { var Themes = {}; Themes.init = function() { - var scriptEl = document.createElement('script'); - scriptEl.src = 'http://api.bootswatch.com/3/?callback=bootswatchListener'; - document.body.appendChild(scriptEl); + var scriptEl = $(' - + + + + - @@ -34,10 +46,10 @@ } }); - + + - diff --git a/public/templates/category.tpl b/public/templates/category.tpl index d536a201cb..25bc8c0a31 100644 --- a/public/templates/category.tpl +++ b/public/templates/category.tpl @@ -17,13 +17,13 @@ - +
         
    - +
    diff --git a/public/templates/composer.tpl b/public/templates/composer.tpl index 584ba48153..def59c02b1 100644 --- a/public/templates/composer.tpl +++ b/public/templates/composer.tpl @@ -1,14 +1,5 @@
    - -
    @@ -22,7 +13,6 @@
    -
    @@ -41,16 +31,26 @@ - - - - - - + + + + + + + + +
    - + + + + + +
    @@ -58,6 +58,7 @@