diff --git a/nodebb b/nodebb index 1b43292926..ded766b51e 100755 --- a/nodebb +++ b/nodebb @@ -1,6 +1,54 @@ -#!/bin/sh -clear -echo "Launching NodeBB in \"development\" mode." -echo "To run the production build of NodeBB, please use \"forever\"." -echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB" -NODE_ENV=development supervisor --extensions 'node|js|tpl' -- app $1 +#!/bin/bash + +# $0 script path +# $1 action +# $2 subaction + +case "$1" in + start) + node app + ;; + + dev) + echo "Launching NodeBB in \"development\" mode." + echo "To run the production build of NodeBB, please use \"forever\"." + echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB" + NODE_ENV=development node app + ;; + + watch) + echo "Launching NodeBB in \"development\" mode." + echo "To run the production build of NodeBB, please use \"forever\"." + echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB" + NODE_ENV=development supervisor --extensions 'node|js|tpl' -- app $1 + ;; + + language) + case "$2" in + check) + node app --language="check" + ;; + + *) + echo "Language Settings" + echo $"Usage: $0 language {check}" + echo '' + column -s ' ' -t <<< ' + check Compare language files against the /en directory + ' + ;; + esac + ;; + + *) + echo "Welcome to NodeBB" + echo $"Usage: $0 {start|dev|watch|language}" + 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 + language Language settings + ' + exit 1 +esac diff --git a/public/language/de/category.json b/public/language/de/category.json new file mode 100644 index 0000000000..87002879fa --- /dev/null +++ b/public/language/de/category.json @@ -0,0 +1,14 @@ +{ + "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", + "browsing": "Sieht zu", + "no_replies": "Niemand hat geantwortet", + "replied": "geantwortet", + "last_edited_by": "zuletzt editiert durch" +} diff --git a/public/language/de/footer.json b/public/language/de/footer.json new file mode 100644 index 0000000000..adf674ca29 --- /dev/null +++ b/public/language/de/footer.json @@ -0,0 +1,10 @@ +{ + "chat.chatting_with": "Chatten mit ", + "chat.placeholder": "schreibe hier etwas, und drücke Enter zum absenden", + "chat.send": "Senden", + "stats.online": "Online", + "stats.users": "Benutzer", + "stats.topics": "Themen", + "stats.posts": "Beiträge", + "success": "erfolg" +} diff --git a/public/language/de/global.json b/public/language/de/global.json new file mode 100644 index 0000000000..51dd759117 --- /dev/null +++ b/public/language/de/global.json @@ -0,0 +1,31 @@ +{ + "home": "Übersicht", + "search": "Suche", + "buttons.close": "Schließen", + "403.title": "Zugriff Verweigert", + "403.message": "Du bist nicht dazu berechtigt, diese Seite aufzurufen. Logge dich ein und versuche es erneut.", + "404.title": " Nicht Gefunden", + "404.message": "Die abgefragte Seite wurde nicht gefunden. Zurück zur Übersicht.", + "500.title": "Internal error.", + "500.message": "Ooops! Looks like something went wrong!", + + "register": "Registrierung", + "login": "Login", + + "logout": "Logout", + "logout.title": "Du bist ausgeloggt.", + "logout.message": "Du hast dich soeben erfolgreich aus dem Forum ausgeloggt.", + + "save_changes": "Speichere Änderungen", + "close": "Schließen", + + "header.admin": "Admin", + "header.recent": "Aktuell", + "header.unread": "Ungelesen", + "header.users": "Benutzer", + "header.search": "Suche", + "header.profile": "Profil", + + "notifications.loading": "Benachrichtigungen laden", + "chats.loading": "Nachrichten werden geladen" +} diff --git a/public/language/de/login.json b/public/language/de/login.json new file mode 100644 index 0000000000..eb7f071969 --- /dev/null +++ b/public/language/de/login.json @@ -0,0 +1,10 @@ +{ + "login": "Einloggen", + "username": "Benutzername", + "password": "Passwort", + "remember_me": "Eingeloggt bleiben?", + "forgot_password": "Passwort vergessen?", + "alternative_logins": "Login Alternativen", + "failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.", + "login_successful": "Du hast dich erfolgreich eingeloggt!" +} diff --git a/public/language/de/notifications.json b/public/language/de/notifications.json new file mode 100644 index 0000000000..7e5ac112e9 --- /dev/null +++ b/public/language/de/notifications.json @@ -0,0 +1,9 @@ +{ + "title": "Benachrichtigungen", + "back_to_home": "Zurück zur Startseite", + "mark_all_as_read": "Alles als gelesen markieren", + "outgoing_link": "Externer Link", + "outgoing_link_message": "Du verlässt nun", + "continue_to": "Gehe weiter zu", + "return_to": "Kehre zurück zu" +} diff --git a/public/language/de/recent.json b/public/language/de/recent.json new file mode 100644 index 0000000000..c6d5301470 --- /dev/null +++ b/public/language/de/recent.json @@ -0,0 +1,5 @@ +{ + "day": "Tag", + "week": "Woche", + "month": "Monat" +} diff --git a/public/language/de/register.json b/public/language/de/register.json new file mode 100644 index 0000000000..2c1469ed7a --- /dev/null +++ b/public/language/de/register.json @@ -0,0 +1,16 @@ +{ + "register": "Registrieren", + "help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.", + "help.username_restrictions": "Einen einmaligen Benutzernamen. 3-16 Zeichen. Andere Benutzer können dich mit @Benutzername anschreiben.", + "help.minimum_password_length": "Dein Passwort muss mindestens sechs Zeichen lang sein.", + "email_address": "E-Mail", + "email_address_placeholder": "E-Mail Adresse hier eingeben", + "username": "Benutzername", + "username_placeholder": "Benutzernamen eingeben", + "password": "Passwort", + "password_placeholder": "Passwort eingeben", + "confirm_password": "Passwort bestätigen", + "confirm_password_placeholder": "Passwort zur Bestätigung erneut eingeben", + "register_now_button": "Jetzt registrieren", + "alternative_registration": "Alternative Registrierung" +} diff --git a/public/language/de/reset_password.json b/public/language/de/reset_password.json new file mode 100644 index 0000000000..65eaca9028 --- /dev/null +++ b/public/language/de/reset_password.json @@ -0,0 +1,13 @@ +{ + "reset_password": "Passwort zurücksetzen", + "update_password": "Ändere Passwort", + "password_change": "Passwort wurde geändert", + "password_reset_successful": "

Das Passwort wurde erfolgreich zurückgesetzt. Log dich neu ein.", + "wrong_reset_code.title": "Der Reset-Code ist falsch.", + "wrong_reset_code.message": "Der empfangene Reset-Code war falsch. Bitte versuche es erneut oder fordere einen neuen Code an.", + "new_password": "Neues Passwort", + "repeat_password": "Wiederhole das Passwort", + "enter_email": "Bitte gib Deine E-Mail Adresse ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.", + "password_reset_sent": "Passwortzrücksetzung beantragt.", + "invalid_email": "Ungültige E-Mail / Adresse existiert nicht!" +} diff --git a/public/language/de/topic.json b/public/language/de/topic.json new file mode 100644 index 0000000000..e882660101 --- /dev/null +++ b/public/language/de/topic.json @@ -0,0 +1,40 @@ +{ + "topic": "Thema", + "topics": "Themen", + + "no_topics_found": "Keine passende Themen gefunden.", + + "profile": "Profil", + "posted_by": "geschrieben von", + "chat": "Chat", + "notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.", + "quote": "zitieren", + "reply": "antworten", + "edit": "bearbeiten", + "delete": "löschen", + "banned": "gesperrt", + "link": "Link", + + "thread_tools.title": "Thread Tools", + "thread_tools.pin": "Thread pinnen", + "thread_tools.unpin": "Thread nicht mehr pinnen", + "thread_tools.lock": "Thread sperren", + "thread_tools.move": "Thread verschieben", + "thread_tools.delete": "Thread löschen", + + "load_categories": "Kategorien laden", + "disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.", + "confirm_move": "verschieben", + + "favourite": "Favorit", + "favourites": "Favoriten", + "favourites.not_logged_in.title": "Nicht eingeloggt!", + "favourites.not_logged_in.message": "Bitte logge dich ein, um diesen Beitrag favorisieren zu können.", + "favourites.has_no_favourites":"Du hast noch keine Favoriten.", + + "posted_by": "Geposted von", + "loading": "Lade", + "more_posts": "Mehr Posts", + "move_topic": "Thema verschieben", + "topic_will_be_moved_to": "Dieses Thema wird verschoben nach" +} diff --git a/public/language/de/unread.json b/public/language/de/unread.json new file mode 100644 index 0000000000..28585b0aa0 --- /dev/null +++ b/public/language/de/unread.json @@ -0,0 +1,5 @@ +{ + "no_unread_topics": "Es gibt keine ungelesenen Themen.", + "mark_all_read": "alle als gelesen markieren", + "load_more": "mehr laden" +} \ No newline at end of file diff --git a/public/language/de/user.json b/public/language/de/user.json new file mode 100644 index 0000000000..492307f50d --- /dev/null +++ b/public/language/de/user.json @@ -0,0 +1,38 @@ +{ + "banned": "Gebannt", + "offline": "offline", + "email": "E-Mail", + "fullname": "Kompletter Name", + "website": "Homepage", + "location": "Wohnort", + "age": "Alter", + "joined": "Beigetreten", + "profil_views": "Profilaufrufe", + "reputation": "Reputation", + "posts": "Posts", + "followers": "Follower", + "following": "Folgt", + "signature": "Signatur", + "gravatar": "Gravatar", + "birthday": "Geburtstag", + + "change_picture": "Ändere Profilbild", + "edit": "Ändern", + "uploaded_pictures": "Hochgeladene Bilder", + "upload_new_picture": "Neues Bild hochladen", + "change_password": "Ändere Passwort", + "confirm_password": "Passwort wiederholen", + "password": "Passwort", + + "upload_picture": "Bild hochladen", + "upload_a_picture": "Ein Bild hochladen", + "image_spec": "Du solltest nur Dateien die PNG, JPG, oder GIF kleiner als 256kb hochladen.", + + "settings": "Einstellungen", + "show_my_email": "Zeige meine E-Mail Adresse an.", + + "has_no_follower": "Dieser User hat noch keine Follower.", + "follows_no_one": "Dieser User folgt noch niemanden." + + +} diff --git a/public/language/de/users.json b/public/language/de/users.json new file mode 100644 index 0000000000..32ca305187 --- /dev/null +++ b/public/language/de/users.json @@ -0,0 +1,9 @@ +{ + "latest_users": "neuste Benutzer", + "top_posters": "meiste Beiträge", + "most_reputation": "höhstes Ansehen", + "online": "Online", + "search": "Suchen", + "enter_username": "Benutzer durchsuchen", + "load_more": "mehr laden" +} diff --git a/public/language/en/category.json b/public/language/en/category.json index 73d3bef853..d29e23eb95 100644 --- a/public/language/en/category.json +++ b/public/language/en/category.json @@ -3,5 +3,12 @@ "no_topics": "There are no topics in this category.
Why don't you try posting one?", "sidebar.recent_replies": "Recent Replies", "sidebar.active_participants": "Active Participants", - "sidebar.moderators": "Moderators" -} \ No newline at end of file + "sidebar.moderators": "Moderators", + "posts": "posts", + "views": "views", + "posted": "posted", + "browsing": "browsing", + "no_replies": "No one has replied", + "replied": "replied", + "last_edited_by": "last edited by" +} diff --git a/public/language/en/footer.json b/public/language/en/footer.json index 32d2e92bbe..a1270d4ea4 100644 --- a/public/language/en/footer.json +++ b/public/language/en/footer.json @@ -1,9 +1,10 @@ { - "chat.chatting_with": "Chat with ", + "chat.chatting_with": "Chat with ", "chat.placeholder": "type chat message here, press enter to send", "chat.send": "Send", "stats.online": "Online", "stats.users": "Users", "stats.topics": "Topics", - "stats.posts": "Posts" -} \ No newline at end of file + "stats.posts": "Posts", + "success": "success" +} diff --git a/public/language/en/global.json b/public/language/en/global.json index 32ea294957..7fb54239af 100644 --- a/public/language/en/global.json +++ b/public/language/en/global.json @@ -7,15 +7,25 @@ "404.title": "Not Found", "404.message": "You seem to have stumbled upon a page that does not exist. Return to the home page.", "500.title": "Internal error.", - "500.message": "Ooops! Looks like something went wrong!", + "500.message": "Oops! Looks like something went wrong!", + + "register": "Register", + "login": "Login", + "logout": "Logout", "logout.title": "You are now logged out.", "logout.message": "You have successfully logged out of NodeBB", + + "save_changes": "Save Changes", + "close": "Close", + "header.admin": "Admin", "header.recent": "Recent", "header.unread": "Unread", "header.users": "Users", "header.search": "Search", + "header.profile": "Profile", + "notifications.loading": "Loading Notifications", "chats.loading": "Loading Chats" -} \ No newline at end of file +} diff --git a/public/language/en/login.json b/public/language/en/login.json index 947395a46d..f2090276a1 100644 --- a/public/language/en/login.json +++ b/public/language/en/login.json @@ -7,4 +7,4 @@ "alternative_logins": "Alternative Logins", "failed_login_attempt": "Failed login attempt, please try again.", "login_successful": "You have successfully logged in!" -} \ No newline at end of file +} diff --git a/public/language/en/notifications.json b/public/language/en/notifications.json index 212cf3fa4f..bfe2a48ab8 100644 --- a/public/language/en/notifications.json +++ b/public/language/en/notifications.json @@ -1,3 +1,9 @@ { - "title": "Notifications" -} \ No newline at end of file + "title": "Notifications", + "back_to_home": "back to NodeBB", + "mark_all_as_read": "Mark All as Read", + "outgoing_link": "Outgoing Link", + "outgoing_link_message": "You are now leaving", + "continue_to": "Continue to", + "return_to": "Return to " +} diff --git a/public/language/en/reset_password.json b/public/language/en/reset_password.json new file mode 100644 index 0000000000..468bfb0254 --- /dev/null +++ b/public/language/en/reset_password.json @@ -0,0 +1,13 @@ +{ + "reset_password": "Reset Password", + "update_password": "Update Password", + "password_changed.title": "Password Changed", + "password_changed.message": "

Password successfully reset, please log in again.", + "wrong_reset_code.title": "Incorrect Reset Code", + "wrong_reset_code.message": "The reset code received was incorrect. Please try again, or request a new reset code.", + "new_password": "New Password", + "repeat_password": "Confirm Password", + "enter_email": "Please enter your email address and we will send you an email with instructions on how to reset your account.", + "password_reset_sent": "Password Reset Sent", + "invalid_email": "Invalid Email / Email does not exist!" +} diff --git a/public/language/en/topic.json b/public/language/en/topic.json index 278ceea37a..2584436a22 100644 --- a/public/language/en/topic.json +++ b/public/language/en/topic.json @@ -1,23 +1,39 @@ { + "topic": "Topic", + "topics": "Topics", + + "no_topics_found": "No topics found!", + "profile": "Profile", "posted_by": "Posted by", "chat": "Chat", "notify_me": "Be notified of new replies in this topic", - "favourite": "Favourite", "quote": "Quote", "reply": "Reply", "edit": "Edit", "delete": "Delete", "banned": "banned", "link": "Link", + "thread_tools.title": "Thread Tools", "thread_tools.pin": "Pin Thread", "thread_tools.lock": "Lock Thread", "thread_tools.move": "Move Thread", "thread_tools.delete": "Delete Thread", + "load_categories": "Loading Categories", "disabled_categories_note": "Disabled Categories are greyed out", "confirm_move": "Move", + + "favourite": "Favourite", + "favourites": "Favorites", "favourites.not_logged_in.title": "Not Logged In", - "favourites.not_logged_in.message": "Please log in in order to favourite this post" -} \ No newline at end of file + "favourites.not_logged_in.message": "Please log in in order to favourite this post", + "favourites.has_no_favourites": "You don't have any favourites, favourite some posts to see them here!", + + "posted_by": "posted by", + "loading": "Lade", + "more_posts": "More Posts", + "move_topic": "Move Topic", + "topic_will_be_moved_to": "This topic will be moved to the category" +} diff --git a/public/language/en/user.json b/public/language/en/user.json new file mode 100644 index 0000000000..512fad96c3 --- /dev/null +++ b/public/language/en/user.json @@ -0,0 +1,36 @@ +{ + "banned": "Banned", + "offline": "offline", + "email": "email", + "fullname": "full name", + "website": "website", + "location": "location", + "age": "age", + "joined": "joined", + "profil_views": "profil views", + "reputation": "reputation", + "posts": "posts", + "followers": "followers", + "following": "following", + "signature": "signature", + "gravatar": "gravatar", + "birthday": "birthday", + + "change_picture": "change picture", + "edit": "edit", + "uploaded_pictures": "uploaded pictures", + "upload_new_picture": "upload new picture", + "change_password": "change password", + "confirm_password": "confirm password", + "password": "password", + + "upload_picture": "Upload picture", + "upload_a_picture": "Upload a picture", + "image_spec": "You may only upload PNG, JPG, or GIF files under 256kb.", + + "settings": "settings", + "show_my_email": "show my email", + + "has_no_follower": "This user doesn't have any followers :(", + "follows_no_one": "This user isn't following anyone :(" +} diff --git a/public/language/es/category.json b/public/language/es/category.json new file mode 100644 index 0000000000..5d24993edf --- /dev/null +++ b/public/language/es/category.json @@ -0,0 +1,14 @@ +{ + "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", + "browsing": "viendo ahora", + "no_replies": "Nadie ha respondido aún", + "replied": "respondio", + "last_edited_by": "ultima edición por" +} \ No newline at end of file diff --git a/public/language/es/footer.json b/public/language/es/footer.json new file mode 100644 index 0000000000..eeb962b234 --- /dev/null +++ b/public/language/es/footer.json @@ -0,0 +1,10 @@ +{ + "chat.chatting_with": "Chatear con ", + "chat.placeholder": "ingresa tu mensaje aqui, y presiona enter para enviar", + "chat.send": "Enviar", + "stats.online": "Online", + "stats.users": "Usuarios", + "stats.topics": "Temas", + "stats.posts": "Posts", + "success": "exito!" +} \ No newline at end of file diff --git a/public/language/es/global.json b/public/language/es/global.json new file mode 100644 index 0000000000..ab14fef5fd --- /dev/null +++ b/public/language/es/global.json @@ -0,0 +1,31 @@ +{ + "home": "Inicio", + "search": "Buscar", + "buttons.close": "Cerrar", + "403.title": "Acceso denegado", + "403.message": "Al parecer no tienes premisos necesarios para estar en este lugar. Tal vez puedes intentar conectarte?", + "404.title": "Ups... 404, no se encontra che!", + "404.message": "Al parecer lo que estas buscando no existe. Te recomendamos que vuelvas al inicio.", + "500.title": "Error Interno.", + "500.message": "Ooops! Algo salio mal!, No te alarmes. Nuestros simios hiperinteligentes lo solucionarán", + + "register": "Registrarse", + "login": "Conectarse", + + "logout": "Salir", + "logout.title": "Te has desconectado.", + "logout.message": "Haz sido desconectado correctamente", + + "save_changes": "Guardar Cambios", + "close": "Cerrar", + + "header.admin": "Admin", + "header.recent": "Recientes", + "header.unread": "No Leeidos", + "header.users": "Miembros", + "header.search": "Buscar", + "header.profile": "Perfil", + + "notifications.loading": "Cargando Notificaciones", + "chats.loading": "Cargando Chats" +} \ No newline at end of file diff --git a/public/language/es/login.json b/public/language/es/login.json new file mode 100644 index 0000000000..063c3aa5d2 --- /dev/null +++ b/public/language/es/login.json @@ -0,0 +1,10 @@ +{ + "login": "Conectarse", + "username": "Usuario", + "password": "Contraseña", + "remember_me": "Recordarme?", + "forgot_password": "Olvidaste tu contraseña?", + "alternative_logins": "Conexiones Alternativas", + "failed_login_attempt": "Error al loguearte, intenta de nuevo.", + "login_successful": "Te has conectado con exito!" +} \ No newline at end of file diff --git a/public/language/es/notifications.json b/public/language/es/notifications.json new file mode 100644 index 0000000000..cc15c86859 --- /dev/null +++ b/public/language/es/notifications.json @@ -0,0 +1,9 @@ +{ + "title": "Notificaciones", + "back_to_home": "volver al Inicio", + "mark_all_as_read": "Marcar todo como leeido", + "outgoing_link": "Link Externo", + "outgoing_link_message": "Estas saliendo del sitio", + "continue_to": "Continuar", + "return_to": "Volver a " +} diff --git a/public/language/es/recent.json b/public/language/es/recent.json new file mode 100644 index 0000000000..5d6792e0d2 --- /dev/null +++ b/public/language/es/recent.json @@ -0,0 +1,5 @@ +{ + "day": "Día", + "week": "Semana", + "month": "Mes" +} \ No newline at end of file diff --git a/public/language/es/register.json b/public/language/es/register.json new file mode 100644 index 0000000000..a5a7ed0381 --- /dev/null +++ b/public/language/es/register.json @@ -0,0 +1,16 @@ +{ + "register": "Registrase", + "help.email": "Por defecto, tu email será oculto al publico.", + "help.username_restrictions": "El nombre de usuario debe tener entre %1 y %2 caracteres. Los miembros pueden responderte escribiendo @usuario.", + "help.minimum_password_length": "Tu contraseña debe tener al menos %1 caracteres.", + "email_address": "Email", + "email_address_placeholder": "Escribe tu email", + "username": "Usuario", + "username_placeholder": "Escribe tu usuario", + "password": "Contraseña", + "password_placeholder": "Escribe tu Contraseña", + "confirm_password": "Confirmar Contraseña", + "confirm_password_placeholder": "Confirmar Contraseña", + "register_now_button": "Registrarme ahora", + "alternative_registration": "Otros metodos interesantes para registrarse" +} \ No newline at end of file diff --git a/public/language/es/reset_password.json b/public/language/es/reset_password.json new file mode 100644 index 0000000000..11659f9b27 --- /dev/null +++ b/public/language/es/reset_password.json @@ -0,0 +1,13 @@ +{ + "reset_password": "Resetear Contraseña", + "update_password": "Actualizar contraseña", + "password_changed.title": "Contraseña editada", + "password_changed.message": "

La contraseña fue modificada con exito, por favor conectate de nuevo.", + "wrong_reset_code.title": "Código de Reseteo Incorrecto", + "wrong_reset_code.message": "El código de reseteo ingresado no es correcto. Por favor intentalo de nuevo o pide un nuevo código.", + "new_password": "Nueva Contraseña", + "repeat_password": "Confirmar Contraseña", + "enter_email": "Por favor ingresa tu email y te enviaremos un email de como resetear tu cuenta.", + "password_reset_sent": "Resteo de contraseña enviado", + "invalid_email": "Email Invalido o no existe!" +} diff --git a/public/language/es/topic.json b/public/language/es/topic.json new file mode 100644 index 0000000000..865c80a59b --- /dev/null +++ b/public/language/es/topic.json @@ -0,0 +1,39 @@ +{ + "topic": "Tema", + "topics": "Temas", + + "no_topics_found": "No se encontraron temas!", + + "profile": "Perfil", + "posted_by": "Publicado por", + "chat": "Chat", + "notify_me": "Seras notificado cuando haya nuevas respuestas en este tema", + "quote": "Citar", + "reply": "Responder", + "edit": "Editar", + "delete": "Borrar", + "banned": "banneado", + "link": "Link", + + "thread_tools.title": "Herramientas del Tema", + "thread_tools.pin": "Poner Sticky", + "thread_tools.lock": "Cerrar Tema", + "thread_tools.move": "Mover Tema", + "thread_tools.delete": "Borrar Tema", + + "load_categories": "Cargando Categorias", + "disabled_categories_note": "Las categorías deshabilidas estan en gris", + "confirm_move": "Mover", + + "favourite": "Favorito", + "favourites": "Favoritos", + "favourites.not_logged_in.title": "No estas conectado :(", + "favourites.not_logged_in.message": "Por favor, conectate para agregar a favorito este post.", + "favourites.has_no_favourites": "No tienes favoritos, puedes agregar alguno y volver a verlos aqui!", + + "posted_by": "Publicado por", + "loading": "Cargando", + "more_posts": "Más posts", + "move_topic": "Mover Tema", + "topic_will_be_moved_to": "Este tema sera movido a la categoría" +} \ No newline at end of file diff --git a/public/language/es/unread.json b/public/language/es/unread.json new file mode 100644 index 0000000000..07b0b63bb0 --- /dev/null +++ b/public/language/es/unread.json @@ -0,0 +1,5 @@ +{ + "no_unread_topics": "No hay temas nuevos para leer.", + "mark_all_read": "Marcar todo como leeido", + "load_more": "Cargar más" +} \ No newline at end of file diff --git a/public/language/es/user.json b/public/language/es/user.json new file mode 100644 index 0000000000..f1bfdf4ed0 --- /dev/null +++ b/public/language/es/user.json @@ -0,0 +1,36 @@ +{ + "banned": "Banneado", + "offline": "desconectado", + "email": "email", + "fullname": "nombre completo", + "website": "website", + "location": "ubicación", + "age": "edad", + "joined": "registro", + "profil_views": "visitas en su perfil", + "reputation": "reputación", + "posts": "posts", + "followers": "seguidores", + "following": "siguiendo", + "signature": "firma", + "gravatar": "gravatar", + "birthday": "cumpleaños", + + "change_picture": "cambiar foto", + "edit": "editar", + "uploaded_pictures": "fotos cargadas", + "upload_new_picture": "cargar nueva foto", + "change_password": "cambiar contraseña", + "confirm_password": "confirmar contraseña", + "password": "contraseña", + + "upload_picture": "Cargar foto", + "upload_a_picture": "Cargar una foto", + "image_spec": "Solo puedes usar PNG, JPG, o GIF hasta 256kb.", + + "settings": "opciones", + "show_my_email": "mostrar mi email", + + "has_no_follower": "Este miembro no tiene seguidores :(", + "follows_no_one": "Este miembro no sigue a nadie, que pena :(" +} diff --git a/public/language/es/users.json b/public/language/es/users.json new file mode 100644 index 0000000000..fc57fdcf4c --- /dev/null +++ b/public/language/es/users.json @@ -0,0 +1,9 @@ +{ + "latest_users": "Ultimos Miembros", + "top_posters": "Top Posteadores", + "most_reputation": "Mayor Reputación", + "online": "Conectados", + "search": "Buscar", + "enter_username": "Ingresa el nombre de usuario para buscar", + "load_more": "Cargar más" +} \ No newline at end of file diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index e30b000470..bba039ea66 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -119,7 +119,7 @@ var ajaxify = {}; }); } - utils.refreshTitle(url); + app.refreshTitle(url); }, url, template); diff --git a/public/src/app.js b/public/src/app.js index 09c1f377bb..c7fe7835e7 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -396,7 +396,44 @@ var socket, $('body,html').animate({ scrollTop: $('html').height() - 100 }); - } + }; + + var titleObj = { + active: false, + interval: undefined, + titles: [] + }; + app.alternatingTitle = function (title) { + if (typeof title !== 'string') return; + + if (title.length > 0) { + titleObj.titles[1] = title; + if (titleObj.interval) { + clearInterval(titleObj.interval); + } + titleObj.interval = setInterval(function() { + window.document.title = titleObj.titles[titleObj.titles.indexOf(window.document.title) ^ 1]; + }, 2000); + } else { + if (titleObj.interval) { + clearInterval(titleObj.interval); + } + if (titleObj.titles[0]) window.document.title = titleObj.titles[0]; + } + }; + + app.refreshTitle = function(url) { + if (!url) { + var a = document.createElement('a'); + a.href = document.location; + url = a.pathname.slice(1); + } + + socket.emit('api:meta.buildTitle', url, function(title, numNotifications) { + titleObj.titles[0] = (numNotifications > 0 ? '(' + numNotifications + ') ' : '') + title; + app.alternatingTitle(''); + }); + }; jQuery('document').ready(function () { $('#search-form').on('submit', function () { @@ -410,5 +447,5 @@ var socket, showWelcomeMessage = location.href.indexOf('loggedin') !== -1; app.loadConfig(); - + app.alternatingTitle(''); }()); \ No newline at end of file diff --git a/public/src/forum/footer.js b/public/src/forum/footer.js index 9e67ba51d5..eb8d0f3e20 100644 --- a/public/src/forum/footer.js +++ b/public/src/forum/footer.js @@ -112,7 +112,7 @@ socket.emit('api:notifications.mark_all_read', null, function() { notifIcon.toggleClass('active', false); - utils.refreshTitle(); + app.refreshTitle(); // Update favicon + local count Tinycon.setBubble(0); @@ -167,7 +167,7 @@ type: 'warning', timeout: 2000 }); - utils.refreshTitle(); + app.refreshTitle(); // Update the favicon + local storage var savedCount = parseInt(localStorage.getItem('notifications:count'),10) || 0; @@ -209,7 +209,6 @@ }); socket.on('chatMessage', function(data) { - require(['chat'], function(chat) { var modal = null; if (chat.modalExists(data.fromuid)) { @@ -220,10 +219,12 @@ chat.load(modal.attr('UUID')); } else { chat.toggleNew(modal.attr('UUID'), true); + app.alternatingTitle(data.username + ' has messaged you'); } } else { modal = chat.createModal(data.username, data.fromuid); chat.toggleNew(modal.attr('UUID'), true); + app.alternatingTitle(data.username + ' has messaged you'); } }); }); diff --git a/public/src/modules/taskbar.js b/public/src/modules/taskbar.js index df7e8c460d..96ba98ac38 100644 --- a/public/src/modules/taskbar.js +++ b/public/src/modules/taskbar.js @@ -26,6 +26,7 @@ define(function() { taskbar.minimizeAll(); module.load(uuid); taskbar.toggleNew(uuid, false); + app.alternatingTitle(''); // Highlight the button $(taskbar.tasklist).removeClass('active'); diff --git a/public/src/translator.js b/public/src/translator.js index 43dc448b37..22de13a045 100644 --- a/public/src/translator.js +++ b/public/src/translator.js @@ -82,7 +82,7 @@ var parsedKey = keys[key].replace('[[', '').replace(']]', '').split(':'); if (!(parsedKey[0] && parsedKey[1])) continue; - + var languageFile = parsedKey[0]; parsedKey = parsedKey[1].split(',')[0]; diff --git a/public/src/utils.js b/public/src/utils.js index a7afef8ef7..926c05a0c5 100644 --- a/public/src/utils.js +++ b/public/src/utils.js @@ -169,23 +169,6 @@ return tags; }, - refreshTitle: function(url) { - if (!url) { - var a = document.createElement('a'); - a.href = document.location; - url = a.pathname.slice(1); - } - var notificationIcon; - - socket.emit('api:meta.buildTitle', url, function(title, numNotifications) { - document.title = (numNotifications > 0 ? '(' + numNotifications + ') ' : '') + title; - notificationIcon = notificationIcon || document.querySelector('.notifications a i'); - if (numNotifications > 0 && notificationIcon) { - notificationIcon.className = 'fa fa-circle active'; - } - }); - }, - isRelativeUrl: function(url) { var firstChar = url.slice(0, 1); return (firstChar === '.' || firstChar === '/'); diff --git a/public/templates/account.tpl b/public/templates/account.tpl index eb14891b85..da0014b0fe 100644 --- a/public/templates/account.tpl +++ b/public/templates/account.tpl @@ -13,71 +13,68 @@

- offline + [[user:offline]]
- banned + [[user:banned]]
-
- Chat -
- Follow - Unfollow + Follow + Unfollow
@@ -61,7 +61,9 @@ - \ No newline at end of file + diff --git a/public/templates/header.tpl b/public/templates/header.tpl index b1a2b48479..f08ff9680f 100644 --- a/public/templates/header.tpl +++ b/public/templates/header.tpl @@ -113,10 +113,10 @@ @@ -125,19 +125,19 @@ diff --git a/public/templates/outgoing.tpl b/public/templates/outgoing.tpl index 37ae257dd4..bbe1ac4af8 100644 --- a/public/templates/outgoing.tpl +++ b/public/templates/outgoing.tpl @@ -4,17 +4,17 @@
  • - Outgoing Link + [[notifications:outgoing_link]]
  • - You are now leaving {title}. + [[notifications:outgoing_link_message]] {title}.

    - Continue to {url} - Return to {title} + [[notifications:continue_to]] {url} + [[notifications:return_to]] {title}

    @@ -24,4 +24,4 @@ history.back(); return false; }); - \ No newline at end of file + diff --git a/public/templates/reset.tpl b/public/templates/reset.tpl index 3ac48f2752..7e6f996f46 100644 --- a/public/templates/reset.tpl +++ b/public/templates/reset.tpl @@ -1,28 +1,28 @@
    - Please enter your email address and we will send you an email with instructions on how to reset your account. + [[reset_password:reset_password:enter_email]]

    - +
    diff --git a/public/templates/reset_code.tpl b/public/templates/reset_code.tpl index 0f145d4f48..40a2dee402 100644 --- a/public/templates/reset_code.tpl +++ b/public/templates/reset_code.tpl @@ -1,12 +1,12 @@ @@ -14,23 +14,23 @@
    - +
    - +
    - +
    diff --git a/public/templates/search.tpl b/public/templates/search.tpl index 87c57c3ca1..9bea91611c 100644 --- a/public/templates/search.tpl +++ b/public/templates/search.tpl @@ -1,6 +1,6 @@ @@ -9,15 +9,15 @@
    - +