diff --git a/js/src/i18n/ru.json b/js/src/i18n/ru.json
index 36c742f88..111136351 100644
--- a/js/src/i18n/ru.json
+++ b/js/src/i18n/ru.json
@@ -1,4 +1,7 @@
 {
+  "(Masked)": "(Скрыто)",
+  "@{group}": "@{group}",
+  "@{username} ({role})": "@{username} ({role})",
   "A user-friendly, emancipatory and ethical tool for gathering, organising, and mobilising.": "Удобный, свободный и этичный инструмент для объединения, организации и мобилизации.",
   "A validation email was sent to {email}": "Письмо с подтверждением было отправлено на адрес {email}",
   "Abandon editing": "Отменить изменения",
@@ -6,9 +9,12 @@
   "About Mobilizon": "О Mobilizon",
   "About this event": "Об этом мероприятии",
   "About this instance": "Об этом узле",
+  "Accept": "Принять",
   "Accepted": "Принято",
   "Account": "Учётная запись",
+  "Actor": "Агент",
   "Add": "Добавить",
+  "Add a group": "Добавить группу",
   "Add a note": "Добавить заметку",
   "Add an address": "Добавить адрес",
   "Add an instance": "Добавить узел",
@@ -30,9 +36,11 @@
   "Are you sure you want to cancel the event edition? You'll lose all modifications.": "Вы уверены, что хотите отменить редактирование мероприятия? Все изменения будут потеряны.",
   "Are you sure you want to cancel your participation at event \"{title}\"?": "Вы действительно хотите отказаться от участия в мероприятии \"{title}\"?",
   "Are you sure you want to delete this event? This action cannot be reverted.": "Вы уверены, что хотите удалить это мероприятие? Это действие нельзя отменить.",
+  "Assigned to": "Присвоен",
   "Avatar": "Аватар",
   "Back to previous page": "Вернуться на предыдущую страницу",
   "Before you can login, you need to click on the link inside it to validate your account.": "Перед тем как войти в систему, вы должны перейти по указанной в письме ссылке, чтобы подтвердить свою учетную запись.",
+  "By @{group}": "Из @{group}",
   "By @{username}": "От @{username}",
   "Cancel": "Отмена",
   "Cancel anonymous participation": "Отменить анонимное участие",
@@ -56,6 +64,7 @@
   "Confirm my participation": "Подтвердите мое участие",
   "Confirm my particpation": "Подтвердите мое участие",
   "Confirmed: Will happen": "Подтверждено: Состоится",
+  "Contact": "Контакт",
   "Continue editing": "Продолжить редактирование",
   "Country": "Страна",
   "Create": "Создать",
@@ -74,8 +83,10 @@
   "Custom text": "Пользовательский текст",
   "Dashboard": "Панель",
   "Date": "Дата",
+  "Date and time": "Дата и время",
   "Date and time settings": "Настройки даты и времени",
   "Date parameters": "Параметры даты",
+  "Decline": "Отклонить",
   "Default": "По умолчанию",
   "Delete": "Удалить",
   "Delete Comment": "Удалить комментарий",
@@ -98,6 +109,7 @@
   "Domain": "Домен",
   "Draft": "Черновик",
   "Drafts": "Черновики",
+  "Due on": "Выполнить к",
   "Edit": "Редактировать",
   "Eg: Stockholm, Dance, Chess…": "Например: Москва, танцы, шахматы…",
   "Either on the {instance} instance or on another instance.": "На узле {instance}, либо на другом.",
@@ -176,6 +188,7 @@
   "Limited number of places": "Ограниченное количество мест",
   "Load more": "Загрузить больше",
   "Locality": "Местонахождение",
+  "Location": "Местонахождение",
   "Log in": "Вход в систему",
   "Log out": "Выйти",
   "Login": "Войти",
@@ -189,8 +202,10 @@
   "Moderated comments (shown after approval)": "Модерируемые комментарии (будут видны после одобрения)",
   "Moderation": "На модерации",
   "Moderation log": "Журнал модерации",
+  "Move": "Переместить",
   "My account": "Моя учётная запись",
   "My events": "Мои мероприятия",
+  "My groups": "Мои группы",
   "My identities": "Мои идентификаторы",
   "Name": "Имя",
   "New email": "Новый адрес электронной почты",
@@ -211,10 +226,12 @@
   "No instance to reject|Reject instance|Reject {number} instances": "Нет узлов для отклонения | Отклонить узел | Отклонить {number} узлов",
   "No instance to remove|Remove instance|Remove {number} instances": "Нет узлов для удаления | Удалить узел | Удалить {number} узлов",
   "No message": "Нет сообщений",
+  "No one is going to this event": "Никто не идёт на это мероприятие|Один человек пойдёт|{going} людей пойдут",
   "No open reports yet": "Пока нет открытых отчётов",
   "No participant to approve|Approve participant|Approve {number} participants": "Нет участников для одобрения | Принять участника | Принять {number} участников",
   "No participant to reject|Reject participant|Reject {number} participants": "Нет участников для отклонения | Отклонить участника | Отклонить {number} участников",
   "No resolved reports yet": "Решённых отчётов пока нет",
+  "No resources selected": "Ресурсы не выбраны|Выбран один ресурс|Выбрано {count} ресурсов",
   "No results for \"{queryText}\"": "Нет результатов по запросу \"{queryText}\"",
   "Notes": "Примечания",
   "Number of places": "Количество мест",
@@ -232,6 +249,7 @@
   "Organized": "Организованно",
   "Organized by {name}": "Организатор: {name}",
   "Organizer": "Организатор",
+  "Organizers": "Организаторы",
   "Other software may also support this.": "Другое программное обеспечение также может поддерживать это.",
   "Otherwise this identity will just be removed from the group administrators.": "В противном случае этот идентификатор будет удалён у администраторов группы.",
   "Page": "Страница",
@@ -248,6 +266,7 @@
   "Password reset": "Сброс пароля",
   "Past events": "Прошедшие мероприятия",
   "Pending": "В ожидании",
+  "Pick a group": "Выберите группу",
   "Pick an identity": "Выберите идентификатор",
   "Please check your spam folder if you didn't receive the email.": "Если вы не получили письмо, проверьте папку со спамом.",
   "Please contact this instance's Mobilizon admin if you think this is a mistake.": "Если вы считаете, что произошла ошибка, обратитесь к администратору этого узла.",
@@ -276,6 +295,7 @@
   "Registration is closed.": "Регистрация закрыта.",
   "Registration is currently closed.": "Регистрация на данный момент закрыта.",
   "Rejected": "Отклонено",
+  "Rename": "Переименовать",
   "Reopen": "Открыть заново",
   "Reply": "Ответ",
   "Report": "Отчёт",
@@ -323,6 +343,7 @@
   "The event organizer didn't add any description.": "Организатор мероприятия не добавил описания.",
   "The event organizer manually approves participations. Since you've chosen to participate without an account, please explain why you want to participate to this event.": "Организатор мероприятия утверждает участие вручную. Поскольку вы выбрали участие без учётной записи, объясните, почему вы хотите участвовать в этом мероприятии.",
   "The event title will be ellipsed.": "Название этого мероприятие сокращено троеточием.",
+  "The event will show the group as organizer.": "На мероприятии группа будет представлена как организатор.",
   "The page you're looking for doesn't exist.": "Страницы, которую вы ищете, не существует.",
   "The password was successfully changed": "Пароль был успешно изменен",
   "The report will be sent to the moderators of your instance. You can explain why you report this content below.": "Отчёт будет отправлен модераторам вашего узла. Вы можете объяснить причину своей жалобы ниже.",
@@ -331,6 +352,7 @@
   "There will be no way to recover your data.": "Восстановить ваши данные будет невозможно.",
   "These events may interest you": "Эти мероприятия могут вас заинтересовать",
   "This Mobilizon instance and this event organizer allows anonymous participations, but requires validation through email confirmation.": "Этот узел Mobilizon и этот организатор мероприятия допускают анонимное участие, но требуют подтверждения по электронной почте.",
+  "This identity is not a member of any group.": "Этот идентификатор не является членом какой-либо группы.",
   "This information is saved only on your computer. Click for details": "Эта информация сохраняется только на вашем компьютере. Нажмите, чтобы узнать подробности",
   "This instance isn't opened to registrations, but you can register on other instances.": "Этот узел не позволяет регистрироваться, но вы можете зарегистрироваться на других.",
   "This is a demonstration site to test Mobilizon.": "Это демонстрационная площадка для тестирования Mobilizon.",
@@ -347,6 +369,7 @@
   "Unknown actor": "Неизвестный актёр",
   "Unknown error.": "Неизвестная ошибка.",
   "Unsaved changes": "Несохранённые изменения",
+  "Unset group": "Отменить выбор группы",
   "Upcoming": "Предстоящие",
   "Update event {name}": "Обновить мероприятие {name}",
   "Update my event": "Обновить моё мероприятие",
@@ -363,6 +386,7 @@
   "Warning": "Предупреждение",
   "We just sent an email to {email}": "Мы отправили электронное письмо на адрес {email}",
   "We will redirect you to your instance in order to interact with this event": "Вы будете перенаправлены на свой узел, чтобы иметь возможность взаимодействовать с этим событием",
+  "Website": "Веб-сайт",
   "Website / URL": "Веб-сайт / URL",
   "Welcome back {username}!": "С возвращением, {username}!",
   "Welcome back!": "С возвращением!",
@@ -375,6 +399,43 @@
   "You can try another search term or drag and drop the marker on the map": "Вы можете попробовать другие критерии поиска или перетащить маркер на карту",
   "You don't follow any instances yet.": "Вы пока не подписаны ни на один узел.",
   "You have been disconnected": "Вы были отключены",
+  "You have been invited by {invitedBy} to the following group:": "Вы были приглашены пользователем {invitedBy} в следующую группу:",
   "You have cancelled your participation": "Вы отказались от участия",
-  "You have one event in {days} days.": "У вас нет мероприятий в течение {days} дней | У вас одно мероприятие в течении {days} дней | У вас {count} мероприятий в течении {days} дней"
+  "You have one event in {days} days.": "У вас нет мероприятий в течение {days} дней | У вас одно мероприятие в течении {days} дней | У вас {count} мероприятий в течении {days} дней",
+  "You have one event today.": "У вас сегодня нет мероприятий | У вас сегодня одно мероприятие. | У вас сегодня {count} мероприятий",
+  "You have one event tomorrow.": "Завтра у вас нет мероприятий | Завтра у вас одно мероприятие. | Завтра у вас {count} мероприятий",
+  "You need to create the group before you create an event.": "Перед созданием мероприятия вам необходимо создать группу.",
+  "You need to login.": "Вы должны авторизоваться.",
+  "You will be redirected to the original instance": "Вы будете перенаправлены на исходный узел",
+  "You wish to participate to the following event": "Вы хотите принять участие в следующем мероприятии",
+  "You'll receive a confirmation email.": "Вы получите электронное письмо с подтверждением.",
+  "Your account has been successfully deleted": "Ваша учетная запись была успешно удалена",
+  "Your account has been validated": "Ваша учетная запись была подтверждена",
+  "Your account is being validated": "Ваша учетная запись проверяется",
+  "Your account is nearly ready, {username}": "Ваш аккаунт почти готов, {username}",
+  "Your current email is {email}. You use it to log in.": "Ваш текущий адрес электронной почты{email}. Вы используете его для входа в систему.",
+  "Your email has been changed": "Ваш адрес электронной почты был изменен",
+  "Your email is being changed": "Ваш адрес электронной почты меняется",
+  "Your email will only be used to confirm that you're a real person and send you eventual updates for this event. It will NOT be transmitted to other instances or to the event organizer.": "Ваш адрес электронной почты будет использоваться только для подтверждения того, что вы настоящий человек, и для отправки вам возможных новостей об этом мероприятии. Он НЕ будет передан другим узлам или организатору мероприятия.",
+  "Your federated identity": "Ваш федеративный идентификатор",
+  "Your participation has been confirmed": "Ваше участие подтверждено",
+  "Your participation has been rejected": "Ваше участие было отклонено",
+  "Your participation has been requested": "Вы попросили принять участие",
+  "Your participation request has been validated": "Ваше участие подтверждено",
+  "Your participation request is being validated": "Ваше участие проверяется",
+  "Your participation status has been changed": "Ваш статус участия был изменен",
+  "[This comment has been deleted]": "[Этот комментарий был удалён]",
+  "[deleted]": "[удалено]",
+  "as {identity}": "как {identity}",
+  "default Mobilizon terms": "условия использования Mobilizon по умолчанию",
+  "e.g. 10 Rue Jangot": "например: Садовая 10",
+  "iCal Feed": "iCal лента",
+  "profile@instance": "профиль@узел",
+  "with another identity…": "с другим идентификатором…",
+  "{approved} / {total} seats": "{approved} / {total} мест",
+  "{available}/{capacity} available places": "Мест нет|{available}/{capacity} свободных мест",
+  "{count} participants": "Нет участников | Один участник | {count} участников",
+  "{count} requests waiting": "{count} ожидающих рассмотрения заявок",
+  "{title} ({count} todos)": "{title} ({count} незавершенных задач)",
+  "© The OpenStreetMap Contributors": "© Авторы OpenStreetMap"
 }