diff --git a/.tx/config b/.tx/config
index 85e2a0b4ba..e69bde43fc 100644
--- a/.tx/config
+++ b/.tx/config
@@ -15,6 +15,7 @@ trans.hu = public/language/hu/category.json
trans.it = public/language/it/category.json
trans.nb = public/language/nb/category.json
trans.pt_BR = public/language/pt_BR/category.json
+trans.ru = public/language/ru/category.json
trans.sk = public/language/sk/category.json
trans.sv = public/language/sv/category.json
trans.tr = public/language/tr/category.json
@@ -36,6 +37,7 @@ trans.hu = public/language/hu/login.json
trans.it = public/language/it/login.json
trans.nb = public/language/nb/login.json
trans.pt_BR = public/language/pt_BR/login.json
+trans.ru = public/language/ru/login.json
trans.sk = public/language/sk/login.json
trans.sv = public/language/sv/login.json
trans.tr = public/language/tr/login.json
@@ -56,6 +58,7 @@ trans.hu = public/language/hu/recent.json
trans.it = public/language/it/recent.json
trans.nb = public/language/nb/recent.json
trans.pt_BR = public/language/pt_BR/recent.json
+trans.ru = public/language/ru/recent.json
trans.sk = public/language/sk/recent.json
trans.sv = public/language/sv/recent.json
trans.tr = public/language/tr/recent.json
@@ -76,6 +79,7 @@ trans.hu = public/language/hu/unread.json
trans.it = public/language/it/unread.json
trans.nb = public/language/nb/unread.json
trans.pt_BR = public/language/pt_BR/unread.json
+trans.ru = public/language/ru/unread.json
trans.sk = public/language/sk/unread.json
trans.sv = public/language/sv/unread.json
trans.tr = public/language/tr/unread.json
@@ -96,6 +100,7 @@ trans.hu = public/language/hu/footer.json
trans.it = public/language/it/footer.json
trans.nb = public/language/nb/footer.json
trans.pt_BR = public/language/pt_BR/footer.json
+trans.ru = public/language/ru/footer.json
trans.sk = public/language/sk/footer.json
trans.sv = public/language/sv/footer.json
trans.tr = public/language/tr/footer.json
@@ -116,6 +121,7 @@ trans.hu = public/language/hu/modules.json
trans.it = public/language/it/modules.json
trans.nb = public/language/nb/modules.json
trans.pt_BR = public/language/pt_BR/modules.json
+trans.ru = public/language/ru/modules.json
trans.sk = public/language/sk/modules.json
trans.sv = public/language/sv/modules.json
trans.tr = public/language/tr/modules.json
@@ -136,6 +142,7 @@ trans.hu = public/language/hu/register.json
trans.it = public/language/it/register.json
trans.nb = public/language/nb/register.json
trans.pt_BR = public/language/pt_BR/register.json
+trans.ru = public/language/ru/register.json
trans.sk = public/language/sk/register.json
trans.sv = public/language/sv/register.json
trans.tr = public/language/tr/register.json
@@ -156,6 +163,7 @@ trans.hu = public/language/hu/user.json
trans.it = public/language/it/user.json
trans.nb = public/language/nb/user.json
trans.pt_BR = public/language/pt_BR/user.json
+trans.ru = public/language/ru/user.json
trans.sk = public/language/sk/user.json
trans.sv = public/language/sv/user.json
trans.tr = public/language/tr/user.json
@@ -176,6 +184,7 @@ trans.hu = public/language/hu/global.json
trans.it = public/language/it/global.json
trans.nb = public/language/nb/global.json
trans.pt_BR = public/language/pt_BR/global.json
+trans.ru = public/language/ru/global.json
trans.sk = public/language/sk/global.json
trans.sv = public/language/sv/global.json
trans.tr = public/language/tr/global.json
@@ -196,6 +205,7 @@ trans.hu = public/language/hu/notifications.json
trans.it = public/language/it/notifications.json
trans.nb = public/language/nb/notifications.json
trans.pt_BR = public/language/pt_BR/notifications.json
+trans.ru = public/language/ru/notifications.json
trans.sk = public/language/sk/notifications.json
trans.sv = public/language/sv/notifications.json
trans.tr = public/language/tr/notifications.json
@@ -216,6 +226,7 @@ trans.hu = public/language/hu/reset_password.json
trans.it = public/language/it/reset_password.json
trans.nb = public/language/nb/reset_password.json
trans.pt_BR = public/language/pt_BR/reset_password.json
+trans.ru = public/language/ru/reset_password.json
trans.sk = public/language/sk/reset_password.json
trans.sv = public/language/sv/reset_password.json
trans.tr = public/language/tr/reset_password.json
@@ -236,6 +247,7 @@ trans.hu = public/language/hu/users.json
trans.it = public/language/it/users.json
trans.nb = public/language/nb/users.json
trans.pt_BR = public/language/pt_BR/users.json
+trans.ru = public/language/ru/users.json
trans.sk = public/language/sk/users.json
trans.sv = public/language/sv/users.json
trans.tr = public/language/tr/users.json
@@ -256,6 +268,7 @@ trans.hu = public/language/hu/language.json
trans.it = public/language/it/language.json
trans.nb = public/language/nb/language.json
trans.pt_BR = public/language/pt_BR/language.json
+trans.ru = public/language/ru/language.json
trans.sk = public/language/sk/language.json
trans.sv = public/language/sv/language.json
trans.tr = public/language/tr/language.json
@@ -276,6 +289,7 @@ trans.hu = public/language/hu/pages.json
trans.it = public/language/it/pages.json
trans.nb = public/language/nb/pages.json
trans.pt_BR = public/language/pt_BR/pages.json
+trans.ru = public/language/ru/pages.json
trans.sk = public/language/sk/pages.json
trans.sv = public/language/sv/pages.json
trans.tr = public/language/tr/pages.json
@@ -296,6 +310,7 @@ trans.hu = public/language/hu/topic.json
trans.it = public/language/it/topic.json
trans.nb = public/language/nb/topic.json
trans.pt_BR = public/language/pt_BR/topic.json
+trans.ru = public/language/ru/topic.json
trans.sk = public/language/sk/topic.json
trans.sv = public/language/sv/topic.json
trans.tr = public/language/tr/topic.json
diff --git a/public/language/ru/category.json b/public/language/ru/category.json
new file mode 100644
index 0000000000..875db86e42
--- /dev/null
+++ b/public/language/ru/category.json
@@ -0,0 +1,14 @@
+{
+ "new_topic_button": "Создать тему",
+ "no_topics": "В этой категории еще нет тем.
Почему бы вам не создать первую?",
+ "sidebar.recent_replies": "Последние сообщения",
+ "sidebar.active_participants": "Активные участники",
+ "sidebar.moderators": "Модераторы",
+ "posts": "сообщений",
+ "views": "просмотров",
+ "posted": "написано",
+ "browsing": "просматривают",
+ "no_replies": "Нет ответов",
+ "replied": "ответил",
+ "last_edited_by": "отредактировано"
+}
\ No newline at end of file
diff --git a/public/language/ru/footer.json b/public/language/ru/footer.json
new file mode 100644
index 0000000000..6e426d99e4
--- /dev/null
+++ b/public/language/ru/footer.json
@@ -0,0 +1,7 @@
+{
+ "stats.online": "В сети",
+ "stats.users": "Пользователей",
+ "stats.topics": "Тем",
+ "stats.posts": "Сообщений",
+ "success": "успешно"
+}
\ No newline at end of file
diff --git a/public/language/ru/global.json b/public/language/ru/global.json
new file mode 100644
index 0000000000..c7f48f8b8a
--- /dev/null
+++ b/public/language/ru/global.json
@@ -0,0 +1,52 @@
+{
+ "home": "Главная",
+ "search": "Поиск",
+ "buttons.close": "Закрыть",
+ "403.title": "Доступ запрещен",
+ "403.message": "Похоже, вы наткнулись на страницу, к которой у вас нет доступа. Возможно, вам стоит попробовать войти?",
+ "404.title": "Страница не найдена",
+ "404.message": "Похоже, вы наткнулись на несуществующую страницу. Вернитесь на главную.",
+ "500.title": "Внутренняя ошибка.",
+ "500.message": "Упс! Похоже, что-то пошло не так!",
+ "register": "Зарегистрироваться",
+ "login": "Войти",
+ "logout": "Выйти",
+ "logout.title": "Вы успешно вышли.",
+ "logout.message": "Вы успешно вышли из NodeBB",
+ "save_changes": "Сохранить изменения",
+ "close": "Закрыть",
+ "header.admin": "Админка",
+ "header.recent": "Последние",
+ "header.unread": "Непрочитанное",
+ "header.popular": "Популярные",
+ "header.users": "Пользователи",
+ "header.chats": "Чаты",
+ "header.notifications": "Уведомления",
+ "header.search": "Поиск",
+ "header.profile": "Профиль",
+ "notifications.loading": "Загружаем уведомления",
+ "chats.loading": "Загружаем чаты",
+ "motd.welcome": "Добро пожаловать в NodeBB, платформу будущего для общения.",
+ "motd.get": "Получить NodeBB",
+ "motd.fork": "Ответвление",
+ "motd.like": "Нравится",
+ "motd.follow": "Читать",
+ "previouspage": "Предыдущая Страница",
+ "nextpage": "Следующая Страница",
+ "alert.success": "Успешно",
+ "alert.error": "Ошибка",
+ "alert.banned": "Заблокирован",
+ "alert.banned.message": "Ваш аккаунт заблокирован сейчас будет произведен выход.",
+ "alert.unfollow": "Вы больше не читаете %1!",
+ "alert.follow": "Вы теперь читаете %1!",
+ "posts": "Сообщения",
+ "views": "Просмотры",
+ "posted": "создан",
+ "in": "в",
+ "recentposts": "Свежие записи",
+ "online": "В сети",
+ "away": "Отсутствует",
+ "dnd": "Не беспокоить",
+ "invisible": "Невидимый",
+ "offline": "Не в сети"
+}
\ No newline at end of file
diff --git a/public/language/ru/language.json b/public/language/ru/language.json
new file mode 100644
index 0000000000..581198926a
--- /dev/null
+++ b/public/language/ru/language.json
@@ -0,0 +1,4 @@
+{
+ "name": "Русский",
+ "code": "ru"
+}
\ No newline at end of file
diff --git a/public/language/ru/login.json b/public/language/ru/login.json
new file mode 100644
index 0000000000..0b893bc1d4
--- /dev/null
+++ b/public/language/ru/login.json
@@ -0,0 +1,10 @@
+{
+ "login": "Войти",
+ "username": "Имя пользователя",
+ "password": "Пароль",
+ "remember_me": "Запомнить меня",
+ "forgot_password": "Забыли пароль?",
+ "alternative_logins": "Войти через",
+ "failed_login_attempt": "Не удалось войти, попробуйте еще раз.",
+ "login_successful": "Вы успешно вошли!"
+}
\ No newline at end of file
diff --git a/public/language/ru/modules.json b/public/language/ru/modules.json
new file mode 100644
index 0000000000..09c54ae272
--- /dev/null
+++ b/public/language/ru/modules.json
@@ -0,0 +1,6 @@
+{
+ "chat.chatting_with": "Чат с ",
+ "chat.placeholder": "введите сообщение, нажмите enter для отправки",
+ "chat.send": "Отправить",
+ "chat.no_active": "У вас нет активных чатов."
+}
\ No newline at end of file
diff --git a/public/language/ru/notifications.json b/public/language/ru/notifications.json
new file mode 100644
index 0000000000..896fa0d231
--- /dev/null
+++ b/public/language/ru/notifications.json
@@ -0,0 +1,8 @@
+{
+ "title": "Уведомления",
+ "back_to_home": "Вернуться на NodeBB",
+ "outgoing_link": "Внешняя ссылка",
+ "outgoing_link_message": "Вы покидаете",
+ "continue_to": "Перейти на",
+ "return_to": "Вернутся на"
+}
\ No newline at end of file
diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json
new file mode 100644
index 0000000000..b4a44b79e7
--- /dev/null
+++ b/public/language/ru/pages.json
@@ -0,0 +1,12 @@
+{
+ "home": "Главная",
+ "unread": "Непрочитанные темы",
+ "recent": "Последние темы",
+ "users": "Зарегистрированные пользователи",
+ "notifications": "Уведомления",
+ "user.edit": "Редактирование \"%1\"",
+ "user.following": "%1 читает",
+ "user.followers": "Читают %1",
+ "user.favourites": "Избранные сообщения %1",
+ "user.settings": "Настройки"
+}
\ No newline at end of file
diff --git a/public/language/ru/recent.json b/public/language/ru/recent.json
new file mode 100644
index 0000000000..7481687f39
--- /dev/null
+++ b/public/language/ru/recent.json
@@ -0,0 +1,6 @@
+{
+ "title": "Последние",
+ "day": "День",
+ "week": "Неделя",
+ "month": "Месяц"
+}
\ No newline at end of file
diff --git a/public/language/ru/register.json b/public/language/ru/register.json
new file mode 100644
index 0000000000..419a808877
--- /dev/null
+++ b/public/language/ru/register.json
@@ -0,0 +1,18 @@
+{
+ "register": "Регистрация",
+ "help.email": "По умолчанию, ваш email будет скрыт.",
+ "help.username_restrictions": "Уникальное Имя между %1 и %2 символов. Другие пользователи смогут упоминать вас по @Имени.",
+ "help.minimum_password_length": "Длина вашего пароля должна быть минимум %1 символов.",
+ "email_address": "Email Адрес",
+ "email_address_placeholder": "Введите Email адрес",
+ "username": "Имя пользователя",
+ "username_placeholder": "Введите Имя пользователя",
+ "password": "Пароль",
+ "password_placeholder": "Введите Пароль",
+ "confirm_password": "Подтвердите Пароль",
+ "confirm_password_placeholder": "Подтвердите Пароль",
+ "register_now_button": "Зарегистрироваться",
+ "alternative_registration": "Альтернативная Регистрация",
+ "terms_of_use": "Условия использования",
+ "agree_to_terms_of_use": "Я согласен с условиями"
+}
\ No newline at end of file
diff --git a/public/language/ru/reset_password.json b/public/language/ru/reset_password.json
new file mode 100644
index 0000000000..62cc1ab610
--- /dev/null
+++ b/public/language/ru/reset_password.json
@@ -0,0 +1,13 @@
+{
+ "reset_password": "Восстановить Пароль",
+ "update_password": "Изменить Пароль",
+ "password_changed.title": "Пароль Изменен",
+ "password_changed.message": "
Пароль успешно восстановлен, пожалуйста войдите еще раз.", + "wrong_reset_code.title": "Неверный код восстановления", + "wrong_reset_code.message": "Неправильный код восстановления пароля. Попробуйте еще раз, или запросите новый код восстановления.", + "new_password": "Новый Пароль", + "repeat_password": "Подтвердите Пароль", + "enter_email": "Пожалуйста введите ваш email адрес и мы отправим Вам письмо с инструкцией восстановления пароля.", + "password_reset_sent": "Пароль Отправлен", + "invalid_email": "Неверный Email / Email не существует!" +} \ No newline at end of file diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json new file mode 100644 index 0000000000..6c282dc9be --- /dev/null +++ b/public/language/ru/topic.json @@ -0,0 +1,51 @@ +{ + "topic": "Тема", + "topics": "Темы", + "no_topics_found": "Тем не найдено!", + "profile": "Профиль", + "posted_by": "Создано", + "chat": "Чат", + "notify_me": "Сообщать мне об ответах в этой теме", + "quote": "Цитировать", + "reply": "Ответить", + "edit": "Редактировать", + "delete": "Удалить", + "move": "Перенести", + "fork": "Ответвление", + "banned": "заблокировано", + "link": "Ссылка", + "share": "Поделиться", + "tools": "Опции", + "flag": "Отметить", + "flag_title": "Отметить сообщение для модерирования", + "thread_tools.title": "Опции Темы", + "thread_tools.markAsUnreadForAll": "Отметить как непрочитанные", + "thread_tools.pin": "Закрепить Тему", + "thread_tools.lock": "Закрыть Тему", + "thread_tools.move": "Перенести Тему", + "thread_tools.fork": "Ответвить Тему", + "thread_tools.delete": "Удалить Тему", + "load_categories": "Загружаем Категории", + "disabled_categories_note": "Отключенные категории затемненны", + "confirm_move": "Перенести", + "confirm_fork": "Ответвление", + "favourite": "Избранное", + "favourites": "Избранные", + "favourites.not_logged_in.title": "Вход не выполнен", + "favourites.not_logged_in.message": "Войдите, чтобы добавить эту запись в избранное", + "favourites.has_no_favourites": "У вас нет избранного, добавьте несколько сообщений в избранное чтобы увидеть их здесь!", + "vote.not_logged_in.title": "Not Logged In", + "vote.not_logged_in.message": "Please log in in order to vote", + "vote.cant_vote_self.title": "Invalid Vote", + "vote.cant_vote_self.message": "You cannot vote for your own post", + "loading_more_posts": "Загружаем еще сообщения", + "move_topic": "Перенести тему", + "move_post": "Перенести сообщение", + "fork_topic": "Ответвить Тему", + "topic_will_be_moved_to": "Эта тема будет перенесена в категорию", + "fork_topic_instruction": "Отметьте сообщения для ответвления", + "fork_no_pids": "Сообщения не отмечены!", + "fork_success": "Ответвление темы создано!", + "reputation": "Репутация", + "posts": "Сообщений" +} \ No newline at end of file diff --git a/public/language/ru/unread.json b/public/language/ru/unread.json new file mode 100644 index 0000000000..d1184cb5c8 --- /dev/null +++ b/public/language/ru/unread.json @@ -0,0 +1,6 @@ +{ + "title": "Непрочитанные темы", + "no_unread_topics": "Нет непрочитанных тем.", + "mark_all_read": "Отметить все темы как прочитанные", + "load_more": "Загрузить еще" +} \ No newline at end of file diff --git a/public/language/ru/user.json b/public/language/ru/user.json new file mode 100644 index 0000000000..3c3c1d8836 --- /dev/null +++ b/public/language/ru/user.json @@ -0,0 +1,39 @@ +{ + "banned": "Заблокирован", + "offline": "Не в сети", + "username": "Имя пользователя", + "email": "Email", + "fullname": "Полное имя", + "website": "Сайт", + "location": "Откуда", + "age": "Возраст", + "joined": "Зарегистрирован", + "lastonline": "Последнее посещение", + "profile": "Profile", + "profile_views": "Просмотров профиля", + "reputation": "Репутация", + "posts": "Сообщений", + "favourites": "Избранное", + "followers": "Читателей", + "following": "Читаемых", + "signature": "Подпись", + "gravatar": "Gravatar", + "birthday": "День рождения", + "change_picture": "Изменить фотографию", + "edit": "Редактировать", + "uploaded_picture": "Загруженные Фотографии", + "upload_new_picture": "Загрузить новую фотографию", + "change_password": "Изменить Пароль", + "confirm_password": "Подтвердите Пароль", + "password": "Пароль", + "upload_picture": "Загрузить фотографию", + "upload_a_picture": "Загрузить фотографию", + "image_spec": "Вы можете загружать только PNG, JPG, или GIF файлы размером до 256kb.", + "settings": "Настройки", + "show_email": "Показывать мой Email", + "has_no_follower": "Этого пользователя никто не читает :(", + "follows_no_one": "Этот пользователь никого не читает :(", + "has_no_posts": "This user didn't post anything yet.", + "email_hidden": "Email Скрыт", + "hidden": "скрыто" +} \ No newline at end of file diff --git a/public/language/ru/users.json b/public/language/ru/users.json new file mode 100644 index 0000000000..8ee4b78821 --- /dev/null +++ b/public/language/ru/users.json @@ -0,0 +1,9 @@ +{ + "latest_users": "Новые пользователи", + "top_posters": "Самые активные", + "most_reputation": "Лучшая репутация", + "online": "В сети", + "search": "Поиск", + "enter_username": "Введите имя пользователя для поиска", + "load_more": "Загрузить еще" +} \ No newline at end of file diff --git a/public/src/forum/topic.js b/public/src/forum/topic.js index 3d1fe48075..dde3643777 100644 --- a/public/src/forum/topic.js +++ b/public/src/forum/topic.js @@ -42,6 +42,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { Topic.postCount = templates.get('postcount'); + $(window).trigger('action:topic.loading'); function fixDeleteStateForPosts() { var postEls = document.querySelectorAll('#post-container li[data-deleted]'); @@ -446,7 +447,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { var post = $(this).parents('.post-row'), pid = post.attr('data-pid'), upvoted = post.find('.upvoted').length; - + if (upvoted) { socket.emit('posts.unvote', { pid: pid, @@ -458,7 +459,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { room_id: app.currentRoom }); } - + return false; }); @@ -478,7 +479,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { room_id: app.currentRoom }); } - + return false; }); @@ -1050,6 +1051,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { } $(window).on('scroll', updateHeader); + $(window).trigger('action:topic.loaded'); }; function updateHeader() {