diff --git a/package.json b/package.json
index bbc04c94ac..8534d01908 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,6 @@
"passport-facebook": "0.1.5",
"less-middleware": "0.1.12",
"marked": "0.2.8",
- "bcrypt": "0.7.5",
"async": "~0.2.8",
"node-imagemagick": "0.1.8",
"gravatar": "1.0.6",
@@ -47,7 +46,8 @@
"semver": "~2.2.1",
"string": "~1.7.0",
"xregexp": "~2.0.0",
- "socket.io-wildcard": "~0.1.1"
+ "socket.io-wildcard": "~0.1.1",
+ "bcryptjs": "~0.7.10"
},
"optionalDependencies": {
"redis": "0.8.3",
diff --git a/public/language/en/global.json b/public/language/en/global.json
index 99fd8c74dc..210486f0a9 100644
--- a/public/language/en/global.json
+++ b/public/language/en/global.json
@@ -23,6 +23,8 @@
"header.recent": "Recent",
"header.unread": "Unread",
"header.users": "Users",
+ "header.chats": "Chats",
+ "header.notifications": "Notifications",
"header.search": "Search",
"header.profile": "Profile",
diff --git a/public/language/pt_br/category.json b/public/language/pt_br/category.json
new file mode 100644
index 0000000000..d29e23eb95
--- /dev/null
+++ b/public/language/pt_br/category.json
@@ -0,0 +1,14 @@
+{
+ "new_topic_button": "New Topic",
+ "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",
+ "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/pt_br/footer.json b/public/language/pt_br/footer.json
new file mode 100644
index 0000000000..06c7f43b74
--- /dev/null
+++ b/public/language/pt_br/footer.json
@@ -0,0 +1,7 @@
+{
+ "stats.online": "Online",
+ "stats.users": "Testers",
+ "stats.topics": "Tópicos",
+ "stats.posts": "Posts",
+ "success": "Sucesso"
+}
diff --git a/public/language/pt_br/global.json b/public/language/pt_br/global.json
new file mode 100644
index 0000000000..b10075d10d
--- /dev/null
+++ b/public/language/pt_br/global.json
@@ -0,0 +1,40 @@
+{
+ "home": "Home",
+ "search": "Procurar",
+ "buttons.close": "Fechar",
+ "403.title": "Acesso Negado",
+ "403.message": "Parece que você não tem acesso a essa página. talvez você devesse tentar logar...?",
+ "404.title": "Not Found",
+ "404.message": "Essa página não existe... volte para página principal.",
+ "500.title": "Erro Interno.",
+ "500.message": "Oops! deu algo errado!",
+
+ "register": "Cadastrar",
+ "login": "Logar",
+
+ "logout": "Logout",
+ "logout.title": "Logout com sucesso.",
+ "logout.message": "Logado com Sucesso!",
+
+ "save_changes": "Salvar Alterações",
+ "close": "Fechar",
+
+ "header.admin": "Admin",
+ "header.recent": "Recente",
+ "header.unread": "Não Lido",
+ "header.users": "Usuários",
+ "header.search": "Procurar",
+ "header.profile": "Profile",
+
+ "notifications.loading": "Carregando Notificações",
+ "chats.loading": "Carregando Bate-Papo",
+
+ "motd.welcome": "Welcome to NodeBB, the discussion platform of the future.",
+ "motd.get": "Get NodeBB",
+ "motd.fork": "Fork",
+ "motd.like": "Like",
+ "motd.follow": "Seguir",
+
+ "previouspage": "Página Anterior",
+ "nextpage": "Próxima pagina;"
+}
diff --git a/public/language/pt_br/language.json b/public/language/pt_br/language.json
new file mode 100644
index 0000000000..611dd6491d
--- /dev/null
+++ b/public/language/pt_br/language.json
@@ -0,0 +1,4 @@
+{
+ "name": "Português Brasileiro",
+ "code": "pt_br"
+}
\ No newline at end of file
diff --git a/public/language/pt_br/login.json b/public/language/pt_br/login.json
new file mode 100644
index 0000000000..10ccb32227
--- /dev/null
+++ b/public/language/pt_br/login.json
@@ -0,0 +1,10 @@
+{
+ "login": "Login",
+ "username": "Usuário",
+ "password": "Senha",
+ "remember_me": "Lembrar?",
+ "forgot_password": "Esqueceu a Senha?",
+ "alternative_logins": "Você pode logar usando também...",
+ "failed_login_attempt": "Falha no login, por favor tente novamente.",
+ "login_successful": "Você logou com sucesso!"
+}
diff --git a/public/language/pt_br/modules.json b/public/language/pt_br/modules.json
new file mode 100644
index 0000000000..1ce45f5ff5
--- /dev/null
+++ b/public/language/pt_br/modules.json
@@ -0,0 +1,6 @@
+{
+ "chat.chatting_with": "Conversar com ",
+ "chat.placeholder": "Digite sua mensagem aqui e pressione 'enter' para enviar",
+ "chat.send": "Enviar",
+ "chat.no_active": "Você não tem chats ativos."
+}
\ No newline at end of file
diff --git a/public/language/pt_br/notifications.json b/public/language/pt_br/notifications.json
new file mode 100644
index 0000000000..007e836d84
--- /dev/null
+++ b/public/language/pt_br/notifications.json
@@ -0,0 +1,8 @@
+{
+ "title": "Notificações",
+ "back_to_home": "voltar para home",
+ "outgoing_link": "Link Externo",
+ "outgoing_link_message": "Você está saindo do agiletesters com um link externo",
+ "continue_to": "Continuar para",
+ "return_to": "Voltar para"
+}
diff --git a/public/language/pt_br/recent.json b/public/language/pt_br/recent.json
new file mode 100644
index 0000000000..92ea088ba7
--- /dev/null
+++ b/public/language/pt_br/recent.json
@@ -0,0 +1,5 @@
+{
+ "day": "Dia",
+ "week": "Semana",
+ "month": "Mês"
+}
\ No newline at end of file
diff --git a/public/language/pt_br/register.json b/public/language/pt_br/register.json
new file mode 100644
index 0000000000..2bc244c900
--- /dev/null
+++ b/public/language/pt_br/register.json
@@ -0,0 +1,16 @@
+{
+ "register": "Cadastrar",
+ "help.email": "Por padrão, seu email não ficará visivel.",
+ "help.username_restrictions": "Um usuário único com %1 e %2 caracteres. Outros poderão te mencionar digitando @usuário.",
+ "help.minimum_password_length": "Sua senha tem que ter no mínimo %1 caracteres.",
+ "email_address": "Email",
+ "email_address_placeholder": "Digite seu Email",
+ "username": "Usuário",
+ "username_placeholder": "Digiter Usuário",
+ "password": "Senha",
+ "password_placeholder": "Digitar Senha",
+ "confirm_password": "Confirmar Senha",
+ "confirm_password_placeholder": "Confirmar Senha",
+ "register_now_button": "Cadastrar Agora",
+ "alternative_registration": "Você pode usar essas outras formas de cadastro"
+}
\ No newline at end of file
diff --git a/public/language/pt_br/reset_password.json b/public/language/pt_br/reset_password.json
new file mode 100644
index 0000000000..d277772c14
--- /dev/null
+++ b/public/language/pt_br/reset_password.json
@@ -0,0 +1,13 @@
+{
+ "reset_Senha": "Resetar Senha",
+ "update_Senha": "Alterar Senha",
+ "Senha_changed.title": "Senha Alterada",
+ "Senha_changed.message": "
Senha resetada com sucesso, por favor logue novamente.", + "wrong_reset_code.title": "Código De Reset Incorreto", + "wrong_reset_code.message": "Codigo de Reset Incorreto. Tente novamente, ou peça um novo.", + "new_Senha": "Nova Senha", + "repeat_Senha": "Confirmar Senha", + "enter_email": "Por digite seu email nós enviaremos para você as instruções de como resetar sua senha.", + "Senha_reset_sent": "Reset de Senha Enviado", + "invalid_email": "Email inválido!" +} diff --git a/public/language/pt_br/topic.json b/public/language/pt_br/topic.json new file mode 100644 index 0000000000..d72097afe6 --- /dev/null +++ b/public/language/pt_br/topic.json @@ -0,0 +1,53 @@ +{ + "topic": "Tópico", + "topics": "Tópicos", + + "no_topics_found": "Nenhum tópico encontrado!", + + "profile": "Profile", + "posted_by": "Postado por", + "chat": "Chat", + "notify_me": "Ser notificado a cada nova resposta", + "quote": "Citar", + "reply": "Esponder", + "edit": "Editar", + "delete": "Deletar", + "move": "Mover", + "fork": "Fork", + "banned": "Banido", + "link": "Link", + "share": "Compartilho", + "tools": "Ferramentas", + + "thread_tools.title": "Ferramentas da Thread", + "thread_tools.markAsUnreadForAll": "Marcar como não lido", + "thread_tools.pin": "Fixar Thread", + "thread_tools.lock": "Travar Thread", + "thread_tools.move": "Mover Thread", + "thread_tools.fork": "Fork Thread", + "thread_tools.delete": "Deletar Thread", + + "load_categories": "Carregando Categorias", + "disabled_categories_note": "Categorias desabilitadas estão em cinza", + "confirm_move": "Mover", + "confirm_fork": "Fork", + + "favourite": "Favoritar", + "favourites": "Favoritos", + "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!", + + "posted_by": "postado por", + "loading_more_posts": "Carregando mais posts", + "move_topic": "Mover Tópico", + "move_post": "Mover Post", + "fork_topic": "Fork Tópico", + "topic_will_be_moved_to": "Este tópico será movido para categoria", + "fork_topic_instruction": "Clique nos postas que você fazer o fork", + "fork_no_pids": "Nenhum Tópico selecionado", + "fork_success": "Fork realizado com sucesso!", + + "reputation": "Reputação", + "posts": "Posts" +} diff --git a/public/language/pt_br/unread.json b/public/language/pt_br/unread.json new file mode 100644 index 0000000000..b75d15c994 --- /dev/null +++ b/public/language/pt_br/unread.json @@ -0,0 +1,5 @@ +{ + "no_unread_topics": "Todos os topicos lidos.", + "mark_all_read": "Marcar como Lido", + "load_more": "Carregar" +} \ No newline at end of file diff --git a/public/language/pt_br/user.json b/public/language/pt_br/user.json new file mode 100644 index 0000000000..187c823028 --- /dev/null +++ b/public/language/pt_br/user.json @@ -0,0 +1,41 @@ +{ + "banned": "Banido", + "offline": "Offline", + "username": "Usuário", + "email": "Email", + "fullname": "Nome Completo", + "website": "Website", + "location": "Localização", + "age": "Idade", + "joined": "Cadastrou", + "lastonline": "Visto á", + "profile_views": "Visualizações de Profile", + "reputation": "Reputação", + "posts": "Posts", + "followers": "Seguidores", + "following": "Seguindo", + "signature": "Assinatura", + "gravatar": "Gravatar", + "birthday": "Aniversário", + + "change_picture": "Alterar Foto", + "edit": "Editar", + "uploaded_picture": "Foto Carregada", + "upload_new_picture": "Carregar novo Foto", + "change_password": "Alterar Senha", + "confirm_password": "Confirmar Senha", + "password": "Senha", + + "upload_picture": "Carregar Foto", + "upload_a_picture": "Carregar Foto", + "image_spec": "Somente arquivos jpg, png e gif com no maximo 256kb.", + + "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 ninguem...", + + "email_hidden": "Email Escondido", + "hidden": "Escondido" +} diff --git a/public/language/pt_br/users.json b/public/language/pt_br/users.json new file mode 100644 index 0000000000..0fa4005679 --- /dev/null +++ b/public/language/pt_br/users.json @@ -0,0 +1,9 @@ +{ + "latest_users": "Usuários Recentes", + "top_posters": "Top Posters", + "most_reputation": "Com Mais Reputação", + "online": "Online", + "search": "Procurar", + "enter_username": "Digite um usuário para buscar", + "load_more": "Carregar mais" +} \ No newline at end of file diff --git a/public/src/app.js b/public/src/app.js index 21c0c72c86..77d55bd3ef 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -537,12 +537,28 @@ var socket, app.alternatingTitle(''); }); + createHeaderTooltips(); + templates.setGlobal('relative_path', RELATIVE_PATH); templates.setGlobal('usePagination', config.usePagination); templates.setGlobal('topicsPerPage', config.topicsPerPage); templates.setGlobal('postsPerPage', config.postsPerPage); }); + function createHeaderTooltips() { + $('#header-menu li i[title]').each(function() { + $(this).parents('li').tooltip({ + placement: 'bottom', + title: $(this).attr('title') + }); + }); + + $('#user_label').tooltip({ + placement: 'bottom', + title: $('#user_dropdown').attr('title') + }); + } + showWelcomeMessage = location.href.indexOf('loggedin') !== -1; app.loadConfig(); diff --git a/public/src/forum/admin/categories.js b/public/src/forum/admin/categories.js index 327e29968f..6142cafb24 100644 --- a/public/src/forum/admin/categories.js +++ b/public/src/forum/admin/categories.js @@ -178,13 +178,13 @@ define(['uploader'], function(uploader) { }); // Permissions modal - $('.permissions').on('click', function() { + $('.admin-categories').on('click', '.permissions', function() { var cid = $(this).parents('li[data-cid]').attr('data-cid'); Categories.launchPermissionsModal(cid); }); - $('.upload-button').on('click', function() { + $('.admin-categories').on('click', '.upload-button', function() { var inputEl = this; var cid = $(this).parents('li[data-cid]').attr('data-cid'); uploader.open(RELATIVE_PATH + '/admin/category/uploadpicture', {cid:cid}, function(imageUrlOnServer) { @@ -196,7 +196,7 @@ define(['uploader'], function(uploader) { }); }); - $('.admin-categories').delegate('.delete-image', 'click', function() { + $('.admin-categories').on('click', '.delete-image', function() { var parent = $(this).parents('li[data-cid]'), inputEl = parent.find('.upload-button'), preview = parent.find('.preview-box'), diff --git a/public/src/forum/admin/index.js b/public/src/forum/admin/index.js index c0806106dd..c99dd43cb9 100644 --- a/public/src/forum/admin/index.js +++ b/public/src/forum/admin/index.js @@ -18,6 +18,7 @@ define(function() { }; Admin.updateRoomUsage = function(err, data) { + function getUserCountIn(room) { var count = 0; for(var user in data[room]) { @@ -25,27 +26,36 @@ define(function() { } return count; } - var active_users = $('#active_users'), + + var active_users = $('#active_users').html(''), total = 0; if(!active_users.length) { return; } - active_users.html(''); - var usersHtml = ''; + var sortedData = []; for (var room in data) { if (room !== '') { - var count = getUserCountIn(room); - total += count; - usersHtml += "