Преглед на файлове

Merge pull request #2 from wekan/master

newest version
ryan neal преди 4 години
родител
ревизия
9a2d3e15e8

+ 11 - 0
CHANGELOG.md

@@ -5,6 +5,17 @@ This release adds the following updates:
 - [Updated release scripts](https://github.com/wekan/wekan/commit/9f0f6841b01b88f5559724b047d5e245617a02c8).
   Thanks to xet7.
 
+and fixes the following bugs:
+
+- [Added missing PostgreSQL password to ToroDB](https://github.com/wekan/wekan/commit/995de525d96946702536f0cdcb98ef281b9df94e).
+  Thanks to xet7.
+- [Fixed language name of Deutsch (Schweiz)](https://github.com/wekan/wekan/commit/621c701bef1d09d4ddfc93be411cfad98869f0ae).
+  Thanks to urmel1960.
+- [Bugfix/Summernote on paste](https://github.com/wekan/wekan/pull/3761).
+  Thanks to ryanMushy.
+- [OpenAPI: Better handle nested schemas](https://github.com/wekan/wekan/pull/3762).
+  Thanks to bentiss.
+
 Thanks to above GitHub users for their contributions and translators for their translations.
 
 # v5.24 2021-04-24 Wekan release

+ 15 - 8
client/components/main/editor.js

@@ -145,6 +145,7 @@ Template.editor.onRendered(() => {
                 const MAX_IMAGE_PIXEL = Utils.MAX_IMAGE_PIXEL;
                 const COMPRESS_RATIO = Utils.IMAGE_COMPRESS_RATIO;
                 const insertImage = src => {
+                  // process all image upload types to the description/comment window
                   const img = document.createElement('img');
                   img.src = src;
                   img.setAttribute('width', '100%');
@@ -210,7 +211,16 @@ Template.editor.onRendered(() => {
                 }
               }
             },
-            onPaste() {
+            onPaste(e) {
+              var clipboardData = e.clipboardData;
+              var pastedData = clipboardData.getData('Text');
+
+              //if pasted data is an image, exit
+              if( !pastedData.length ){
+                e.preventDefault();
+                return;
+              }
+
               // clear up unwanted tag info when user pasted in text
               const thisNote = this;
               const updatePastedText = function(object) {
@@ -219,7 +229,7 @@ Template.editor.onRendered(() => {
                 // (and multiplies by pasting more) by changing paste "p" to "br".
                 // Fixes https://github.com/wekan/wekan/2890 .
                 // == Fix Start ==
-                someNote.execCommand('defaultParagraphSeparator', false, 'br');
+                //someNote.execCommand('defaultParagraphSeparator', false, 'br');
                 // == Fix End ==
                 const original = someNote.summernote('code');
                 const cleaned = cleanPastedHTML(original); //this is where to call whatever clean function you want. I have mine in a different file, called CleanPastedHTML.
@@ -231,19 +241,16 @@ Template.editor.onRendered(() => {
                 //the function is called before the text is really pasted.
                 updatePastedText(thisNote);
               }, 10);
-            },
+            }
           },
           dialogsInBody: true,
           spellCheck: true,
           disableGrammar: false,
-          disableDragAndDrop: true,
+          disableDragAndDrop: false,
           toolbar,
           popover: {
             image: [
-              [
-                'image',
-                ['resizeFull', 'resizeHalf', 'resizeQuarter', 'resizeNone'],
-              ],
+              ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']],
               ['float', ['floatLeft', 'floatRight', 'floatNone']],
               ['remove', ['removeMedia']],
             ],

+ 1 - 1
client/components/main/layouts.js

@@ -78,7 +78,7 @@ Template.userFormsLayout.helpers({
         // ar-EG = Arabic (Egypt), simply Masri (مَصرى, [ˈmɑsˤɾi], Egyptian, Masr refers to Cairo)
         name = 'مَصرى';
       } else if (lang.name === 'de-CH') {
-        name = 'Schwiizerdütsch';
+        name = 'Deutsch (Schweiz)';
       } else if (lang.name === 'fa-IR') {
         // fa-IR = Persian (Iran)
         name = 'فارسی/پارسی (ایران‎)';

+ 1 - 1
client/components/users/userHeader.js

@@ -175,7 +175,7 @@ Template.changeLanguagePopup.helpers({
         // fa-IR = Persian (Iran)
         name = 'فارسی/پارسی (ایران‎)';
       } else if (lang.name === 'de-CH') {
-        name = 'Schwiizerdütsch';
+        name = 'Deutsch (Schweiz)';
       } else if (lang.name === 'fr-BE') {
         name = 'Français (Belgique)';
       } else if (lang.name === 'fr-CA') {

+ 1009 - 1009
i18n/ru.i18n.json

@@ -1,1010 +1,1010 @@
 {
-    "accept": "Принять",
-    "act-activity-notify": "Уведомление о действиях участников",
-    "act-addAttachment": "прикрепил вложение __attachment__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-deleteAttachment": "удалил вложение __attachment__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-addSubtask": "добавил подзадачу __subtask__ для карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-addLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-addedLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-removeLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-removedLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-addChecklist": "добавил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-addChecklistItem": "добавил пункт __checklistItem__ в контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-removeChecklist": "удалил контрольный список __checklist__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-removeChecklistItem": "удалил пункт __checklistItem__ из контрольного списка __checkList__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-checkedItem": "отметил __checklistItem__ в контрольном списке __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-uncheckedItem": "снял __checklistItem__ в контрольном списке __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-completeChecklist": "завершил контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-uncompleteChecklist": "вновь открыл контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-addComment": "написал в карточке __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-editComment": "изменил комментарий в карточке __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-deleteComment": "удалил комментарий из карточки __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-createBoard": "создал доску __board__",
-    "act-createSwimlane": "создал дорожку __swimlane__ на доске __board__",
-    "act-createCard": "создал карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-createCustomField": "создал новое поле __customField__ на доске __board__\n",
-    "act-deleteCustomField": "удалил поле __customField__ с доски __board__",
-    "act-setCustomField": "изменил значение поля __customField__: __customFieldValue__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-createList": "добавил список __list__ на доску __board__",
-    "act-addBoardMember": "добавил участника __member__ на доску __board__",
-    "act-archivedBoard": "Доска __board__ перемещена в Архив",
-    "act-archivedCard": "Карточка __card__ из списка __list__ с дорожки __swimlane__ доски __board__ перемещена в Архив",
-    "act-archivedList": "Список __list__ на дорожке __swimlane__ доски __board__ перемещен в Архив",
-    "act-archivedSwimlane": "Дорожка __swimlane__ на доске __board__ перемещена в Архив",
-    "act-importBoard": "импортировал доску __board__",
-    "act-importCard": "импортировал карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
-    "act-importList": "импортировал список __list__ на дорожку __swimlane__ доски __board__",
-    "act-joinMember": "добавил участника __member__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-moveCard": "переместил карточку __card__ на доске __board__ из списка __oldList__ с дорожки __oldSwimlane__ в список __list__ на дорожку __swimlane__",
-    "act-moveCardToOtherBoard": "переместил карточку __card__ из списка __oldList__ с дорожки __oldSwimlane__ доски __oldBoard__ в список __list__ на дорожку __swimlane__ доски __board__",
-    "act-removeBoardMember": "удалил участника __member__ с доски __board__",
-    "act-restoredCard": "восстановил карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
-    "act-unjoinMember": "удалил участника __member__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "act-withBoardTitle": "__board__",
-    "act-withCardTitle": "[__board__] __card__",
-    "actions": "Действия",
-    "activities": "История действий",
-    "activity": "Действия участников",
-    "activity-added": "добавил %s на %s",
-    "activity-archived": "%s теперь в Архиве",
-    "activity-attached": "прикрепил %s к %s",
-    "activity-created": "создал %s",
-    "activity-customfield-created": "создал настраиваемое поле %s",
-    "activity-excluded": "исключил %s из %s",
-    "activity-imported": "импортировал %s в %s из %s",
-    "activity-imported-board": "импортировал %s из %s",
-    "activity-joined": "присоединился к %s",
-    "activity-moved": "переместил %s из %s в %s",
-    "activity-on": "%s",
-    "activity-removed": "удалил %s из %s",
-    "activity-sent": "отправил %s в %s",
-    "activity-unjoined": "вышел из %s",
-    "activity-subtask-added": "добавил подзадачу в %s",
-    "activity-checked-item": "отметил %s в контрольном списке %s в %s",
-    "activity-unchecked-item": "снял %s в контрольном списке %s в %s",
-    "activity-checklist-added": "добавил контрольный список в %s",
-    "activity-checklist-removed": "удалил контрольный список из %s",
-    "activity-checklist-completed": "завершил контрольный список %s в %s",
-    "activity-checklist-uncompleted": "вновь открыл контрольный список %s в %s",
-    "activity-checklist-item-added": "добавил пункт в контрольный список '%s' в карточке %s",
-    "activity-checklist-item-removed": "удалил пункт из контрольного списка '%s' в карточке %s",
-    "add": "Создать",
-    "activity-checked-item-card": "отметил %s в контрольном списке %s",
-    "activity-unchecked-item-card": "снял %s в контрольном списке %s",
-    "activity-checklist-completed-card": "завершил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
-    "activity-checklist-uncompleted-card": "вновь открыл контрольный список %s",
-    "activity-editComment": "отредактировал комментарий %s",
-    "activity-deleteComment": "удалил комментарий %s",
-    "activity-receivedDate": "отредактировал дату получения на %sс %s",
-    "activity-startDate": "отредактировал дату начала на %sс %s",
-    "activity-dueDate": "отредактировал срок исполнения на %s с %s",
-    "activity-endDate": "отредактировал дату завершения на %s с %s",
-    "add-attachment": "Добавить вложение",
-    "add-board": "Добавить доску",
-    "add-card": "Добавить карточку",
-    "add-swimlane": "Добавить дорожку",
-    "add-subtask": "Добавить подзадачу",
-    "add-checklist": "Добавить контрольный список",
-    "add-checklist-item": "Добавить пункт в контрольный список",
-    "add-cover": "Прикрепить",
-    "add-label": "Добавить метку",
-    "add-list": "Добавить простой список",
-    "add-members": "Добавить участника",
-    "added": "Добавлено",
-    "addMemberPopup-title": "Участники",
-    "admin": "Администратор",
-    "admin-desc": "Может просматривать и редактировать карточки, удалять участников и управлять настройками доски.",
-    "admin-announcement": "Объявление",
-    "admin-announcement-active": "Действующее общесистемное объявление",
-    "admin-announcement-title": "Объявление от Администратора",
-    "all-boards": "Все доски",
-    "and-n-other-card": "И __count__ другая карточка",
-    "and-n-other-card_plural": "И __count__ другие карточки",
-    "apply": "Применить",
-    "app-is-offline": "Идет загрузка, подождите. Обновление страницы приведет к потере данных. Если загрузка не происходит, проверьте работоспособность сервера.",
-    "archive": "Переместить в архив",
-    "archive-all": "Переместить всё в архив",
-    "archive-board": "Переместить доску в архив",
-    "archive-card": "Переместить карточку в архив",
-    "archive-list": "Переместить список в архив",
-    "archive-swimlane": "Переместить дорожку в архив",
-    "archive-selection": "Переместить выбранное в архив",
-    "archiveBoardPopup-title": "Переместить доску в архив?",
-    "archived-items": "Архив",
-    "archived-boards": "Доски в архиве",
-    "restore-board": "Востановить доску",
-    "no-archived-boards": "Нет досок в архиве.",
-    "archives": "Архив",
-    "template": "Шаблон",
-    "templates": "Шаблоны",
-    "assign-member": "Назначить участника",
-    "attached": "прикреплено",
-    "attachment": "Вложение",
-    "attachment-delete-pop": "Если удалить вложение, его нельзя будет восстановить.",
-    "attachmentDeletePopup-title": "Удалить вложение?",
-    "attachments": "Вложения",
-    "auto-watch": "Автоматически следить за созданными досками",
-    "avatar-too-big": "Аватар слишком большой (максимум 520КБ)",
-    "back": "Назад",
-    "board-change-color": "Изменить цвет",
-    "board-nb-stars": "%s избранное",
-    "board-not-found": "Доска не найдена",
-    "board-private-info": "Это доска будет <strong>частной</strong>.",
-    "board-public-info": "Эта доска будет <strong>доступной всем</strong>.",
-    "boardChangeColorPopup-title": "Изменить фон доски",
-    "boardChangeTitlePopup-title": "Переименовать доску",
-    "boardChangeVisibilityPopup-title": "Изменить настройки видимости",
-    "boardChangeWatchPopup-title": "Режимы оповещения",
-    "boardMenuPopup-title": "Настройки доски",
-    "boardChangeViewPopup-title": "Вид доски",
-    "boards": "Доски",
-    "board-view": "Вид доски",
-    "board-view-cal": "Календарь",
-    "board-view-swimlanes": "Дорожки",
-    "board-view-collapse": "Свернуть",
-    "board-view-gantt": "Диаграмма Ганта",
-    "board-view-lists": "Списки",
-    "bucket-example": "Например “Список дел”",
-    "cancel": "Отмена",
-    "card-archived": "Эта карточка перемещена в архив",
-    "board-archived": "Эта доска перемещена в архив.",
-    "card-comments-title": "Комментарии (%s)",
-    "card-delete-notice": "Это действие невозможно будет отменить. Все изменения, которые вы вносили в карточку будут потеряны.",
-    "card-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете заново открыть карточку. Действие необратимо",
-    "card-delete-suggest-archive": "Вы можете переместить карточку в архив, чтобы убрать ее с доски, сохранив всю историю действий участников.",
-    "card-due": "Выполнить к",
-    "card-due-on": "Выполнить до",
-    "card-spent": "Затраченное время",
-    "card-edit-attachments": "Изменить вложения",
-    "card-edit-custom-fields": "Редактировать настраиваемые поля",
-    "card-edit-labels": "Изменить метку",
-    "card-edit-members": "Изменить участников",
-    "card-labels-title": "Изменить метки для этой карточки.",
-    "card-members-title": "Добавить или удалить с карточки участников доски.",
-    "card-start": "В работе с",
-    "card-start-on": "Начнётся с",
-    "cardAttachmentsPopup-title": "Прикрепить из",
-    "cardCustomField-datePopup-title": "Изменить дату",
-    "cardCustomFieldsPopup-title": "редактировать настраиваемые поля",
-    "cardStartVotingPopup-title": "Голосовать",
-    "positiveVoteMembersPopup-title": "Сторонники",
-    "negativeVoteMembersPopup-title": "Противники",
-    "card-edit-voting": "Редактировать голосование",
-    "editVoteEndDatePopup-title": "Изменить дату окончания голосования",
-    "allowNonBoardMembers": "Разрешить всем авторизованным пользователям ",
-    "vote-question": "Вопрос для голосования",
-    "vote-public": "Показать кто как голосовал",
-    "vote-for-it": "за",
-    "vote-against": "против",
-    "deleteVotePopup-title": "Удалить голосование?",
-    "vote-delete-pop": "Это действие невозможно будет отменить. Все связанные с голосованием действия будут потеряны.",
-    "cardDeletePopup-title": "Удалить карточку?",
-    "cardDetailsActionsPopup-title": "Действия в карточке",
-    "cardLabelsPopup-title": "Метки",
-    "cardMembersPopup-title": "Участники",
-    "cardMorePopup-title": "Поделиться",
-    "cardTemplatePopup-title": "Создать шаблон",
-    "cards": "Карточки",
-    "cards-count": "Карточки",
-    "casSignIn": "Войти через CAS",
-    "cardType-card": "Карточка",
-    "cardType-linkedCard": "Связанная карточка",
-    "cardType-linkedBoard": "Связанная доска",
-    "change": "Изменить",
-    "change-avatar": "Изменить аватар",
-    "change-password": "Изменить пароль",
-    "change-permissions": "Изменить права доступа",
-    "change-settings": "Изменить настройки",
-    "changeAvatarPopup-title": "Изменить аватар",
-    "changeLanguagePopup-title": "Сменить язык",
-    "changePasswordPopup-title": "Изменить пароль",
-    "changePermissionsPopup-title": "Изменить настройки доступа",
-    "changeSettingsPopup-title": "Изменить Настройки",
-    "subtasks": "Подзадачи",
-    "checklists": "Контрольные списки",
-    "click-to-star": "Добавить в  «Избранное»",
-    "click-to-unstar": "Удалить из «Избранного»",
-    "clipboard": "Буфер обмена или drag & drop",
-    "close": "Закрыть",
-    "close-board": "Закрыть доску",
-    "close-board-pop": "Вы сможете восстановить доску, нажав \"Архив\" в заголовке домашней страницы.",
-    "color-black": "черный",
-    "color-blue": "синий",
-    "color-crimson": "малиновый",
-    "color-darkgreen": "темно-зеленый",
-    "color-gold": "золотой",
-    "color-gray": "серый",
-    "color-green": "зеленый",
-    "color-indigo": "индиго",
-    "color-lime": "лимоновый",
-    "color-magenta": "маджента",
-    "color-mistyrose": "тускло-розовый",
-    "color-navy": "темно-синий",
-    "color-orange": "оранжевый",
-    "color-paleturquoise": "бледно-бирюзовый",
-    "color-peachpuff": "персиковый",
-    "color-pink": "розовый",
-    "color-plum": "сливовый",
-    "color-purple": "фиолетовый",
-    "color-red": "красный",
-    "color-saddlebrown": "кожано-коричневый",
-    "color-silver": "серебристый",
-    "color-sky": "голубой",
-    "color-slateblue": "серо-голубой",
-    "color-white": "белый",
-    "color-yellow": "желтый",
-    "unset-color": "Убрать",
-    "comment": "Добавить комментарий",
-    "comment-placeholder": "Написать комментарий",
-    "comment-only": "Только комментирование",
-    "comment-only-desc": "Может комментировать только карточки.",
-    "no-comments": "Без комментариев",
-    "no-comments-desc": "Не видит комментарии и историю действий.",
-    "worker": "Исполнитель",
-    "worker-desc": "Может перемещать карточки, отмечаться как исполнитель и оставлять комментарии",
-    "computer": "Загрузить с компьютера",
-    "confirm-subtask-delete-dialog": "Вы уверены, что хотите удалить подзадачу?",
-    "confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?",
-    "copy-card-link-to-clipboard": "Копировать ссылку на карточку в буфер обмена",
-    "linkCardPopup-title": "Карточка-ссылка",
-    "searchElementPopup-title": "Поиск",
-    "copyCardPopup-title": "Копировать карточку",
-    "copyChecklistToManyCardsPopup-title": "Копировать шаблон контрольного списка в несколько карточек",
-    "copyChecklistToManyCardsPopup-instructions": "Названия и описания целевых карт в формате JSON",
-    "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Название первой карточки\", \"description\":\"Описание первой карточки\"}, {\"title\":\"Название второй карточки\",\"description\":\"Описание второй карточки\"},{\"title\":\"Название последней карточки\",\"description\":\"Описание последней карточки\"} ]",
-    "create": "Создать",
-    "createBoardPopup-title": "Создать доску",
-    "chooseBoardSourcePopup-title": "Импортировать доску",
-    "createLabelPopup-title": "Создать метку",
-    "createCustomField": "Создать поле",
-    "createCustomFieldPopup-title": "Создать поле",
-    "current": "текущий",
-    "custom-field-delete-pop": "Отменить нельзя. Это удалит настраиваемое поле со всех карт и уничтожит его историю.",
-    "custom-field-checkbox": "Галочка",
-    "custom-field-currency": "Валюта",
-    "custom-field-currency-option": "Код валюты",
-    "custom-field-date": "Дата",
-    "custom-field-dropdown": "Выпадающий список",
-    "custom-field-dropdown-none": "(нет)",
-    "custom-field-dropdown-options": "Параметры списка",
-    "custom-field-dropdown-options-placeholder": "Нажмите «Ввод», чтобы добавить дополнительные параметры.",
-    "custom-field-dropdown-unknown": "(неизвестно)",
-    "custom-field-number": "Номер",
-    "custom-field-text": "Текст",
-    "custom-fields": "Настраиваемые поля",
-    "date": "Дата",
-    "decline": "Отклонить",
-    "default-avatar": "Аватар по умолчанию",
-    "delete": "Удалить",
-    "deleteCustomFieldPopup-title": "Удалить настраиваемые поля?",
-    "deleteLabelPopup-title": "Удалить метку?",
-    "description": "Описание",
-    "disambiguateMultiLabelPopup-title": "Разрешить конфликт меток",
-    "disambiguateMultiMemberPopup-title": "Разрешить конфликт участников",
-    "discard": "Отказать",
-    "done": "Готово",
-    "download": "Скачать",
-    "edit": "Редактировать",
-    "edit-avatar": "Изменить аватар",
-    "edit-profile": "Изменить профиль",
-    "edit-wip-limit": "Изменить лимит на кол-во задач",
-    "soft-wip-limit": "Мягкий лимит",
-    "editCardStartDatePopup-title": "Изменить дату начала",
-    "editCardDueDatePopup-title": "Изменить дату выполнения",
-    "editCustomFieldPopup-title": "Редактировать поле",
-    "editCardSpentTimePopup-title": "Изменить затраченное время",
-    "editLabelPopup-title": "Изменить метки",
-    "editNotificationPopup-title": "Редактировать уведомления",
-    "editProfilePopup-title": "Редактировать профиль",
-    "email": "Эл.почта",
-    "email-enrollAccount-subject": "Аккаунт создан для вас здесь __url__",
-    "email-enrollAccount-text": "Привет __user__,\n\nДля того, чтобы начать использовать сервис, просто нажми на ссылку ниже.\n\n__url__\n\nСпасибо.",
-    "email-fail": "Отправка письма на EMail не удалась",
-    "email-fail-text": "Ошибка при попытке отправить письмо",
-    "email-invalid": "Неверный адрес электронной почты",
-    "email-invite": "Пригласить по электронной почте",
-    "email-invite-subject": "__inviter__ прислал вам приглашение",
-    "email-invite-text": "Дорогой __user__,\n\n__inviter__ пригласил вас присоединиться к доске \"__board__\" для сотрудничества.\n\nПожалуйста проследуйте по ссылке ниже:\n\n__url__\n\nСпасибо.",
-    "email-resetPassword-subject": "Перейдите по ссылке, чтобы сбросить пароль __url__",
-    "email-resetPassword-text": "Привет __user__,\n\nДля сброса пароля перейдите по ссылке ниже.\n\n__url__\n\nThanks.",
-    "email-sent": "Письмо отправлено",
-    "email-verifyEmail-subject": "Подтвердите вашу эл.почту перейдя по ссылке __url__",
-    "email-verifyEmail-text": "Привет __user__,\n\nДля подтверждения вашей электронной почты перейдите по ссылке ниже.\n\n__url__\n\nСпасибо.",
-    "enable-wip-limit": "Включить лимит на кол-во задач",
-    "error-board-doesNotExist": "Доска не найдена",
-    "error-board-notAdmin": "Вы должны обладать правами администратора этой доски, чтобы сделать это",
-    "error-board-notAMember": "Вы должны быть участником доски, чтобы сделать это",
-    "error-json-malformed": "Ваше текст не является правильным JSON",
-    "error-json-schema": "Содержимое вашего JSON не содержит информацию в корректном формате",
-    "error-csv-schema": "Ваши данные CSV (с разделителями запятой)/TSV (с разделителями табулятором) не содержат информации в корректном формате",
-    "error-list-doesNotExist": "Список не найден",
-    "error-user-doesNotExist": "Пользователь не найден",
-    "error-user-notAllowSelf": "Вы не можете пригласить себя",
-    "error-user-notCreated": "Пользователь не создан",
-    "error-username-taken": "Это имя пользователя уже занято",
-    "error-orgname-taken": "Это название организации уже занято",
-    "error-teamname-taken": "Это название команды уже занято",
-    "error-email-taken": "Этот адрес уже занят",
-    "export-board": "Экспортировать доску",
-    "export-board-json": "Экспортировать доску в JSON",
-    "export-board-csv": "Экспортировать доску в CSV",
-    "export-board-tsv": "Экспортировать доску в TSV",
-    "export-board-excel": "Экспортировать доску в Excel",
-    "user-can-not-export-excel": "Пользователь не может экспортировать в Excel",
-    "export-board-html": "Экспортировать доску в HTML",
-    "exportBoardPopup-title": "Экспортировать доску",
-    "sort": "Сортировать",
-    "sort-desc": "Нажмите, чтобы отсортировать список",
-    "list-sort-by": "Сортировать список по:",
-    "list-label-modifiedAt": "Время последнего доступа",
-    "list-label-title": "Название списка",
-    "list-label-sort": "Установленный вами порядок",
-    "list-label-short-modifiedAt": "(L)",
-    "list-label-short-title": "(N)",
-    "list-label-short-sort": "(M)",
-    "filter": "Фильтр",
-    "filter-cards": "Фильтр Карточек или Списков",
-    "filter-dates-label": "Filter by date",
-    "filter-no-due-date": "No due date",
-    "filter-overdue": "Overdue",
-    "filter-due-today": "Due today",
-    "filter-due-this-week": "Due this week",
-    "filter-due-tomorrow": "Due tomorrow",
-    "list-filter-label": "Фильтровать Список по Названию",
-    "filter-clear": "Очистить фильтр",
-    "filter-labels-label": "Фильтр по метке",
-    "filter-no-label": "Нет метки",
-    "filter-member-label": "Фильтр по участнику",
-    "filter-no-member": "Нет участников",
-    "filter-assignee-label": "Фильтр по исполнителю",
-    "filter-no-assignee": "Не применимо",
-    "filter-custom-fields-label": "Фильтр по пользовательскому полю",
-    "filter-no-custom-fields": "Нет настраиваемых полей",
-    "filter-show-archive": "Показать архивные списки",
-    "filter-hide-empty": "Скрыть пустые списки",
-    "filter-on": "Включен фильтр",
-    "filter-on-desc": "Показываются карточки, соответствующие настройкам фильтра. Нажмите для редактирования.",
-    "filter-to-selection": "Filter to selection",
-    "other-filters-label": "Другие фильтры",
-    "advanced-filter-label": "Расширенный фильтр",
-    "advanced-filter-description": "Расширенный фильтр позволяет написать строку, содержащую следующие операторы: == != <= >= && || ( ) Пробел используется как разделитель между операторами. Можно фильтровать все настраиваемые поля, вводя их имена и значения. Например: Поле1 == Значение1. Примечание. Если поля или значения содержат пробелы, нужно взять их в одинарные кавычки. Например: 'Поле 1' == 'Значение 1'. Для одиночных управляющих символов (' \\/), которые нужно пропустить, следует использовать \\. Например: Field1 = I\\'m. Также  можно комбинировать несколько условий. Например: F1 == V1 || F1 == V2. Обычно все операторы интерпретируются слева направо, но можно изменить порядок, разместив скобки. Например: F1 == V1 && (F2 == V2 || F2 == V3). Также можно искать текстовые поля с помощью регулярных выражений: F1 == /Tes.*/i",
-    "fullname": "Полное имя",
-    "header-logo-title": "Вернуться к доскам.",
-    "hide-system-messages": "Скрыть системные сообщения",
-    "headerBarCreateBoardPopup-title": "Создать доску",
-    "home": "Главная",
-    "import": "Импорт",
-    "impersonate-user": "Деперсонифицировать пользователя",
-    "link": "Ссылка",
-    "import-board": "импортировать доску",
-    "import-board-c": "Импортировать доску",
-    "import-board-title-trello": "Импортировать доску из Trello",
-    "import-board-title-wekan": "Импортировать доску, сохраненную ранее.",
-    "import-board-title-csv": "Импортировать доску из CSV/TSV",
-    "from-trello": "Из Trello",
-    "from-wekan": "Сохраненную ранее",
-    "from-csv": "Из CSV/TSV",
-    "import-board-instruction-trello": "На вашей Trello доске нажмите “Menu” - “More” - “Print and export - “Export JSON” и скопируйте полученный текст",
-    "import-board-instruction-csv": "Вставка CSV/TSV данных",
-    "import-board-instruction-wekan": "На вашей доске перейдите в “Меню”, далее “Экспортировать доску” и скопируйте текст из скачаного файла",
-    "import-board-instruction-about-errors": "Даже если при импорте возникли ошибки, иногда импортирование проходит успешно – тогда доска появится на странице «Все доски».",
-    "import-json-placeholder": "Вставьте JSON сюда",
-    "import-csv-placeholder": "Вставьте CSV/TSV сюда",
-    "import-map-members": "Составить карту участников",
-    "import-members-map": "Вы импортировали доску с участниками. Пожалуйста, отметьте участников, которых вы хотите импортировать в качестве пользователей",
-    "import-members-map-note": "Внимание: участники без установленного соответствия будут назначены текущему пользователю. ",
-    "import-show-user-mapping": "Проверить карту участников",
-    "import-user-select": "Выберите существующего пользователя, которого вы хотите использовать в качестве участника",
-    "importMapMembersAddPopup-title": "Выбрать участника",
-    "info": "Версия",
-    "initials": "Инициалы",
-    "invalid-date": "Неверная дата",
-    "invalid-time": "Некорректное время",
-    "invalid-user": "Неверный пользователь",
-    "joined": "вступил",
-    "just-invited": "Вас только что пригласили на эту доску",
-    "keyboard-shortcuts": "Сочетания клавиш",
-    "label-create": "Создать метку",
-    "label-default": "%s (по умолчанию)",
-    "label-delete-pop": "Это действие невозможно будет отменить. Эта метка будут удалена во всех карточках. Также будет удалена вся история этой метки.",
-    "labels": "Метки",
-    "language": "Язык",
-    "last-admin-desc": "Вы не можете изменять роли, для этого требуются права администратора.",
-    "leave-board": "Покинуть доску",
-    "leave-board-pop": "Вы уверенны, что хотите покинуть __boardTitle__? Вы будете удалены из всех карточек на этой доске.",
-    "leaveBoardPopup-title": "Покинуть доску?",
-    "link-card": "Доступна по ссылке",
-    "list-archive-cards": "Переместить все карточки в этом списке в Архив",
-    "list-archive-cards-pop": "Это действие удалит все карточки из этого списка с доски. Чтобы просмотреть карточки в Архиве и вернуть их на доску, нажмите “Меню” > “Архив”.",
-    "list-move-cards": "Переместить все карточки в этом списке",
-    "list-select-cards": "Выбрать все карточки в этом списке",
-    "set-color-list": "Задать цвет",
-    "listActionPopup-title": "Список действий",
-    "settingsUserPopup-title": "Пользовательские настройки",
-    "swimlaneActionPopup-title": "Действия с дорожкой",
-    "swimlaneAddPopup-title": "Добавить дорожку ниже",
-    "listImportCardPopup-title": "Импортировать Trello карточку",
-    "listImportCardsTsvPopup-title": "Импорт CSV/TSV из Excel",
-    "listMorePopup-title": "Поделиться",
-    "link-list": "Ссылка на список",
-    "list-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить список. Данное действие необратимо.",
-    "list-delete-suggest-archive": "Вы можете отправить список в Архив, чтобы убрать его с доски и при этом сохранить результаты.",
-    "lists": "Списки",
-    "swimlanes": "Дорожки",
-    "log-out": "Выйти",
-    "log-in": "Войти",
-    "loginPopup-title": "Войти",
-    "memberMenuPopup-title": "Настройки участника",
-    "members": "Участники",
-    "menu": "Меню",
-    "move-selection": "Переместить выделение",
-    "moveCardPopup-title": "Переместить карточку",
-    "moveCardToBottom-title": "Переместить вниз",
-    "moveCardToTop-title": "Переместить вверх",
-    "moveSelectionPopup-title": "Переместить выделение",
-    "multi-selection": "Выбрать несколько",
-    "multi-selection-label": "Задать метку для отмеченного",
-    "multi-selection-member": "Задать участника для отмеченного",
-    "multi-selection-on": "Выбрать несколько из",
-    "muted": "Не беспокоить",
-    "muted-info": "Вы НИКОГДА не будете уведомлены ни о каких изменениях в этой доске.",
-    "my-boards": "Мои доски",
-    "name": "Имя",
-    "no-archived-cards": "Нет карточек в Архиве",
-    "no-archived-lists": "Нет списков в Архиве",
-    "no-archived-swimlanes": "Нет дорожек в Архиве",
-    "no-results": "Ничего не найдено",
-    "normal": "Обычный",
-    "normal-desc": "Может редактировать карточки. Не может управлять настройками.",
-    "not-accepted-yet": "Приглашение еще не принято",
-    "notify-participate": "Получать обновления по любым карточкам, которые вы создавали или участником которых являетесь.",
-    "notify-watch": "Получать обновления по любым доскам, спискам и карточкам, на которые вы подписаны как наблюдатель.",
-    "optional": "не обязательно",
-    "or": "или",
-    "page-maybe-private": "Возможно, эта страница скрыта от незарегистрированных пользователей. Попробуйте <a href='%s'>войти на сайт</a>.",
-    "page-not-found": "Страница не найдена.",
-    "password": "Пароль",
-    "paste-or-dragdrop": "вставьте, или перетащите файл с изображением сюда (только графический файл)",
-    "participating": "Участвую",
-    "preview": "Предпросмотр",
-    "previewAttachedImagePopup-title": "Предпросмотр",
-    "previewClipboardImagePopup-title": "Предпросмотр",
-    "private": "Закрытая",
-    "private-desc": "Эта доска с ограниченным доступом. Только участники могут работать с ней.",
-    "profile": "Профиль",
-    "public": "Открытая",
-    "public-desc": "Эта доска может быть видна всем у кого есть ссылка. Также может быть проиндексирована поисковыми системами. Вносить изменения могут только участники.",
-    "quick-access-description": "Нажмите на звезду, что добавить ярлык доски на панель.",
-    "remove-cover": "Открепить",
-    "remove-from-board": "Удалить с доски",
-    "remove-label": "Удалить метку",
-    "listDeletePopup-title": "Удалить список?",
-    "remove-member": "Удалить участника",
-    "remove-member-from-card": "Удалить из карточки",
-    "remove-member-pop": "Удалить участника __name__ (__username__) из доски __boardTitle__? Участник будет удален из всех карточек на этой доске. Также он получит уведомление о совершаемом действии.",
-    "removeMemberPopup-title": "Удалить участника?",
-    "rename": "Переименовать",
-    "rename-board": "Переименовать доску",
-    "restore": "Восстановить",
-    "save": "Сохранить",
-    "search": "Поиск",
-    "rules": "Правила",
-    "search-cards": "Поиск в названиях карточек/списков, описаниях и пользовательских полях на этой доске",
-    "search-example": "Введите текст, который ищете, и нажмите Ввод.",
-    "select-color": "Выбрать цвет",
-    "select-board": "Выбрать доску",
-    "set-wip-limit-value": "Устанавливает ограничение на максимальное количество задач в этом списке",
-    "setWipLimitPopup-title": "Задать лимит на кол-во задач",
-    "shortcut-assign-self": "Связать себя с текущей карточкой",
-    "shortcut-autocomplete-emoji": "Автозаполнение emoji",
-    "shortcut-autocomplete-members": "Автозаполнение участников",
-    "shortcut-clear-filters": "Сбросить все фильтры",
-    "shortcut-close-dialog": "Закрыть диалог",
-    "shortcut-filter-my-cards": "Показать мои карточки",
-    "shortcut-show-shortcuts": "Поднять список ярлыков",
-    "shortcut-toggle-filterbar": "Переместить фильтр на бововую панель",
-    "shortcut-toggle-searchbar": "Включить/выключить боковую панель поиска",
-    "shortcut-toggle-sidebar": "Переместить доску на боковую панель",
-    "show-cards-minimum-count": "Показывать количество карточек если их больше",
-    "sidebar-open": "Открыть Панель",
-    "sidebar-close": "Скрыть Панель",
-    "signupPopup-title": "Создать учетную запись",
-    "star-board-title": "Добавить в «Избранное». Эта доска будет всегда на виду.",
-    "starred-boards": "Добавленные в «Избранное»",
-    "starred-boards-description": "Избранные доски будут всегда вверху списка.",
-    "subscribe": "Подписаться",
-    "team": "Участники",
-    "this-board": "эту доску",
-    "this-card": "текущая карточка",
-    "spent-time-hours": "Затраченное время (в часах)",
-    "overtime-hours": "Переработка (в часах)",
-    "overtime": "Переработка",
-    "has-overtime-cards": "Имеются карточки с переработкой",
-    "has-spenttime-cards": "Имеются карточки с учетом затраченного времени",
-    "time": "Время",
-    "title": "Название",
-    "tracking": "Отслеживание",
-    "tracking-info": "Вы будете уведомлены о любых изменениях в тех карточках, в которых вы являетесь создателем или участником.",
-    "type": "Тип",
-    "unassign-member": "Отменить назначение участника",
-    "unsaved-description": "У вас есть несохраненное описание.",
-    "unwatch": "Перестать следить",
-    "upload": "Загрузить",
-    "upload-avatar": "Загрузить аватар",
-    "uploaded-avatar": "Загруженный аватар",
-    "custom-top-left-corner-logo-image-url": "URL пользовательского изображения в левом верхнем углу",
-    "custom-top-left-corner-logo-link-url": "URL ссылки с пользовательского изображения в левом верхнем углу",
-    "custom-top-left-corner-logo-height": "Задать высоту логотипа в верхнем левом углу. По умолчанию 27",
-    "custom-login-logo-image-url": "URL пользовательского изображения при входе",
-    "custom-login-logo-link-url": "URL ссылки с пользовательского изображения при входе",
-    "text-below-custom-login-logo": "Текст под пользовательским изображением при входе",
-    "automatic-linked-url-schemes": "Пользовательская URL схема, которая должна быть кликабельной. Одна схема в каждой строке.",
-    "username": "Имя пользователя",
-    "import-usernames": "Импорт имен пользователей",
-    "view-it": "Просмотреть",
-    "warn-list-archived": "внимание: эта карточка из списка, который находится в Архиве",
-    "watch": "Следить",
-    "watching": "Полный контроль",
-    "watching-info": "Вы будете уведомлены об любых изменениях в этой доске.",
-    "welcome-board": "Приветственная Доска",
-    "welcome-swimlane": "Этап 1",
-    "welcome-list1": "Основы",
-    "welcome-list2": "Расширенно",
-    "card-templates-swimlane": "Шаблоны карточек",
-    "list-templates-swimlane": "Шаблоны списков",
-    "board-templates-swimlane": "Шаблоны доски",
-    "what-to-do": "Что вы хотите сделать?",
-    "wipLimitErrorPopup-title": "Некорректный лимит на кол-во задач",
-    "wipLimitErrorPopup-dialog-pt1": "Количество задач в этом списке превышает установленный вами лимит",
-    "wipLimitErrorPopup-dialog-pt2": "Пожалуйста, перенесите некоторые задачи из этого списка или увеличьте лимит на кол-во задач",
-    "admin-panel": "Административная Панель",
-    "settings": "Настройки",
-    "people": "Люди",
-    "registration": "Регистрация",
-    "disable-self-registration": "Отключить самостоятельную регистрацию",
-    "invite": "Пригласить",
-    "invite-people": "Пригласить людей",
-    "to-boards": "В Доску(и)",
-    "email-addresses": "Email адрес",
-    "smtp-host-description": "Адрес SMTP сервера, который отправляет ваши электронные письма.",
-    "smtp-port-description": "Порт который SMTP-сервер использует для исходящих сообщений.",
-    "smtp-tls-description": "Включить поддержку TLS для SMTP сервера",
-    "smtp-host": "SMTP Хост",
-    "smtp-port": "SMTP Порт",
-    "smtp-username": "Имя пользователя",
-    "smtp-password": "Пароль",
-    "smtp-tls": "Поддержка TLS",
-    "send-from": "От",
-    "send-smtp-test": "Отправьте тестовое письмо себе",
-    "invitation-code": "Код приглашения",
-    "email-invite-register-subject": "__inviter__ прислал вам приглашение",
-    "email-invite-register-text": "Уважаемый __user__,\n\n__inviter__ приглашает вас использовать канбан-доску для совместной работы.\n\nПожалуйста, проследуйте по ссылке:\n__url__\n\nКод вашего приглашения: __icode__\n\nСпасибо.",
-    "email-smtp-test-subject": "Тестовое письмо SMTP",
-    "email-smtp-test-text": "Вы успешно отправили письмо",
-    "error-invitation-code-not-exist": "Код приглашения не существует",
-    "error-notAuthorized": "У вас нет доступа на просмотр этой страницы.",
-    "webhook-title": "Имя Веб-Хука",
-    "webhook-token": "Токен (Опционально для аутентификации)",
-    "outgoing-webhooks": "Исходящие Веб-Хуки",
-    "bidirectional-webhooks": "Двунаправленный Веб-Хук",
-    "outgoingWebhooksPopup-title": "Исходящие Веб-Хуки",
-    "boardCardTitlePopup-title": "Фильтр названий карточек",
-    "disable-webhook": "Отключить этот Веб-Хук",
-    "global-webhook": "Глобальные Веб-Хуки",
-    "new-outgoing-webhook": "Новый исходящий Веб-Хук",
-    "no-name": "(Неизвестный)",
-    "Node_version": "Версия NodeJS",
-    "Meteor_version": "Версия Meteor",
-    "MongoDB_version": "Версия MongoDB",
-    "MongoDB_storage_engine": "Движок хранилища MongoDB",
-    "MongoDB_Oplog_enabled": "MongoDB Oplog включен",
-    "OS_Arch": "Архитектура",
-    "OS_Cpus": "Количество процессоров",
-    "OS_Freemem": "Свободная память",
-    "OS_Loadavg": "Средняя загрузка",
-    "OS_Platform": "Платформа",
-    "OS_Release": "Версия ядра",
-    "OS_Totalmem": "Общая память",
-    "OS_Type": "Тип ОС",
-    "OS_Uptime": "Время работы",
-    "days": "дней",
-    "hours": "часы",
-    "minutes": "минуты",
-    "seconds": "секунды",
-    "show-field-on-card": "Показать это поле на карточке",
-    "automatically-field-on-card": "Добавить поле на новую карточку",
-    "always-field-on-card": "Добавить поле на все карточки",
-    "showLabel-field-on-card": "Показать имя поля на карточке",
-    "yes": "Да",
-    "no": "Нет",
-    "accounts": "Учетные записи",
-    "accounts-allowEmailChange": "Разрешить изменение электронной почты",
-    "accounts-allowUserNameChange": "Разрешить изменение имени пользователя",
-    "createdAt": "Создан",
-    "modifiedAt": "Изменено",
-    "verified": "Подтвержден",
-    "active": "Действующий",
-    "card-received": "Получено",
-    "card-received-on": "Получено с",
-    "card-end": "Завершено",
-    "card-end-on": "Завершится до",
-    "editCardReceivedDatePopup-title": "Изменить дату получения",
-    "editCardEndDatePopup-title": "Изменить дату завершения",
-    "setCardColorPopup-title": "Задать цвет",
-    "setCardActionsColorPopup-title": "Выберите цвет",
-    "setSwimlaneColorPopup-title": "Выберите цвет",
-    "setListColorPopup-title": "Выберите цвет",
-    "assigned-by": "Поручил",
-    "requested-by": "Запросил",
-    "board-delete-notice": "Удаление является постоянным. Вы потеряете все списки, карты и действия, связанные с этой доской.",
-    "delete-board-confirm-popup": "Все списки, карточки, метки и действия будут удалены, и вы не сможете восстановить содержимое доски. Отменить нельзя.",
-    "boardDeletePopup-title": "Удалить доску?",
-    "delete-board": "Удалить доску",
-    "default-subtasks-board": "Подзадача для доски __board__",
-    "default": "По умолчанию",
-    "queue": "Очередь",
-    "subtask-settings": "Настройки подзадач",
-    "card-settings": "Настройки карточки",
-    "boardSubtaskSettingsPopup-title": "Настройки подзадач для доски",
-    "boardCardSettingsPopup-title": "Настройки карточки",
-    "deposit-subtasks-board": "Отправлять подзадачи на доску:",
-    "deposit-subtasks-list": "Размещать подзадачи, отправленные на эту доску, в списке:",
-    "show-parent-in-minicard": "Указывать исходную карточку:",
-    "prefix-with-full-path": "Cверху, полный путь",
-    "prefix-with-parent": "Сверху, только имя",
-    "subtext-with-full-path": "Cнизу, полный путь",
-    "subtext-with-parent": "Снизу, только имя",
-    "change-card-parent": "Сменить исходную карточку",
-    "parent-card": "Исходная карточка",
-    "source-board": "Исходная доска",
-    "no-parent": "Не указывать",
-    "activity-added-label": "добавил метку '%s' на %s",
-    "activity-removed-label": "удалил метку '%s' с %s",
-    "activity-delete-attach": "удалил вложение из %s",
-    "activity-added-label-card": "добавил метку '%s'",
-    "activity-removed-label-card": "удалил метку '%s'",
-    "activity-delete-attach-card": "удалил вложение",
-    "activity-set-customfield": "сменил значение поля '%s' на '%s' в карточке %s",
-    "activity-unset-customfield": "очистил поле '%s' в карточке %s",
-    "r-rule": "Правило",
-    "r-add-trigger": "Задать условие",
-    "r-add-action": "Задать действие",
-    "r-board-rules": "Правила доски",
-    "r-add-rule": "Добавить правило",
-    "r-view-rule": "Показать правило",
-    "r-delete-rule": "Удалить правило",
-    "r-new-rule-name": "Имя нового правила",
-    "r-no-rules": "Нет правил",
-    "r-trigger": "Триггер",
-    "r-action": "Действие",
-    "r-when-a-card": "Когда карточка",
-    "r-is": " ",
-    "r-is-moved": "перемещается",
-    "r-added-to": "Добавлено в",
-    "r-removed-from": "Покидает",
-    "r-the-board": "доску",
-    "r-list": "список",
-    "list": "Список",
-    "set-filter": "Установить фильтр",
-    "r-moved-to": "Перемещается в",
-    "r-moved-from": "Покидает",
-    "r-archived": "Перемещена в архив",
-    "r-unarchived": "Восстановлена из архива",
-    "r-a-card": "карточку",
-    "r-when-a-label-is": "Когда метка",
-    "r-when-the-label": "Когда метка",
-    "r-list-name": "имя",
-    "r-when-a-member": "Когда участник",
-    "r-when-the-member": "Когда участник",
-    "r-name": "имя",
-    "r-when-a-attach": "Когда вложение",
-    "r-when-a-checklist": "Когда контрольный список",
-    "r-when-the-checklist": "Когда контрольный список",
-    "r-completed": "Завершен",
-    "r-made-incomplete": "Вновь открыт",
-    "r-when-a-item": "Когда пункт контрольного списка",
-    "r-when-the-item": "Когда пункт контрольного списка",
-    "r-checked": "Отмечен",
-    "r-unchecked": "Снят",
-    "r-move-card-to": "Переместить карточку в",
-    "r-top-of": "Начало",
-    "r-bottom-of": "Конец",
-    "r-its-list": "текущего списка",
-    "r-archive": "Переместить в архив",
-    "r-unarchive": "Восстановить из Архива",
-    "r-card": "карточку",
-    "r-add": "Создать",
-    "r-remove": "Удалить",
-    "r-label": "метку",
-    "r-member": "участника",
-    "r-remove-all": "Удалить всех участников из карточки",
-    "r-set-color": "Сменить цвет на",
-    "r-checklist": "контрольный список",
-    "r-check-all": "Отметить все",
-    "r-uncheck-all": "Снять все",
-    "r-items-check": "пункты контрольного списка",
-    "r-check": "Отметить",
-    "r-uncheck": "Снять",
-    "r-item": "пункт",
-    "r-of-checklist": "контрольного списка",
-    "r-send-email": "Отправить письмо",
-    "r-to": "кому",
-    "r-of": "из",
-    "r-subject": "тема",
-    "r-rule-details": "Содержание правила",
-    "r-d-move-to-top-gen": "Переместить карточку в начало текущего списка",
-    "r-d-move-to-top-spec": "Переместить карточку в начало списка",
-    "r-d-move-to-bottom-gen": "Переместить карточку в конец текущего списка",
-    "r-d-move-to-bottom-spec": "Переместить карточку в конец списка",
-    "r-d-send-email": "Отправить письмо",
-    "r-d-send-email-to": "кому",
-    "r-d-send-email-subject": "тема",
-    "r-d-send-email-message": "сообщение",
-    "r-d-archive": "Переместить карточку в Архив",
-    "r-d-unarchive": "Восстановить карточку из Архива",
-    "r-d-add-label": "Добавить метку",
-    "r-d-remove-label": "Удалить метку",
-    "r-create-card": "Создать новую карточку",
-    "r-in-list": "в списке",
-    "r-in-swimlane": "в дорожке",
-    "r-d-add-member": "Добавить участника",
-    "r-d-remove-member": "Удалить участника",
-    "r-d-remove-all-member": "Удалить всех участников",
-    "r-d-check-all": "Отметить все пункты в списке",
-    "r-d-uncheck-all": "Снять все пункты в списке",
-    "r-d-check-one": "Отметить пункт",
-    "r-d-uncheck-one": "Снять пункт",
-    "r-d-check-of-list": "контрольного списка",
-    "r-d-add-checklist": "Добавить контрольный список",
-    "r-d-remove-checklist": "Удалить контрольный список",
-    "r-by": "пользователем",
-    "r-add-checklist": "Добавить контрольный список",
-    "r-with-items": "с пунктами",
-    "r-items-list": "пункт1,пункт2,пункт3",
-    "r-add-swimlane": "Добавить дорожку",
-    "r-swimlane-name": "имя",
-    "r-board-note": "Примечание: пустое поле соответствует любым возможным значениям.",
-    "r-checklist-note": "Примечание: пункты контрольных списков при перечислении разделяются запятыми.",
-    "r-when-a-card-is-moved": "Когда карточка перемещена в другой список",
-    "r-set": "Установить",
-    "r-update": "Обновить",
-    "r-datefield": "поле даты",
-    "r-df-start-at": "в работе с",
-    "r-df-due-at": "выполнить к",
-    "r-df-end-at": "завершено",
-    "r-df-received-at": "получено",
-    "r-to-current-datetime": "в соответствии с текущей датой/временем",
-    "r-remove-value-from": "Очистить",
-    "ldap": "LDAP",
-    "oauth2": "OAuth2",
-    "cas": "CAS",
-    "authentication-method": "Способ авторизации",
-    "authentication-type": "Тип авторизации",
-    "custom-product-name": "Собственное наименование",
-    "layout": "Внешний вид",
-    "hide-logo": "Скрыть логотип",
-    "add-custom-html-after-body-start": "Добавить HTML после начала <body>",
-    "add-custom-html-before-body-end": "Добавить HTML до завершения </body>",
-    "error-undefined": "Что-то пошло не так",
-    "error-ldap-login": "Ошибка при попытке авторизации",
-    "display-authentication-method": "Показывать способ авторизации",
-    "default-authentication-method": "Способ авторизации по умолчанию",
-    "duplicate-board": "Клонировать доску",
-    "org-number": "Количество организаций:",
-    "team-number": "Количество команд:",
-    "people-number": "Количество человек:",
-    "swimlaneDeletePopup-title": "Удалить дорожку?",
-    "swimlane-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить дорожку. Данное действие необратимо.",
-    "restore-all": "Восстановить все",
-    "delete-all": "Удалить все",
-    "loading": "Идет загрузка, пожалуйста подождите",
-    "previous_as": "в прошлый раз был",
-    "act-a-dueAt": "изменил срок выполнения \nСтало: __timeValue__\nВ карточке: __card__\nранее было __timeOldValue__",
-    "act-a-endAt": "изменил время завершения на __timeValue__, было (__timeOldValue__)",
-    "act-a-startAt": "изменил время начала на __timeValue__, было (__timeOldValue__)",
-    "act-a-receivedAt": "изменил время получения на __timeValue__, было (__timeOldValue__)",
-    "a-dueAt": "изменил срок выполнения на",
-    "a-endAt": "изменил время завершения на",
-    "a-startAt": "изменил время начала работы на",
-    "a-receivedAt": "изменил время получения на",
-    "almostdue": "текущий срок выполнения %s приближается",
-    "pastdue": "текущий срок выполнения %s прошел",
-    "duenow": "текущий срок выполнения %s сегодня",
-    "act-newDue": "__list__/__card__ содержит 1-ое напоминание о сроке [__board__]",
-    "act-withDue": "__list__/__card__ напоминания о сроке выполнения [__board__]",
-    "act-almostdue": "напомнил, что скоро завершается срок выполнения (__timeValue__) карточки __card__",
-    "act-pastdue": "напомнил, что срок выполнения (__timeValue__) карточки __card__ прошел",
-    "act-duenow": "напомнил, что срок выполнения (__timeValue__) карточки __card__ — это уже сейчас",
-    "act-atUserComment": "Вас упомянули в [__board__] __list__/__card__",
-    "delete-user-confirm-popup": "Вы уверены, что хотите удалить аккаунт? Данное действие необратимо.",
-    "accounts-allowUserDelete": "Разрешить пользователям удалять собственные аккаунты",
-    "hide-minicard-label-text": "Скрыть текст меток на карточках",
-    "show-desktop-drag-handles": "Показать ярлыки для перетаскивания",
-    "assignee": "Исполнитель",
-    "cardAssigneesPopup-title": "Исполнитель",
-    "addmore-detail": "Добавить более детальное описание",
-    "show-on-card": "Показать на карточке",
-    "new": "Новый",
-    "editOrgPopup-title": "Редактировать организацию",
-    "newOrgPopup-title": "Новая организация",
-    "editTeamPopup-title": "Редактировать команду",
-    "newTeamPopup-title": "Новая команда",
-    "editUserPopup-title": "Редактировать пользователя",
-    "newUserPopup-title": "Новый пользователь",
-    "notifications": "Уведомления",
-    "view-all": "Показать все",
-    "filter-by-unread": "Фильтр по непрочитанным",
-    "mark-all-as-read": "Отметить все как прочитанные",
-    "remove-all-read": "Удалить все прочитанные",
-    "allow-rename": "Разрешить переименование",
-    "allowRenamePopup-title": "Разрешить переименование",
-    "start-day-of-week": "Установить день начала недели",
-    "monday": "Понедельник",
-    "tuesday": "Вторник",
-    "wednesday": "Среда",
-    "thursday": "Четверг",
-    "friday": "Пятница",
-    "saturday": "Суббота",
-    "sunday": "Воскресенье",
-    "status": "Статус",
-    "swimlane": "Дорожка",
-    "owner": "Владелец",
-    "last-modified-at": "Последний раз изменено",
-    "last-activity": "Последние действия",
-    "voting": "Голосование",
-    "archived": "Архивировано",
-    "delete-linked-card-before-this-card": "Вы не можете удалить карточку, не удалив связанную c ней карточку, которая имеет ",
-    "delete-linked-cards-before-this-list": "Вы не можете удалить этот список, не удалив карточки, которые указывают на карточки в этом списке",
-    "hide-checked-items": "Спрятать отмеченные",
-    "task": "Задача",
-    "create-task": "Создать задачу",
-    "ok": "Ok",
-    "organizations": "Организации",
-    "teams": "Команды",
-    "displayName": "Отображаемое название",
-    "shortName": "Короткое название",
-    "website": "Вебсайт",
-    "person": "Представитель",
-    "my-cards": "Мои карточки",
-    "card": "Карточка",
-    "board": "Доска",
-    "context-separator": "/",
-    "myCardsSortChange-title": "Сортировать мои карточки",
-    "myCardsSortChangePopup-title": "Сортировать мои карточки",
-    "myCardsSortChange-choice-board": "По доскам",
-    "myCardsSortChange-choice-dueat": "По сроку выполнения",
-    "dueCards-title": "Карточки с установленным сроком",
-    "dueCardsViewChange-title": "Просмотр карточки с установленным сроком",
-    "dueCardsViewChangePopup-title": "Просмотр карточки с установленным сроком",
-    "dueCardsViewChange-choice-me": "Мне",
-    "dueCardsViewChange-choice-all": "Все пользователи",
-    "dueCardsViewChange-choice-all-description": "Показать все незавершенные карточки с установленным сроком с досок для которых у пользователя есть разрешения.",
-    "broken-cards": "Просроченные карточки",
-    "board-title-not-found": "Доска '%s' не найдена.",
-    "swimlane-title-not-found": "Дорожка '%s' не найдена.",
-    "list-title-not-found": "Список '%s' не найден.",
-    "label-not-found": "Метка '%1' не найдена.",
-    "label-color-not-found": "Цвет метки '%1' не найден.",
-    "user-username-not-found": "Имя пользователя '%s' не найдено.",
-    "comment-not-found": "Карточка с комментарием, содержащим текст '%s', не найдена.",
-    "globalSearch-title": "Искать на всех досках",
-    "no-cards-found": "Ни одной карточки не найдено",
-    "one-card-found": "Найдена одна карточка",
-    "n-cards-found": "Карточек найдено %s",
-    "n-n-of-n-cards-found": "__start__-__end__ из __total__ карточек найдено",
-    "operator-board": "доска",
-    "operator-board-abbrev": "д",
-    "operator-swimlane": "дорожка",
-    "operator-swimlane-abbrev": "дор.",
-    "operator-list": "список",
-    "operator-list-abbrev": "l",
-    "operator-label": "метку",
-    "operator-label-abbrev": "#",
-    "operator-user": "пользователь",
-    "operator-user-abbrev": "@",
-    "operator-member": "участника",
-    "operator-member-abbrev": "m",
-    "operator-assignee": "Кому назначено",
-    "operator-assignee-abbrev": "a",
-    "operator-creator": "creator",
-    "operator-status": "статус",
-    "operator-due": "выполнить к",
-    "operator-created": "создано",
-    "operator-modified": "изменено",
-    "operator-sort": "сортировка",
-    "operator-comment": "комментарий",
-    "operator-has": "имеет",
-    "operator-limit": "лимит",
-    "predicate-archived": "архивировано",
-    "predicate-open": "открыт",
-    "predicate-ended": "завершено",
-    "predicate-all": "все",
-    "predicate-overdue": "просрочено",
-    "predicate-week": "неделя",
-    "predicate-month": "месяц",
-    "predicate-quarter": "квартал",
-    "predicate-year": "год",
-    "predicate-due": "выполнить к",
-    "predicate-modified": "изменено",
-    "predicate-created": "создано",
-    "predicate-attachment": "вложение",
-    "predicate-description": "описание",
-    "predicate-checklist": "контрольный список",
-    "predicate-start": "в работе с",
-    "predicate-end": "завершено",
-    "predicate-assignee": "Кому назначено",
-    "predicate-member": "участника",
-    "predicate-public": "общедоступно",
-    "predicate-private": "приватно",
-    "operator-unknown-error": "%1 не оператор",
-    "operator-number-expected": "оператор __operator__ используется с числом, задано '__value__'",
-    "operator-sort-invalid": "сортировка '%s' неверна",
-    "operator-status-invalid": "'%s' не допустимый статус",
-    "operator-has-invalid": "%s неверная проверка присутствия",
-    "operator-limit-invalid": "%s неверное ограничение. Ограничение должно быть положительным целым.",
-    "next-page": "Следующая страница",
-    "previous-page": "Предыдущая страница",
-    "heading-notes": "Заметки",
-    "globalSearch-instructions-heading": "Инструкция по поиску",
-    "globalSearch-instructions-description": "Поисковая строка может содержать операторы для уточнения запроса. Оператор задается именем оператора и значением разделенными двоеточием. Например, оператор 'list:Blocked' ограничит результат запроса карточками состоящими в списке 'Blocked'. Если значение содержит пробелы или специальные символы, то оно должно быть заключено в кавычки(__operator_list__:\"To Review\").",
-    "globalSearch-instructions-operators": "Доступные операторы:",
-    "globalSearch-instructions-operator-board": "`__operator_board__:<title>` - карточки соответствуют: *<title>*",
-    "globalSearch-instructions-operator-list": "`__operator_list__:<title>` - карточки в списке соответствуют: *<title>*",
-    "globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:<title>` - карточки на дорожках, соответствующих *<title>*",
-    "globalSearch-instructions-operator-comment": "`__operator_comment__:<text>` - карточки с комментарием содержащим *<text>*.",
-    "globalSearch-instructions-operator-label": "`__operator_label__:<color>` `__operator_label__:<name>` - карточки, которые имеют метку соответствующую *<color>* or *<name>",
-    "globalSearch-instructions-operator-hash": "`__operator_label_abbrev__<name|color>` - shorthand for `__operator_label__:<color>` or `__operator_label__:<name>`",
-    "globalSearch-instructions-operator-user": "`__operator_user__:<username>` - карточки в которых *<username>* *участник* или *исполнитель*",
-    "globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - сокращение для `пользователь:<username>`",
-    "globalSearch-instructions-operator-member": "`__operator_member__:<username>` - карточки, в которых *<username>* *участник*",
-    "globalSearch-instructions-operator-assignee": "`__operator_assignee__:<username>` - карточки, в которых *<username>* *исполнитель*",
-    "globalSearch-instructions-operator-creator": "`__operator_creator__:<username>` - cards where *<username>* is the card's creator",
-    "globalSearch-instructions-operator-due": "`__operator_due__:<n>` - карточки с датой завершения до *<n>* дней от текущей даты.  `__operator_due__:__predicate_overdue__ список всех просроченных карточек.",
-    "globalSearch-instructions-operator-created": "`__operator_created__:<n>` - карточки, которые были созданы до *<n>* дней назад",
-    "globalSearch-instructions-operator-modified": "`__operator_modified__:<n>` - карточки, который изменены до *<n>* дней назад",
-    "globalSearch-instructions-operator-status": "`__operator_status__:<status>` - где *<status>* что-то из следующего:",
-    "globalSearch-instructions-status-archived": "`__predicate_archived__` - архивированные карточки",
-    "globalSearch-instructions-status-all": "`__predicate_all__` - все архивированные и не архивированные карточки",
-    "globalSearch-instructions-status-ended": "`__predicate_ended__` - карточки с датой завершения",
-    "globalSearch-instructions-status-public": "`__predicate_public__` - карточки только на публичных досках",
-    "globalSearch-instructions-status-private": "`__predicate_private__` - карточки только на личных досках",
-    "globalSearch-instructions-operator-has": "`__operator_has__:<field>` - где *<field>* что-либо из `__predicate_attachment__`, `__predicate_checklist__`, `__predicate_description__`, `__predicate_start__`, `__predicate_due__`, `__predicate_end__`, `__predicate_assignee__` или `__predicate_member__`.  Указание `-` перед *<field>* производит поиск по отсутствию значения в указанном поле. (напр. `has:-due` поиск карточек без даты завершения).",
-    "globalSearch-instructions-operator-sort": "`__operator_sort__:<sort-name>` - где*<sort-name>* что-либо из `__predicate_due__`, `__predicate_created__` или `__predicate_modified__`.  Для сортировки по убыванию, укажите `-` перед названием сортировки.",
-    "globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - где *<n>* положительное целое определяющее количество карточек на одной странице.",
-    "globalSearch-instructions-notes-1": "Может быть задано несколько операторов.",
-    "globalSearch-instructions-notes-2": "Одинаковые операторы объединяются логическим \"ИЛИ\", например:\n`__operator_list__:Available __operator_list__:Blocked` вернет карточки, которые содержатся в списке *Blocked* или *Available*.",
-    "globalSearch-instructions-notes-3": "Разные операторы объединяются логическим \"И\". Возвращаются только объекты удовлетворяющие всем заданным условиям.`__operator_list__:Available __operator_label__:red` вернет карточки, которые содержатся в списке *Available* и имеют метку *red*.",
-    "globalSearch-instructions-notes-3-2": "Количество дней может быть задано положительным или отрицательным целым или используя `__predicate_week__`, `__predicate_month__`, `__predicate_quarter__` или `__predicate_year__` для текущего периода.",
-    "globalSearch-instructions-notes-4": "Текстовый поиск нечувствителен к регистру символов.",
-    "globalSearch-instructions-notes-5": "По умолчанию, поиск в архивированных карточках не производится.",
-    "link-to-search": "Ссылка на этот поиск",
-    "excel-font": "Arial",
-    "number": "Номер",
-    "label-colors": "Цвета меток",
-    "label-names": "Названия меток",
-    "archived-at": "архивировано",
-    "sort-cards": "Сортировать карточки",
-    "cardsSortPopup-title": "Сортировать карточки",
-    "due-date": "Назначенная дата",
-    "server-error": "Ошибка сервера",
-    "server-error-troubleshooting": "Пожалуйста отправьте описание ошибки созданное сервером.\nДля установки с помощью snap, запустите: `sudo snap logs wekan.wekan`\nДля установки с помощью Docker, запустите: `sudo docker logs wekan-app`",
-    "title-alphabetically": "Название (по алфавиту)",
-    "created-at-newest-first": "Дата создания (сначала новые)",
-    "created-at-oldest-first": "Дата создания (сначала старые)",
-    "links-heading": "Ссылки",
-    "hide-system-messages-of-all-users": "Скрыть системные сообщения всех пользователей",
-    "now-system-messages-of-all-users-are-hidden": "Системные сообщения всех пользователей скрыты",
-    "move-swimlane": "Переместить дорожку",
-    "moveSwimlanePopup-title": "Переместить дорожку",
-    "custom-field-stringtemplate": "Строковый шаблон",
-    "custom-field-stringtemplate-format": "Формат (используйте %{значение} для подстановки)",
-    "custom-field-stringtemplate-separator": "Separator (use &#32; or &nbsp; for a space)",
-    "custom-field-stringtemplate-item-placeholder": "Press enter to add more items",
-    "creator": "Creator",
-    "filesReportTitle": "Files Report",
-    "orphanedFilesReportTitle": "Orphaned Files Report",
-    "reports": "Reports",
-    "rulesReportTitle": "Rules Report",
-    "copy-swimlane": "Copy Swimlane",
-    "copySwimlanePopup-title": "Copy Swimlane"
-}
+  "accept": "Принять",
+  "act-activity-notify": "Уведомление о действиях участников",
+  "act-addAttachment": "прикрепил вложение __attachment__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-deleteAttachment": "удалил вложение __attachment__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-addSubtask": "добавил подзадачу __subtask__ для карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-addLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-addedLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-removeLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-removedLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-addChecklist": "добавил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-addChecklistItem": "добавил пункт __checklistItem__ в контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-removeChecklist": "удалил контрольный список __checklist__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-removeChecklistItem": "удалил пункт __checklistItem__ из контрольного списка __checkList__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-checkedItem": "отметил __checklistItem__ в контрольном списке __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-uncheckedItem": "снял __checklistItem__ в контрольном списке __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-completeChecklist": "завершил контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-uncompleteChecklist": "вновь открыл контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-addComment": "написал в карточке __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-editComment": "изменил комментарий в карточке __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-deleteComment": "удалил комментарий из карточки __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-createBoard": "создал доску __board__",
+  "act-createSwimlane": "создал дорожку __swimlane__ на доске __board__",
+  "act-createCard": "создал карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-createCustomField": "создал новое поле __customField__ на доске __board__\n",
+  "act-deleteCustomField": "удалил поле __customField__ с доски __board__",
+  "act-setCustomField": "изменил значение поля __customField__: __customFieldValue__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-createList": "добавил список __list__ на доску __board__",
+  "act-addBoardMember": "добавил участника __member__ на доску __board__",
+  "act-archivedBoard": "Доска __board__ перемещена в Архив",
+  "act-archivedCard": "Карточка __card__ из списка __list__ с дорожки __swimlane__ доски __board__ перемещена в Архив",
+  "act-archivedList": "Список __list__ на дорожке __swimlane__ доски __board__ перемещен в Архив",
+  "act-archivedSwimlane": "Дорожка __swimlane__ на доске __board__ перемещена в Архив",
+  "act-importBoard": "импортировал доску __board__",
+  "act-importCard": "импортировал карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
+  "act-importList": "импортировал список __list__ на дорожку __swimlane__ доски __board__",
+  "act-joinMember": "добавил участника __member__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-moveCard": "переместил карточку __card__ на доске __board__ из списка __oldList__ с дорожки __oldSwimlane__ в список __list__ на дорожку __swimlane__",
+  "act-moveCardToOtherBoard": "переместил карточку __card__ из списка __oldList__ с дорожки __oldSwimlane__ доски __oldBoard__ в список __list__ на дорожку __swimlane__ доски __board__",
+  "act-removeBoardMember": "удалил участника __member__ с доски __board__",
+  "act-restoredCard": "восстановил карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
+  "act-unjoinMember": "удалил участника __member__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "act-withBoardTitle": "__board__",
+  "act-withCardTitle": "[__board__] __card__",
+  "actions": "Действия",
+  "activities": "История действий",
+  "activity": "Действия участников",
+  "activity-added": "добавил %s на %s",
+  "activity-archived": "%s теперь в Архиве",
+  "activity-attached": "прикрепил %s к %s",
+  "activity-created": "создал %s",
+  "activity-customfield-created": "создал настраиваемое поле %s",
+  "activity-excluded": "исключил %s из %s",
+  "activity-imported": "импортировал %s в %s из %s",
+  "activity-imported-board": "импортировал %s из %s",
+  "activity-joined": "присоединился к %s",
+  "activity-moved": "переместил %s из %s в %s",
+  "activity-on": "%s",
+  "activity-removed": "удалил %s из %s",
+  "activity-sent": "отправил %s в %s",
+  "activity-unjoined": "вышел из %s",
+  "activity-subtask-added": "добавил подзадачу в %s",
+  "activity-checked-item": "отметил %s в контрольном списке %s в %s",
+  "activity-unchecked-item": "снял %s в контрольном списке %s в %s",
+  "activity-checklist-added": "добавил контрольный список в %s",
+  "activity-checklist-removed": "удалил контрольный список из %s",
+  "activity-checklist-completed": "завершил контрольный список %s в %s",
+  "activity-checklist-uncompleted": "вновь открыл контрольный список %s в %s",
+  "activity-checklist-item-added": "добавил пункт в контрольный список '%s' в карточке %s",
+  "activity-checklist-item-removed": "удалил пункт из контрольного списка '%s' в карточке %s",
+  "add": "Создать",
+  "activity-checked-item-card": "отметил %s в контрольном списке %s",
+  "activity-unchecked-item-card": "снял %s в контрольном списке %s",
+  "activity-checklist-completed-card": "завершил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+  "activity-checklist-uncompleted-card": "вновь открыл контрольный список %s",
+  "activity-editComment": "отредактировал комментарий %s",
+  "activity-deleteComment": "удалил комментарий %s",
+  "activity-receivedDate": "отредактировал дату получения на %sс %s",
+  "activity-startDate": "отредактировал дату начала на %sс %s",
+  "activity-dueDate": "отредактировал срок исполнения на %s с %s",
+  "activity-endDate": "отредактировал дату завершения на %s с %s",
+  "add-attachment": "Добавить вложение",
+  "add-board": "Добавить доску",
+  "add-card": "Добавить карточку",
+  "add-swimlane": "Добавить дорожку",
+  "add-subtask": "Добавить подзадачу",
+  "add-checklist": "Добавить контрольный список",
+  "add-checklist-item": "Добавить пункт в контрольный список",
+  "add-cover": "Прикрепить",
+  "add-label": "Добавить метку",
+  "add-list": "Добавить простой список",
+  "add-members": "Добавить участника",
+  "added": "Добавлено",
+  "addMemberPopup-title": "Участники",
+  "admin": "Администратор",
+  "admin-desc": "Может просматривать и редактировать карточки, удалять участников и управлять настройками доски.",
+  "admin-announcement": "Объявление",
+  "admin-announcement-active": "Действующее общесистемное объявление",
+  "admin-announcement-title": "Объявление от Администратора",
+  "all-boards": "Все доски",
+  "and-n-other-card": "И __count__ другая карточка",
+  "and-n-other-card_plural": "И __count__ другие карточки",
+  "apply": "Применить",
+  "app-is-offline": "Идет загрузка, подождите. Обновление страницы приведет к потере данных. Если загрузка не происходит, проверьте работоспособность сервера.",
+  "archive": "Переместить в архив",
+  "archive-all": "Переместить всё в архив",
+  "archive-board": "Переместить доску в архив",
+  "archive-card": "Переместить карточку в архив",
+  "archive-list": "Переместить список в архив",
+  "archive-swimlane": "Переместить дорожку в архив",
+  "archive-selection": "Переместить выбранное в архив",
+  "archiveBoardPopup-title": "Переместить доску в архив?",
+  "archived-items": "Архив",
+  "archived-boards": "Доски в архиве",
+  "restore-board": "Востановить доску",
+  "no-archived-boards": "Нет досок в архиве.",
+  "archives": "Архив",
+  "template": "Шаблон",
+  "templates": "Шаблоны",
+  "assign-member": "Назначить участника",
+  "attached": "прикреплено",
+  "attachment": "Вложение",
+  "attachment-delete-pop": "Если удалить вложение, его нельзя будет восстановить.",
+  "attachmentDeletePopup-title": "Удалить вложение?",
+  "attachments": "Вложения",
+  "auto-watch": "Автоматически следить за созданными досками",
+  "avatar-too-big": "Аватар слишком большой (максимум 520КБ)",
+  "back": "Назад",
+  "board-change-color": "Изменить цвет",
+  "board-nb-stars": "%s избранное",
+  "board-not-found": "Доска не найдена",
+  "board-private-info": "Это доска будет <strong>частной</strong>.",
+  "board-public-info": "Эта доска будет <strong>доступной всем</strong>.",
+  "boardChangeColorPopup-title": "Изменить фон доски",
+  "boardChangeTitlePopup-title": "Переименовать доску",
+  "boardChangeVisibilityPopup-title": "Изменить настройки видимости",
+  "boardChangeWatchPopup-title": "Режимы оповещения",
+  "boardMenuPopup-title": "Настройки доски",
+  "boardChangeViewPopup-title": "Вид доски",
+  "boards": "Доски",
+  "board-view": "Вид доски",
+  "board-view-cal": "Календарь",
+  "board-view-swimlanes": "Дорожки",
+  "board-view-collapse": "Свернуть",
+  "board-view-gantt": "Диаграмма Ганта",
+  "board-view-lists": "Списки",
+  "bucket-example": "Например “Список дел”",
+  "cancel": "Отмена",
+  "card-archived": "Эта карточка перемещена в архив",
+  "board-archived": "Эта доска перемещена в архив.",
+  "card-comments-title": "Комментарии (%s)",
+  "card-delete-notice": "Это действие невозможно будет отменить. Все изменения, которые вы вносили в карточку будут потеряны.",
+  "card-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете заново открыть карточку. Действие необратимо",
+  "card-delete-suggest-archive": "Вы можете переместить карточку в архив, чтобы убрать ее с доски, сохранив всю историю действий участников.",
+  "card-due": "Выполнить к",
+  "card-due-on": "Выполнить до",
+  "card-spent": "Затраченное время",
+  "card-edit-attachments": "Изменить вложения",
+  "card-edit-custom-fields": "Редактировать настраиваемые поля",
+  "card-edit-labels": "Изменить метку",
+  "card-edit-members": "Изменить участников",
+  "card-labels-title": "Изменить метки для этой карточки.",
+  "card-members-title": "Добавить или удалить с карточки участников доски.",
+  "card-start": "В работе с",
+  "card-start-on": "Начнётся с",
+  "cardAttachmentsPopup-title": "Прикрепить из",
+  "cardCustomField-datePopup-title": "Изменить дату",
+  "cardCustomFieldsPopup-title": "редактировать настраиваемые поля",
+  "cardStartVotingPopup-title": "Голосовать",
+  "positiveVoteMembersPopup-title": "Сторонники",
+  "negativeVoteMembersPopup-title": "Противники",
+  "card-edit-voting": "Редактировать голосование",
+  "editVoteEndDatePopup-title": "Изменить дату окончания голосования",
+  "allowNonBoardMembers": "Разрешить всем авторизованным пользователям ",
+  "vote-question": "Вопрос для голосования",
+  "vote-public": "Показать кто как голосовал",
+  "vote-for-it": "за",
+  "vote-against": "против",
+  "deleteVotePopup-title": "Удалить голосование?",
+  "vote-delete-pop": "Это действие невозможно будет отменить. Все связанные с голосованием действия будут потеряны.",
+  "cardDeletePopup-title": "Удалить карточку?",
+  "cardDetailsActionsPopup-title": "Действия в карточке",
+  "cardLabelsPopup-title": "Метки",
+  "cardMembersPopup-title": "Участники",
+  "cardMorePopup-title": "Поделиться",
+  "cardTemplatePopup-title": "Создать шаблон",
+  "cards": "Карточки",
+  "cards-count": "Карточки",
+  "casSignIn": "Войти через CAS",
+  "cardType-card": "Карточка",
+  "cardType-linkedCard": "Связанная карточка",
+  "cardType-linkedBoard": "Связанная доска",
+  "change": "Изменить",
+  "change-avatar": "Изменить аватар",
+  "change-password": "Изменить пароль",
+  "change-permissions": "Изменить права доступа",
+  "change-settings": "Изменить настройки",
+  "changeAvatarPopup-title": "Изменить аватар",
+  "changeLanguagePopup-title": "Сменить язык",
+  "changePasswordPopup-title": "Изменить пароль",
+  "changePermissionsPopup-title": "Изменить настройки доступа",
+  "changeSettingsPopup-title": "Изменить Настройки",
+  "subtasks": "Подзадачи",
+  "checklists": "Контрольные списки",
+  "click-to-star": "Добавить в  «Избранное»",
+  "click-to-unstar": "Удалить из «Избранного»",
+  "clipboard": "Буфер обмена или drag & drop",
+  "close": "Закрыть",
+  "close-board": "Закрыть доску",
+  "close-board-pop": "Вы сможете восстановить доску, нажав \"Архив\" в заголовке домашней страницы.",
+  "color-black": "черный",
+  "color-blue": "синий",
+  "color-crimson": "малиновый",
+  "color-darkgreen": "темно-зеленый",
+  "color-gold": "золотой",
+  "color-gray": "серый",
+  "color-green": "зеленый",
+  "color-indigo": "индиго",
+  "color-lime": "лимоновый",
+  "color-magenta": "маджента",
+  "color-mistyrose": "тускло-розовый",
+  "color-navy": "темно-синий",
+  "color-orange": "оранжевый",
+  "color-paleturquoise": "бледно-бирюзовый",
+  "color-peachpuff": "персиковый",
+  "color-pink": "розовый",
+  "color-plum": "сливовый",
+  "color-purple": "фиолетовый",
+  "color-red": "красный",
+  "color-saddlebrown": "кожано-коричневый",
+  "color-silver": "серебристый",
+  "color-sky": "голубой",
+  "color-slateblue": "серо-голубой",
+  "color-white": "белый",
+  "color-yellow": "желтый",
+  "unset-color": "Убрать",
+  "comment": "Добавить комментарий",
+  "comment-placeholder": "Написать комментарий",
+  "comment-only": "Только комментирование",
+  "comment-only-desc": "Может комментировать только карточки.",
+  "no-comments": "Без комментариев",
+  "no-comments-desc": "Не видит комментарии и историю действий.",
+  "worker": "Исполнитель",
+  "worker-desc": "Может перемещать карточки, отмечаться как исполнитель и оставлять комментарии",
+  "computer": "Загрузить с компьютера",
+  "confirm-subtask-delete-dialog": "Вы уверены, что хотите удалить подзадачу?",
+  "confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?",
+  "copy-card-link-to-clipboard": "Копировать ссылку на карточку в буфер обмена",
+  "linkCardPopup-title": "Карточка-ссылка",
+  "searchElementPopup-title": "Поиск",
+  "copyCardPopup-title": "Копировать карточку",
+  "copyChecklistToManyCardsPopup-title": "Копировать шаблон контрольного списка в несколько карточек",
+  "copyChecklistToManyCardsPopup-instructions": "Названия и описания целевых карт в формате JSON",
+  "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Название первой карточки\", \"description\":\"Описание первой карточки\"}, {\"title\":\"Название второй карточки\",\"description\":\"Описание второй карточки\"},{\"title\":\"Название последней карточки\",\"description\":\"Описание последней карточки\"} ]",
+  "create": "Создать",
+  "createBoardPopup-title": "Создать доску",
+  "chooseBoardSourcePopup-title": "Импортировать доску",
+  "createLabelPopup-title": "Создать метку",
+  "createCustomField": "Создать поле",
+  "createCustomFieldPopup-title": "Создать поле",
+  "current": "текущий",
+  "custom-field-delete-pop": "Отменить нельзя. Это удалит настраиваемое поле со всех карт и уничтожит его историю.",
+  "custom-field-checkbox": "Галочка",
+  "custom-field-currency": "Валюта",
+  "custom-field-currency-option": "Код валюты",
+  "custom-field-date": "Дата",
+  "custom-field-dropdown": "Выпадающий список",
+  "custom-field-dropdown-none": "(нет)",
+  "custom-field-dropdown-options": "Параметры списка",
+  "custom-field-dropdown-options-placeholder": "Нажмите «Ввод», чтобы добавить дополнительные параметры.",
+  "custom-field-dropdown-unknown": "(неизвестно)",
+  "custom-field-number": "Номер",
+  "custom-field-text": "Текст",
+  "custom-fields": "Настраиваемые поля",
+  "date": "Дата",
+  "decline": "Отклонить",
+  "default-avatar": "Аватар по умолчанию",
+  "delete": "Удалить",
+  "deleteCustomFieldPopup-title": "Удалить настраиваемые поля?",
+  "deleteLabelPopup-title": "Удалить метку?",
+  "description": "Описание",
+  "disambiguateMultiLabelPopup-title": "Разрешить конфликт меток",
+  "disambiguateMultiMemberPopup-title": "Разрешить конфликт участников",
+  "discard": "Отказать",
+  "done": "Готово",
+  "download": "Скачать",
+  "edit": "Редактировать",
+  "edit-avatar": "Изменить аватар",
+  "edit-profile": "Изменить профиль",
+  "edit-wip-limit": "Изменить лимит на кол-во задач",
+  "soft-wip-limit": "Мягкий лимит",
+  "editCardStartDatePopup-title": "Изменить дату начала",
+  "editCardDueDatePopup-title": "Изменить дату выполнения",
+  "editCustomFieldPopup-title": "Редактировать поле",
+  "editCardSpentTimePopup-title": "Изменить затраченное время",
+  "editLabelPopup-title": "Изменить метки",
+  "editNotificationPopup-title": "Редактировать уведомления",
+  "editProfilePopup-title": "Редактировать профиль",
+  "email": "Эл.почта",
+  "email-enrollAccount-subject": "Аккаунт создан для вас здесь __url__",
+  "email-enrollAccount-text": "Привет __user__,\n\nДля того, чтобы начать использовать сервис, просто нажми на ссылку ниже.\n\n__url__\n\nСпасибо.",
+  "email-fail": "Отправка письма на EMail не удалась",
+  "email-fail-text": "Ошибка при попытке отправить письмо",
+  "email-invalid": "Неверный адрес электронной почты",
+  "email-invite": "Пригласить по электронной почте",
+  "email-invite-subject": "__inviter__ прислал вам приглашение",
+  "email-invite-text": "Дорогой __user__,\n\n__inviter__ пригласил вас присоединиться к доске \"__board__\" для сотрудничества.\n\nПожалуйста проследуйте по ссылке ниже:\n\n__url__\n\nСпасибо.",
+  "email-resetPassword-subject": "Перейдите по ссылке, чтобы сбросить пароль __url__",
+  "email-resetPassword-text": "Привет __user__,\n\nДля сброса пароля перейдите по ссылке ниже.\n\n__url__\n\nThanks.",
+  "email-sent": "Письмо отправлено",
+  "email-verifyEmail-subject": "Подтвердите вашу эл.почту перейдя по ссылке __url__",
+  "email-verifyEmail-text": "Привет __user__,\n\nДля подтверждения вашей электронной почты перейдите по ссылке ниже.\n\n__url__\n\nСпасибо.",
+  "enable-wip-limit": "Включить лимит на кол-во задач",
+  "error-board-doesNotExist": "Доска не найдена",
+  "error-board-notAdmin": "Вы должны обладать правами администратора этой доски, чтобы сделать это",
+  "error-board-notAMember": "Вы должны быть участником доски, чтобы сделать это",
+  "error-json-malformed": "Ваше текст не является правильным JSON",
+  "error-json-schema": "Содержимое вашего JSON не содержит информацию в корректном формате",
+  "error-csv-schema": "Ваши данные CSV (с разделителями запятой)/TSV (с разделителями табулятором) не содержат информации в корректном формате",
+  "error-list-doesNotExist": "Список не найден",
+  "error-user-doesNotExist": "Пользователь не найден",
+  "error-user-notAllowSelf": "Вы не можете пригласить себя",
+  "error-user-notCreated": "Пользователь не создан",
+  "error-username-taken": "Это имя пользователя уже занято",
+  "error-orgname-taken": "Это название организации уже занято",
+  "error-teamname-taken": "Это название команды уже занято",
+  "error-email-taken": "Этот адрес уже занят",
+  "export-board": "Экспортировать доску",
+  "export-board-json": "Экспортировать доску в JSON",
+  "export-board-csv": "Экспортировать доску в CSV",
+  "export-board-tsv": "Экспортировать доску в TSV",
+  "export-board-excel": "Экспортировать доску в Excel",
+  "user-can-not-export-excel": "Пользователь не может экспортировать в Excel",
+  "export-board-html": "Экспортировать доску в HTML",
+  "exportBoardPopup-title": "Экспортировать доску",
+  "sort": "Сортировать",
+  "sort-desc": "Нажмите, чтобы отсортировать список",
+  "list-sort-by": "Сортировать список по:",
+  "list-label-modifiedAt": "Время последнего доступа",
+  "list-label-title": "Название списка",
+  "list-label-sort": "Установленный вами порядок",
+  "list-label-short-modifiedAt": "(L)",
+  "list-label-short-title": "(N)",
+  "list-label-short-sort": "(M)",
+  "filter": "Фильтр",
+  "filter-cards": "Фильтр Карточек или Списков",
+  "filter-dates-label": "Фильтр по дате",
+  "filter-no-due-date": "Без срока выполнения",
+  "filter-overdue": "Просрочено",
+  "filter-due-today": "Крайний срок - сегодня",
+  "filter-due-this-week": "Крайний срок - эта неделя",
+  "filter-due-tomorrow": "Крайний срок - завтра",
+  "list-filter-label": "Фильтровать Список по Названию",
+  "filter-clear": "Очистить фильтр",
+  "filter-labels-label": "Фильтр по метке",
+  "filter-no-label": "Нет метки",
+  "filter-member-label": "Фильтр по участнику",
+  "filter-no-member": "Нет участников",
+  "filter-assignee-label": "Фильтр по исполнителю",
+  "filter-no-assignee": "Не применимо",
+  "filter-custom-fields-label": "Фильтр по пользовательскому полю",
+  "filter-no-custom-fields": "Нет настраиваемых полей",
+  "filter-show-archive": "Показать архивные списки",
+  "filter-hide-empty": "Скрыть пустые списки",
+  "filter-on": "Включен фильтр",
+  "filter-on-desc": "Показываются карточки, соответствующие настройкам фильтра. Нажмите для редактирования.",
+  "filter-to-selection": "Filter to selection",
+  "other-filters-label": "Другие фильтры",
+  "advanced-filter-label": "Расширенный фильтр",
+  "advanced-filter-description": "Расширенный фильтр позволяет написать строку, содержащую следующие операторы: == != <= >= && || ( ) Пробел используется как разделитель между операторами. Можно фильтровать все настраиваемые поля, вводя их имена и значения. Например: Поле1 == Значение1. Примечание. Если поля или значения содержат пробелы, нужно взять их в одинарные кавычки. Например: 'Поле 1' == 'Значение 1'. Для одиночных управляющих символов (' \\/), которые нужно пропустить, следует использовать \\. Например: Field1 = I\\'m. Также  можно комбинировать несколько условий. Например: F1 == V1 || F1 == V2. Обычно все операторы интерпретируются слева направо, но можно изменить порядок, разместив скобки. Например: F1 == V1 && (F2 == V2 || F2 == V3). Также можно искать текстовые поля с помощью регулярных выражений: F1 == /Tes.*/i",
+  "fullname": "Полное имя",
+  "header-logo-title": "Вернуться к доскам.",
+  "hide-system-messages": "Скрыть системные сообщения",
+  "headerBarCreateBoardPopup-title": "Создать доску",
+  "home": "Главная",
+  "import": "Импорт",
+  "impersonate-user": "Деперсонифицировать пользователя",
+  "link": "Ссылка",
+  "import-board": "импортировать доску",
+  "import-board-c": "Импортировать доску",
+  "import-board-title-trello": "Импортировать доску из Trello",
+  "import-board-title-wekan": "Импортировать доску, сохраненную ранее.",
+  "import-board-title-csv": "Импортировать доску из CSV/TSV",
+  "from-trello": "Из Trello",
+  "from-wekan": "Сохраненную ранее",
+  "from-csv": "Из CSV/TSV",
+  "import-board-instruction-trello": "На вашей Trello доске нажмите “Menu” - “More” - “Print and export - “Export JSON” и скопируйте полученный текст",
+  "import-board-instruction-csv": "Вставка CSV/TSV данных",
+  "import-board-instruction-wekan": "На вашей доске перейдите в “Меню”, далее “Экспортировать доску” и скопируйте текст из скачаного файла",
+  "import-board-instruction-about-errors": "Даже если при импорте возникли ошибки, иногда импортирование проходит успешно – тогда доска появится на странице «Все доски».",
+  "import-json-placeholder": "Вставьте JSON сюда",
+  "import-csv-placeholder": "Вставьте CSV/TSV сюда",
+  "import-map-members": "Составить карту участников",
+  "import-members-map": "Вы импортировали доску с участниками. Пожалуйста, отметьте участников, которых вы хотите импортировать в качестве пользователей",
+  "import-members-map-note": "Внимание: участники без установленного соответствия будут назначены текущему пользователю. ",
+  "import-show-user-mapping": "Проверить карту участников",
+  "import-user-select": "Выберите существующего пользователя, которого вы хотите использовать в качестве участника",
+  "importMapMembersAddPopup-title": "Выбрать участника",
+  "info": "Версия",
+  "initials": "Инициалы",
+  "invalid-date": "Неверная дата",
+  "invalid-time": "Некорректное время",
+  "invalid-user": "Неверный пользователь",
+  "joined": "вступил",
+  "just-invited": "Вас только что пригласили на эту доску",
+  "keyboard-shortcuts": "Сочетания клавиш",
+  "label-create": "Создать метку",
+  "label-default": "%s (по умолчанию)",
+  "label-delete-pop": "Это действие невозможно будет отменить. Эта метка будут удалена во всех карточках. Также будет удалена вся история этой метки.",
+  "labels": "Метки",
+  "language": "Язык",
+  "last-admin-desc": "Вы не можете изменять роли, для этого требуются права администратора.",
+  "leave-board": "Покинуть доску",
+  "leave-board-pop": "Вы уверенны, что хотите покинуть __boardTitle__? Вы будете удалены из всех карточек на этой доске.",
+  "leaveBoardPopup-title": "Покинуть доску?",
+  "link-card": "Доступна по ссылке",
+  "list-archive-cards": "Переместить все карточки в этом списке в Архив",
+  "list-archive-cards-pop": "Это действие удалит все карточки из этого списка с доски. Чтобы просмотреть карточки в Архиве и вернуть их на доску, нажмите “Меню” > “Архив”.",
+  "list-move-cards": "Переместить все карточки в этом списке",
+  "list-select-cards": "Выбрать все карточки в этом списке",
+  "set-color-list": "Задать цвет",
+  "listActionPopup-title": "Список действий",
+  "settingsUserPopup-title": "Пользовательские настройки",
+  "swimlaneActionPopup-title": "Действия с дорожкой",
+  "swimlaneAddPopup-title": "Добавить дорожку ниже",
+  "listImportCardPopup-title": "Импортировать Trello карточку",
+  "listImportCardsTsvPopup-title": "Импорт CSV/TSV из Excel",
+  "listMorePopup-title": "Поделиться",
+  "link-list": "Ссылка на список",
+  "list-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить список. Данное действие необратимо.",
+  "list-delete-suggest-archive": "Вы можете отправить список в Архив, чтобы убрать его с доски и при этом сохранить результаты.",
+  "lists": "Списки",
+  "swimlanes": "Дорожки",
+  "log-out": "Выйти",
+  "log-in": "Войти",
+  "loginPopup-title": "Войти",
+  "memberMenuPopup-title": "Настройки участника",
+  "members": "Участники",
+  "menu": "Меню",
+  "move-selection": "Переместить выделение",
+  "moveCardPopup-title": "Переместить карточку",
+  "moveCardToBottom-title": "Переместить вниз",
+  "moveCardToTop-title": "Переместить вверх",
+  "moveSelectionPopup-title": "Переместить выделение",
+  "multi-selection": "Выбрать несколько",
+  "multi-selection-label": "Задать метку для отмеченного",
+  "multi-selection-member": "Задать участника для отмеченного",
+  "multi-selection-on": "Выбрать несколько из",
+  "muted": "Не беспокоить",
+  "muted-info": "Вы НИКОГДА не будете уведомлены ни о каких изменениях в этой доске.",
+  "my-boards": "Мои доски",
+  "name": "Имя",
+  "no-archived-cards": "Нет карточек в Архиве",
+  "no-archived-lists": "Нет списков в Архиве",
+  "no-archived-swimlanes": "Нет дорожек в Архиве",
+  "no-results": "Ничего не найдено",
+  "normal": "Обычный",
+  "normal-desc": "Может редактировать карточки. Не может управлять настройками.",
+  "not-accepted-yet": "Приглашение еще не принято",
+  "notify-participate": "Получать обновления по любым карточкам, которые вы создавали или участником которых являетесь.",
+  "notify-watch": "Получать обновления по любым доскам, спискам и карточкам, на которые вы подписаны как наблюдатель.",
+  "optional": "не обязательно",
+  "or": "или",
+  "page-maybe-private": "Возможно, эта страница скрыта от незарегистрированных пользователей. Попробуйте <a href='%s'>войти на сайт</a>.",
+  "page-not-found": "Страница не найдена.",
+  "password": "Пароль",
+  "paste-or-dragdrop": "вставьте, или перетащите файл с изображением сюда (только графический файл)",
+  "participating": "Участвую",
+  "preview": "Предпросмотр",
+  "previewAttachedImagePopup-title": "Предпросмотр",
+  "previewClipboardImagePopup-title": "Предпросмотр",
+  "private": "Закрытая",
+  "private-desc": "Эта доска с ограниченным доступом. Только участники могут работать с ней.",
+  "profile": "Профиль",
+  "public": "Открытая",
+  "public-desc": "Эта доска может быть видна всем у кого есть ссылка. Также может быть проиндексирована поисковыми системами. Вносить изменения могут только участники.",
+  "quick-access-description": "Нажмите на звезду, что добавить ярлык доски на панель.",
+  "remove-cover": "Открепить",
+  "remove-from-board": "Удалить с доски",
+  "remove-label": "Удалить метку",
+  "listDeletePopup-title": "Удалить список?",
+  "remove-member": "Удалить участника",
+  "remove-member-from-card": "Удалить из карточки",
+  "remove-member-pop": "Удалить участника __name__ (__username__) из доски __boardTitle__? Участник будет удален из всех карточек на этой доске. Также он получит уведомление о совершаемом действии.",
+  "removeMemberPopup-title": "Удалить участника?",
+  "rename": "Переименовать",
+  "rename-board": "Переименовать доску",
+  "restore": "Восстановить",
+  "save": "Сохранить",
+  "search": "Поиск",
+  "rules": "Правила",
+  "search-cards": "Поиск в названиях карточек/списков, описаниях и пользовательских полях на этой доске",
+  "search-example": "Введите текст, который ищете, и нажмите Ввод.",
+  "select-color": "Выбрать цвет",
+  "select-board": "Выбрать доску",
+  "set-wip-limit-value": "Устанавливает ограничение на максимальное количество задач в этом списке",
+  "setWipLimitPopup-title": "Задать лимит на кол-во задач",
+  "shortcut-assign-self": "Связать себя с текущей карточкой",
+  "shortcut-autocomplete-emoji": "Автозаполнение emoji",
+  "shortcut-autocomplete-members": "Автозаполнение участников",
+  "shortcut-clear-filters": "Сбросить все фильтры",
+  "shortcut-close-dialog": "Закрыть диалог",
+  "shortcut-filter-my-cards": "Показать мои карточки",
+  "shortcut-show-shortcuts": "Поднять список ярлыков",
+  "shortcut-toggle-filterbar": "Переместить фильтр на бововую панель",
+  "shortcut-toggle-searchbar": "Включить/выключить боковую панель поиска",
+  "shortcut-toggle-sidebar": "Переместить доску на боковую панель",
+  "show-cards-minimum-count": "Показывать количество карточек если их больше",
+  "sidebar-open": "Открыть Панель",
+  "sidebar-close": "Скрыть Панель",
+  "signupPopup-title": "Создать учетную запись",
+  "star-board-title": "Добавить в «Избранное». Эта доска будет всегда на виду.",
+  "starred-boards": "Добавленные в «Избранное»",
+  "starred-boards-description": "Избранные доски будут всегда вверху списка.",
+  "subscribe": "Подписаться",
+  "team": "Участники",
+  "this-board": "эту доску",
+  "this-card": "текущая карточка",
+  "spent-time-hours": "Затраченное время (в часах)",
+  "overtime-hours": "Переработка (в часах)",
+  "overtime": "Переработка",
+  "has-overtime-cards": "Имеются карточки с переработкой",
+  "has-spenttime-cards": "Имеются карточки с учетом затраченного времени",
+  "time": "Время",
+  "title": "Название",
+  "tracking": "Отслеживание",
+  "tracking-info": "Вы будете уведомлены о любых изменениях в тех карточках, в которых вы являетесь создателем или участником.",
+  "type": "Тип",
+  "unassign-member": "Отменить назначение участника",
+  "unsaved-description": "У вас есть несохраненное описание.",
+  "unwatch": "Перестать следить",
+  "upload": "Загрузить",
+  "upload-avatar": "Загрузить аватар",
+  "uploaded-avatar": "Загруженный аватар",
+  "custom-top-left-corner-logo-image-url": "URL пользовательского изображения в левом верхнем углу",
+  "custom-top-left-corner-logo-link-url": "URL ссылки с пользовательского изображения в левом верхнем углу",
+  "custom-top-left-corner-logo-height": "Задать высоту логотипа в верхнем левом углу. По умолчанию 27",
+  "custom-login-logo-image-url": "URL пользовательского изображения при входе",
+  "custom-login-logo-link-url": "URL ссылки с пользовательского изображения при входе",
+  "text-below-custom-login-logo": "Текст под пользовательским изображением при входе",
+  "automatic-linked-url-schemes": "Пользовательская URL схема, которая должна быть кликабельной. Одна схема в каждой строке.",
+  "username": "Имя пользователя",
+  "import-usernames": "Импорт имен пользователей",
+  "view-it": "Просмотреть",
+  "warn-list-archived": "внимание: эта карточка из списка, который находится в Архиве",
+  "watch": "Следить",
+  "watching": "Полный контроль",
+  "watching-info": "Вы будете уведомлены об любых изменениях в этой доске.",
+  "welcome-board": "Приветственная Доска",
+  "welcome-swimlane": "Этап 1",
+  "welcome-list1": "Основы",
+  "welcome-list2": "Расширенно",
+  "card-templates-swimlane": "Шаблоны карточек",
+  "list-templates-swimlane": "Шаблоны списков",
+  "board-templates-swimlane": "Шаблоны доски",
+  "what-to-do": "Что вы хотите сделать?",
+  "wipLimitErrorPopup-title": "Некорректный лимит на кол-во задач",
+  "wipLimitErrorPopup-dialog-pt1": "Количество задач в этом списке превышает установленный вами лимит",
+  "wipLimitErrorPopup-dialog-pt2": "Пожалуйста, перенесите некоторые задачи из этого списка или увеличьте лимит на кол-во задач",
+  "admin-panel": "Административная Панель",
+  "settings": "Настройки",
+  "people": "Люди",
+  "registration": "Регистрация",
+  "disable-self-registration": "Отключить самостоятельную регистрацию",
+  "invite": "Пригласить",
+  "invite-people": "Пригласить людей",
+  "to-boards": "В Доску(и)",
+  "email-addresses": "Email адрес",
+  "smtp-host-description": "Адрес SMTP сервера, который отправляет ваши электронные письма.",
+  "smtp-port-description": "Порт который SMTP-сервер использует для исходящих сообщений.",
+  "smtp-tls-description": "Включить поддержку TLS для SMTP сервера",
+  "smtp-host": "SMTP Хост",
+  "smtp-port": "SMTP Порт",
+  "smtp-username": "Имя пользователя",
+  "smtp-password": "Пароль",
+  "smtp-tls": "Поддержка TLS",
+  "send-from": "От",
+  "send-smtp-test": "Отправьте тестовое письмо себе",
+  "invitation-code": "Код приглашения",
+  "email-invite-register-subject": "__inviter__ прислал вам приглашение",
+  "email-invite-register-text": "Уважаемый __user__,\n\n__inviter__ приглашает вас использовать канбан-доску для совместной работы.\n\nПожалуйста, проследуйте по ссылке:\n__url__\n\nКод вашего приглашения: __icode__\n\nСпасибо.",
+  "email-smtp-test-subject": "Тестовое письмо SMTP",
+  "email-smtp-test-text": "Вы успешно отправили письмо",
+  "error-invitation-code-not-exist": "Код приглашения не существует",
+  "error-notAuthorized": "У вас нет доступа на просмотр этой страницы.",
+  "webhook-title": "Имя Веб-Хука",
+  "webhook-token": "Токен (Опционально для аутентификации)",
+  "outgoing-webhooks": "Исходящие Веб-Хуки",
+  "bidirectional-webhooks": "Двунаправленный Веб-Хук",
+  "outgoingWebhooksPopup-title": "Исходящие Веб-Хуки",
+  "boardCardTitlePopup-title": "Фильтр названий карточек",
+  "disable-webhook": "Отключить этот Веб-Хук",
+  "global-webhook": "Глобальные Веб-Хуки",
+  "new-outgoing-webhook": "Новый исходящий Веб-Хук",
+  "no-name": "(Неизвестный)",
+  "Node_version": "Версия NodeJS",
+  "Meteor_version": "Версия Meteor",
+  "MongoDB_version": "Версия MongoDB",
+  "MongoDB_storage_engine": "Движок хранилища MongoDB",
+  "MongoDB_Oplog_enabled": "MongoDB Oplog включен",
+  "OS_Arch": "Архитектура",
+  "OS_Cpus": "Количество процессоров",
+  "OS_Freemem": "Свободная память",
+  "OS_Loadavg": "Средняя загрузка",
+  "OS_Platform": "Платформа",
+  "OS_Release": "Версия ядра",
+  "OS_Totalmem": "Общая память",
+  "OS_Type": "Тип ОС",
+  "OS_Uptime": "Время работы",
+  "days": "дней",
+  "hours": "часы",
+  "minutes": "минуты",
+  "seconds": "секунды",
+  "show-field-on-card": "Показать это поле на карточке",
+  "automatically-field-on-card": "Добавить поле на новую карточку",
+  "always-field-on-card": "Добавить поле на все карточки",
+  "showLabel-field-on-card": "Показать имя поля на карточке",
+  "yes": "Да",
+  "no": "Нет",
+  "accounts": "Учетные записи",
+  "accounts-allowEmailChange": "Разрешить изменение электронной почты",
+  "accounts-allowUserNameChange": "Разрешить изменение имени пользователя",
+  "createdAt": "Создан",
+  "modifiedAt": "Изменено",
+  "verified": "Подтвержден",
+  "active": "Действующий",
+  "card-received": "Получено",
+  "card-received-on": "Получено с",
+  "card-end": "Завершено",
+  "card-end-on": "Завершится до",
+  "editCardReceivedDatePopup-title": "Изменить дату получения",
+  "editCardEndDatePopup-title": "Изменить дату завершения",
+  "setCardColorPopup-title": "Задать цвет",
+  "setCardActionsColorPopup-title": "Выберите цвет",
+  "setSwimlaneColorPopup-title": "Выберите цвет",
+  "setListColorPopup-title": "Выберите цвет",
+  "assigned-by": "Поручил",
+  "requested-by": "Запросил",
+  "board-delete-notice": "Удаление является постоянным. Вы потеряете все списки, карты и действия, связанные с этой доской.",
+  "delete-board-confirm-popup": "Все списки, карточки, метки и действия будут удалены, и вы не сможете восстановить содержимое доски. Отменить нельзя.",
+  "boardDeletePopup-title": "Удалить доску?",
+  "delete-board": "Удалить доску",
+  "default-subtasks-board": "Подзадача для доски __board__",
+  "default": "По умолчанию",
+  "queue": "Очередь",
+  "subtask-settings": "Настройки подзадач",
+  "card-settings": "Настройки карточки",
+  "boardSubtaskSettingsPopup-title": "Настройки подзадач для доски",
+  "boardCardSettingsPopup-title": "Настройки карточки",
+  "deposit-subtasks-board": "Отправлять подзадачи на доску:",
+  "deposit-subtasks-list": "Размещать подзадачи, отправленные на эту доску, в списке:",
+  "show-parent-in-minicard": "Указывать исходную карточку:",
+  "prefix-with-full-path": "Cверху, полный путь",
+  "prefix-with-parent": "Сверху, только имя",
+  "subtext-with-full-path": "Cнизу, полный путь",
+  "subtext-with-parent": "Снизу, только имя",
+  "change-card-parent": "Сменить исходную карточку",
+  "parent-card": "Исходная карточка",
+  "source-board": "Исходная доска",
+  "no-parent": "Не указывать",
+  "activity-added-label": "добавил метку '%s' на %s",
+  "activity-removed-label": "удалил метку '%s' с %s",
+  "activity-delete-attach": "удалил вложение из %s",
+  "activity-added-label-card": "добавил метку '%s'",
+  "activity-removed-label-card": "удалил метку '%s'",
+  "activity-delete-attach-card": "удалил вложение",
+  "activity-set-customfield": "сменил значение поля '%s' на '%s' в карточке %s",
+  "activity-unset-customfield": "очистил поле '%s' в карточке %s",
+  "r-rule": "Правило",
+  "r-add-trigger": "Задать условие",
+  "r-add-action": "Задать действие",
+  "r-board-rules": "Правила доски",
+  "r-add-rule": "Добавить правило",
+  "r-view-rule": "Показать правило",
+  "r-delete-rule": "Удалить правило",
+  "r-new-rule-name": "Имя нового правила",
+  "r-no-rules": "Нет правил",
+  "r-trigger": "Триггер",
+  "r-action": "Действие",
+  "r-when-a-card": "Когда карточка",
+  "r-is": " ",
+  "r-is-moved": "перемещается",
+  "r-added-to": "Добавлено в",
+  "r-removed-from": "Покидает",
+  "r-the-board": "доску",
+  "r-list": "список",
+  "list": "Список",
+  "set-filter": "Установить фильтр",
+  "r-moved-to": "Перемещается в",
+  "r-moved-from": "Покидает",
+  "r-archived": "Перемещена в архив",
+  "r-unarchived": "Восстановлена из архива",
+  "r-a-card": "карточку",
+  "r-when-a-label-is": "Когда метка",
+  "r-when-the-label": "Когда метка",
+  "r-list-name": "имя",
+  "r-when-a-member": "Когда участник",
+  "r-when-the-member": "Когда участник",
+  "r-name": "имя",
+  "r-when-a-attach": "Когда вложение",
+  "r-when-a-checklist": "Когда контрольный список",
+  "r-when-the-checklist": "Когда контрольный список",
+  "r-completed": "Завершен",
+  "r-made-incomplete": "Вновь открыт",
+  "r-when-a-item": "Когда пункт контрольного списка",
+  "r-when-the-item": "Когда пункт контрольного списка",
+  "r-checked": "Отмечен",
+  "r-unchecked": "Снят",
+  "r-move-card-to": "Переместить карточку в",
+  "r-top-of": "Начало",
+  "r-bottom-of": "Конец",
+  "r-its-list": "текущего списка",
+  "r-archive": "Переместить в архив",
+  "r-unarchive": "Восстановить из Архива",
+  "r-card": "карточку",
+  "r-add": "Создать",
+  "r-remove": "Удалить",
+  "r-label": "метку",
+  "r-member": "участника",
+  "r-remove-all": "Удалить всех участников из карточки",
+  "r-set-color": "Сменить цвет на",
+  "r-checklist": "контрольный список",
+  "r-check-all": "Отметить все",
+  "r-uncheck-all": "Снять все",
+  "r-items-check": "пункты контрольного списка",
+  "r-check": "Отметить",
+  "r-uncheck": "Снять",
+  "r-item": "пункт",
+  "r-of-checklist": "контрольного списка",
+  "r-send-email": "Отправить письмо",
+  "r-to": "кому",
+  "r-of": "из",
+  "r-subject": "тема",
+  "r-rule-details": "Содержание правила",
+  "r-d-move-to-top-gen": "Переместить карточку в начало текущего списка",
+  "r-d-move-to-top-spec": "Переместить карточку в начало списка",
+  "r-d-move-to-bottom-gen": "Переместить карточку в конец текущего списка",
+  "r-d-move-to-bottom-spec": "Переместить карточку в конец списка",
+  "r-d-send-email": "Отправить письмо",
+  "r-d-send-email-to": "кому",
+  "r-d-send-email-subject": "тема",
+  "r-d-send-email-message": "сообщение",
+  "r-d-archive": "Переместить карточку в Архив",
+  "r-d-unarchive": "Восстановить карточку из Архива",
+  "r-d-add-label": "Добавить метку",
+  "r-d-remove-label": "Удалить метку",
+  "r-create-card": "Создать новую карточку",
+  "r-in-list": "в списке",
+  "r-in-swimlane": "в дорожке",
+  "r-d-add-member": "Добавить участника",
+  "r-d-remove-member": "Удалить участника",
+  "r-d-remove-all-member": "Удалить всех участников",
+  "r-d-check-all": "Отметить все пункты в списке",
+  "r-d-uncheck-all": "Снять все пункты в списке",
+  "r-d-check-one": "Отметить пункт",
+  "r-d-uncheck-one": "Снять пункт",
+  "r-d-check-of-list": "контрольного списка",
+  "r-d-add-checklist": "Добавить контрольный список",
+  "r-d-remove-checklist": "Удалить контрольный список",
+  "r-by": "пользователем",
+  "r-add-checklist": "Добавить контрольный список",
+  "r-with-items": "с пунктами",
+  "r-items-list": "пункт1,пункт2,пункт3",
+  "r-add-swimlane": "Добавить дорожку",
+  "r-swimlane-name": "имя",
+  "r-board-note": "Примечание: пустое поле соответствует любым возможным значениям.",
+  "r-checklist-note": "Примечание: пункты контрольных списков при перечислении разделяются запятыми.",
+  "r-when-a-card-is-moved": "Когда карточка перемещена в другой список",
+  "r-set": "Установить",
+  "r-update": "Обновить",
+  "r-datefield": "поле даты",
+  "r-df-start-at": "в работе с",
+  "r-df-due-at": "выполнить к",
+  "r-df-end-at": "завершено",
+  "r-df-received-at": "получено",
+  "r-to-current-datetime": "в соответствии с текущей датой/временем",
+  "r-remove-value-from": "Очистить",
+  "ldap": "LDAP",
+  "oauth2": "OAuth2",
+  "cas": "CAS",
+  "authentication-method": "Способ авторизации",
+  "authentication-type": "Тип авторизации",
+  "custom-product-name": "Собственное наименование",
+  "layout": "Внешний вид",
+  "hide-logo": "Скрыть логотип",
+  "add-custom-html-after-body-start": "Добавить HTML после начала <body>",
+  "add-custom-html-before-body-end": "Добавить HTML до завершения </body>",
+  "error-undefined": "Что-то пошло не так",
+  "error-ldap-login": "Ошибка при попытке авторизации",
+  "display-authentication-method": "Показывать способ авторизации",
+  "default-authentication-method": "Способ авторизации по умолчанию",
+  "duplicate-board": "Клонировать доску",
+  "org-number": "Количество организаций:",
+  "team-number": "Количество команд:",
+  "people-number": "Количество человек:",
+  "swimlaneDeletePopup-title": "Удалить дорожку?",
+  "swimlane-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить дорожку. Данное действие необратимо.",
+  "restore-all": "Восстановить все",
+  "delete-all": "Удалить все",
+  "loading": "Идет загрузка, пожалуйста подождите",
+  "previous_as": "в прошлый раз был",
+  "act-a-dueAt": "изменил срок выполнения \nСтало: __timeValue__\nВ карточке: __card__\nранее было __timeOldValue__",
+  "act-a-endAt": "изменил время завершения на __timeValue__, было (__timeOldValue__)",
+  "act-a-startAt": "изменил время начала на __timeValue__, было (__timeOldValue__)",
+  "act-a-receivedAt": "изменил время получения на __timeValue__, было (__timeOldValue__)",
+  "a-dueAt": "изменил срок выполнения на",
+  "a-endAt": "изменил время завершения на",
+  "a-startAt": "изменил время начала работы на",
+  "a-receivedAt": "изменил время получения на",
+  "almostdue": "текущий срок выполнения %s приближается",
+  "pastdue": "текущий срок выполнения %s прошел",
+  "duenow": "текущий срок выполнения %s сегодня",
+  "act-newDue": "__list__/__card__ содержит 1-ое напоминание о сроке [__board__]",
+  "act-withDue": "__list__/__card__ напоминания о сроке выполнения [__board__]",
+  "act-almostdue": "напомнил, что скоро завершается срок выполнения (__timeValue__) карточки __card__",
+  "act-pastdue": "напомнил, что срок выполнения (__timeValue__) карточки __card__ прошел",
+  "act-duenow": "напомнил, что срок выполнения (__timeValue__) карточки __card__ — это уже сейчас",
+  "act-atUserComment": "Вас упомянули в [__board__] __list__/__card__",
+  "delete-user-confirm-popup": "Вы уверены, что хотите удалить аккаунт? Данное действие необратимо.",
+  "accounts-allowUserDelete": "Разрешить пользователям удалять собственные аккаунты",
+  "hide-minicard-label-text": "Скрыть текст меток на карточках",
+  "show-desktop-drag-handles": "Показать ярлыки для перетаскивания",
+  "assignee": "Исполнитель",
+  "cardAssigneesPopup-title": "Исполнитель",
+  "addmore-detail": "Добавить более детальное описание",
+  "show-on-card": "Показать на карточке",
+  "new": "Новый",
+  "editOrgPopup-title": "Редактировать организацию",
+  "newOrgPopup-title": "Новая организация",
+  "editTeamPopup-title": "Редактировать команду",
+  "newTeamPopup-title": "Новая команда",
+  "editUserPopup-title": "Редактировать пользователя",
+  "newUserPopup-title": "Новый пользователь",
+  "notifications": "Уведомления",
+  "view-all": "Показать все",
+  "filter-by-unread": "Фильтр по непрочитанным",
+  "mark-all-as-read": "Отметить все как прочитанные",
+  "remove-all-read": "Удалить все прочитанные",
+  "allow-rename": "Разрешить переименование",
+  "allowRenamePopup-title": "Разрешить переименование",
+  "start-day-of-week": "Установить день начала недели",
+  "monday": "Понедельник",
+  "tuesday": "Вторник",
+  "wednesday": "Среда",
+  "thursday": "Четверг",
+  "friday": "Пятница",
+  "saturday": "Суббота",
+  "sunday": "Воскресенье",
+  "status": "Статус",
+  "swimlane": "Дорожка",
+  "owner": "Владелец",
+  "last-modified-at": "Последний раз изменено",
+  "last-activity": "Последние действия",
+  "voting": "Голосование",
+  "archived": "Архивировано",
+  "delete-linked-card-before-this-card": "Вы не можете удалить карточку, не удалив связанную c ней карточку, которая имеет ",
+  "delete-linked-cards-before-this-list": "Вы не можете удалить этот список, не удалив карточки, которые указывают на карточки в этом списке",
+  "hide-checked-items": "Спрятать отмеченные",
+  "task": "Задача",
+  "create-task": "Создать задачу",
+  "ok": "Ok",
+  "organizations": "Организации",
+  "teams": "Команды",
+  "displayName": "Отображаемое название",
+  "shortName": "Короткое название",
+  "website": "Вебсайт",
+  "person": "Представитель",
+  "my-cards": "Мои карточки",
+  "card": "Карточка",
+  "board": "Доска",
+  "context-separator": "/",
+  "myCardsSortChange-title": "Сортировать мои карточки",
+  "myCardsSortChangePopup-title": "Сортировать мои карточки",
+  "myCardsSortChange-choice-board": "По доскам",
+  "myCardsSortChange-choice-dueat": "По сроку выполнения",
+  "dueCards-title": "Карточки с установленным сроком",
+  "dueCardsViewChange-title": "Просмотр карточки с установленным сроком",
+  "dueCardsViewChangePopup-title": "Просмотр карточки с установленным сроком",
+  "dueCardsViewChange-choice-me": "Мне",
+  "dueCardsViewChange-choice-all": "Все пользователи",
+  "dueCardsViewChange-choice-all-description": "Показать все незавершенные карточки с установленным сроком с досок для которых у пользователя есть разрешения.",
+  "broken-cards": "Просроченные карточки",
+  "board-title-not-found": "Доска '%s' не найдена.",
+  "swimlane-title-not-found": "Дорожка '%s' не найдена.",
+  "list-title-not-found": "Список '%s' не найден.",
+  "label-not-found": "Метка '%1' не найдена.",
+  "label-color-not-found": "Цвет метки '%1' не найден.",
+  "user-username-not-found": "Имя пользователя '%s' не найдено.",
+  "comment-not-found": "Карточка с комментарием, содержащим текст '%s', не найдена.",
+  "globalSearch-title": "Искать на всех досках",
+  "no-cards-found": "Ни одной карточки не найдено",
+  "one-card-found": "Найдена одна карточка",
+  "n-cards-found": "Карточек найдено %s",
+  "n-n-of-n-cards-found": "__start__-__end__ из __total__ карточек найдено",
+  "operator-board": "доска",
+  "operator-board-abbrev": "д",
+  "operator-swimlane": "дорожка",
+  "operator-swimlane-abbrev": "дор.",
+  "operator-list": "список",
+  "operator-list-abbrev": "l",
+  "operator-label": "метку",
+  "operator-label-abbrev": "#",
+  "operator-user": "пользователь",
+  "operator-user-abbrev": "@",
+  "operator-member": "участника",
+  "operator-member-abbrev": "m",
+  "operator-assignee": "Кому назначено",
+  "operator-assignee-abbrev": "a",
+  "operator-creator": "автор",
+  "operator-status": "статус",
+  "operator-due": "выполнить к",
+  "operator-created": "создано",
+  "operator-modified": "изменено",
+  "operator-sort": "сортировка",
+  "operator-comment": "комментарий",
+  "operator-has": "имеет",
+  "operator-limit": "лимит",
+  "predicate-archived": "архивировано",
+  "predicate-open": "открыт",
+  "predicate-ended": "завершено",
+  "predicate-all": "все",
+  "predicate-overdue": "просрочено",
+  "predicate-week": "неделя",
+  "predicate-month": "месяц",
+  "predicate-quarter": "квартал",
+  "predicate-year": "год",
+  "predicate-due": "выполнить к",
+  "predicate-modified": "изменено",
+  "predicate-created": "создано",
+  "predicate-attachment": "вложение",
+  "predicate-description": "описание",
+  "predicate-checklist": "контрольный список",
+  "predicate-start": "в работе с",
+  "predicate-end": "завершено",
+  "predicate-assignee": "Кому назначено",
+  "predicate-member": "участника",
+  "predicate-public": "общедоступно",
+  "predicate-private": "приватно",
+  "operator-unknown-error": "%1 не оператор",
+  "operator-number-expected": "оператор __operator__ используется с числом, задано '__value__'",
+  "operator-sort-invalid": "сортировка '%s' неверна",
+  "operator-status-invalid": "'%s' не допустимый статус",
+  "operator-has-invalid": "%s неверная проверка присутствия",
+  "operator-limit-invalid": "%s неверное ограничение. Ограничение должно быть положительным целым.",
+  "next-page": "Следующая страница",
+  "previous-page": "Предыдущая страница",
+  "heading-notes": "Заметки",
+  "globalSearch-instructions-heading": "Инструкция по поиску",
+  "globalSearch-instructions-description": "Поисковая строка может содержать операторы для уточнения запроса. Оператор задается именем оператора и значением разделенными двоеточием. Например, оператор 'list:Blocked' ограничит результат запроса карточками состоящими в списке 'Blocked'. Если значение содержит пробелы или специальные символы, то оно должно быть заключено в кавычки(__operator_list__:\"To Review\").",
+  "globalSearch-instructions-operators": "Доступные операторы:",
+  "globalSearch-instructions-operator-board": "`__operator_board__:<title>` - карточки соответствуют: *<title>*",
+  "globalSearch-instructions-operator-list": "`__operator_list__:<title>` - карточки в списке соответствуют: *<title>*",
+  "globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:<title>` - карточки на дорожках, соответствующих *<title>*",
+  "globalSearch-instructions-operator-comment": "`__operator_comment__:<text>` - карточки с комментарием содержащим *<text>*.",
+  "globalSearch-instructions-operator-label": "`__operator_label__:<color>` `__operator_label__:<name>` - карточки, которые имеют метку соответствующую *<color>* or *<name>",
+  "globalSearch-instructions-operator-hash": "`__operator_label_abbrev__<name|color>` - shorthand for `__operator_label__:<color>` or `__operator_label__:<name>`",
+  "globalSearch-instructions-operator-user": "`__operator_user__:<username>` - карточки в которых *<username>* *участник* или *исполнитель*",
+  "globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - сокращение для `пользователь:<username>`",
+  "globalSearch-instructions-operator-member": "`__operator_member__:<username>` - карточки, в которых *<username>* *участник*",
+  "globalSearch-instructions-operator-assignee": "`__operator_assignee__:<username>` - карточки, в которых *<username>* *исполнитель*",
+  "globalSearch-instructions-operator-creator": "`__operator_creator__:<username>` - cards where *<username>* is the card's creator",
+  "globalSearch-instructions-operator-due": "`__operator_due__:<n>` - карточки с датой завершения до *<n>* дней от текущей даты.  `__operator_due__:__predicate_overdue__ список всех просроченных карточек.",
+  "globalSearch-instructions-operator-created": "`__operator_created__:<n>` - карточки, которые были созданы до *<n>* дней назад",
+  "globalSearch-instructions-operator-modified": "`__operator_modified__:<n>` - карточки, который изменены до *<n>* дней назад",
+  "globalSearch-instructions-operator-status": "`__operator_status__:<status>` - где *<status>* что-то из следующего:",
+  "globalSearch-instructions-status-archived": "`__predicate_archived__` - архивированные карточки",
+  "globalSearch-instructions-status-all": "`__predicate_all__` - все архивированные и не архивированные карточки",
+  "globalSearch-instructions-status-ended": "`__predicate_ended__` - карточки с датой завершения",
+  "globalSearch-instructions-status-public": "`__predicate_public__` - карточки только на публичных досках",
+  "globalSearch-instructions-status-private": "`__predicate_private__` - карточки только на личных досках",
+  "globalSearch-instructions-operator-has": "`__operator_has__:<field>` - где *<field>* что-либо из `__predicate_attachment__`, `__predicate_checklist__`, `__predicate_description__`, `__predicate_start__`, `__predicate_due__`, `__predicate_end__`, `__predicate_assignee__` или `__predicate_member__`.  Указание `-` перед *<field>* производит поиск по отсутствию значения в указанном поле. (напр. `has:-due` поиск карточек без даты завершения).",
+  "globalSearch-instructions-operator-sort": "`__operator_sort__:<sort-name>` - где*<sort-name>* что-либо из `__predicate_due__`, `__predicate_created__` или `__predicate_modified__`.  Для сортировки по убыванию, укажите `-` перед названием сортировки.",
+  "globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - где *<n>* положительное целое определяющее количество карточек на одной странице.",
+  "globalSearch-instructions-notes-1": "Может быть задано несколько операторов.",
+  "globalSearch-instructions-notes-2": "Одинаковые операторы объединяются логическим \"ИЛИ\", например:\n`__operator_list__:Available __operator_list__:Blocked` вернет карточки, которые содержатся в списке *Blocked* или *Available*.",
+  "globalSearch-instructions-notes-3": "Разные операторы объединяются логическим \"И\". Возвращаются только объекты удовлетворяющие всем заданным условиям.`__operator_list__:Available __operator_label__:red` вернет карточки, которые содержатся в списке *Available* и имеют метку *red*.",
+  "globalSearch-instructions-notes-3-2": "Количество дней может быть задано положительным или отрицательным целым или используя `__predicate_week__`, `__predicate_month__`, `__predicate_quarter__` или `__predicate_year__` для текущего периода.",
+  "globalSearch-instructions-notes-4": "Текстовый поиск нечувствителен к регистру символов.",
+  "globalSearch-instructions-notes-5": "По умолчанию, поиск в архивированных карточках не производится.",
+  "link-to-search": "Ссылка на этот поиск",
+  "excel-font": "Arial",
+  "number": "Номер",
+  "label-colors": "Цвета меток",
+  "label-names": "Названия меток",
+  "archived-at": "архивировано",
+  "sort-cards": "Сортировать карточки",
+  "cardsSortPopup-title": "Сортировать карточки",
+  "due-date": "Назначенная дата",
+  "server-error": "Ошибка сервера",
+  "server-error-troubleshooting": "Пожалуйста отправьте описание ошибки созданное сервером.\nДля установки с помощью snap, запустите: `sudo snap logs wekan.wekan`\nДля установки с помощью Docker, запустите: `sudo docker logs wekan-app`",
+  "title-alphabetically": "Название (по алфавиту)",
+  "created-at-newest-first": "Дата создания (сначала новые)",
+  "created-at-oldest-first": "Дата создания (сначала старые)",
+  "links-heading": "Ссылки",
+  "hide-system-messages-of-all-users": "Скрыть системные сообщения всех пользователей",
+  "now-system-messages-of-all-users-are-hidden": "Системные сообщения всех пользователей скрыты",
+  "move-swimlane": "Переместить дорожку",
+  "moveSwimlanePopup-title": "Переместить дорожку",
+  "custom-field-stringtemplate": "Строковый шаблон",
+  "custom-field-stringtemplate-format": "Формат (используйте %{значение} для подстановки)",
+  "custom-field-stringtemplate-separator": "Разделитель (для пробела используйте &#32; или &nbsp;)",
+  "custom-field-stringtemplate-item-placeholder": "Press enter to add more items",
+  "creator": "Автор",
+  "filesReportTitle": "Отчёт по файлам",
+  "orphanedFilesReportTitle": "Отчёт по потерянным файлам",
+  "reports": "Отчёты",
+  "rulesReportTitle": "Отчёт по правилам",
+  "copy-swimlane": "Скопировать дорожку",
+  "copySwimlanePopup-title": "Скопировать дорожку"
+}

+ 10 - 4
openapi/generate_openapi.py

@@ -607,6 +607,9 @@ class SchemaProperty(object):
 
         # deal with subschemas
         if '.' in name:
+            subschema = name.split('.')[0]
+            subschema = subschema.capitalize()
+
             if name.endswith('$'):
                 # reference in reference
                 subschema = ''.join([n.capitalize() for n in self.name.split('.')[:-1]])
@@ -621,9 +624,12 @@ class SchemaProperty(object):
                     print('''  {}:
     type: object'''.format(subschema))
                     return current_schema
+            elif '$' in name:
+                # In the form of 'profile.notifications.$.activity'
+                subschema = name[:name.index('$') - 1]  # 'profile.notifications'
+                subschema = ''.join([s.capitalize() for s in subschema.split('.')])
 
-            subschema = name.split('.')[0]
-            schema_name = self.schema.name + subschema.capitalize()
+            schema_name = self.schema.name + subschema
             name = name.split('.')[-1]
 
             if current_schema != schema_name:
@@ -755,7 +761,7 @@ class Schemas(object):
         # then print the references
         current = None
         required_properties = []
-        properties = [f for f in self.fields if '.' in f.name and not f.name.endswith('$')]
+        properties = [f for f in self.fields if '.' in f.name and not '$' in f.name]
         for prop in properties:
             current = prop.print_openapi(6, current, required_properties)
 
@@ -766,7 +772,7 @@ class Schemas(object):
 
         required_properties = []
         # then print the references in the references
-        for prop in [f for f in self.fields if '.' in f.name and f.name.endswith('$')]:
+        for prop in [f for f in self.fields if '.' in f.name and '$' in f.name]:
             current = prop.print_openapi(6, current, required_properties)
 
         if required_properties:

+ 27 - 23
public/api/wekan.yml

@@ -3681,20 +3681,6 @@ definitions:
       - createdAt
       - modifiedAt
       - authenticationMethod
-  UsersEmails:
-    type: object
-    properties:
-      address:
-        description: |
-           The email address
-        type: string
-      verified:
-        description: |
-           Has the email been verified
-        type: boolean
-    required:
-      - address
-      - verified
   UsersProfile:
     type: object
     properties:
@@ -3750,14 +3736,6 @@ definitions:
         type: array
         items:
           $ref: "#/definitions/UsersProfileNotifications"
-      activity:
-        description: |
-           The id of the activity this notification references
-        type: string
-      read:
-        description: |
-           the date on which this notification was read
-        type: string
       showCardsCountAt:
         description: |
            showCardCountAt field of the user
@@ -3813,7 +3791,6 @@ definitions:
            Reference to the board templates swimlane Id
         type: string
     required:
-      - activity
       - templatesBoardId
       - cardTemplatesSwimlaneId
       - listTemplatesSwimlaneId
@@ -3829,3 +3806,30 @@ definitions:
         description: |
            last hit that was returned
         type: number
+  UsersEmails:
+    type: object
+    properties:
+      address:
+        description: |
+           The email address
+        type: string
+      verified:
+        description: |
+           Has the email been verified
+        type: boolean
+    required:
+      - address
+      - verified
+  UsersProfileNotifications:
+    type: object
+    properties:
+      activity:
+        description: |
+           The id of the activity this notification references
+        type: string
+      read:
+        description: |
+           the date on which this notification was read
+        type: string
+    required:
+      - activity

+ 1 - 1
releases/translations/pull-translations.sh

@@ -63,7 +63,7 @@ tx pull -f -l ka
 echo "German:"
 tx pull -f -l de
 
-echo "German (Switzerland):"
+echo "German (Switzerland) => Deutsch (Schweiz):"
 tx pull -f -l de_CH
 
 echo "Greek:"

+ 2 - 2
torodb-postgresql/docker-compose.yml

@@ -99,7 +99,7 @@ services:
       - postgres
       - mongodb
     environment:
-      - POSTGRES_PASSWORD
+      - POSTGRES_PASSWORD=wekan
       - TORODB_SETUP=true
       - TORODB_SYNC_SOURCE=mongodb:27017
       - TORODB_BACKEND_HOST=postgres
@@ -113,7 +113,7 @@ services:
     networks:
       - wekan-tier
     environment:
-      - POSTGRES_PASSWORD
+      - POSTGRES_PASSWORD=wekan
     ports:
       - "5432:5432"
   mongodb: