diff --git a/docs-core/src/main/resources/messages_ru.properties b/docs-core/src/main/resources/messages_ru.properties
new file mode 100644
index 00000000..a0b7b299
--- /dev/null
+++ b/docs-core/src/main/resources/messages_ru.properties
@@ -0,0 +1,6 @@
+email.template.password_recovery.hello=\u041F\u0440\u0438\u0432\u0435\u0442 {0}.
+email.no_html.error=\u0412\u0430\u0448 \u043F\u043E\u0447\u0442\u043E\u0432\u044B\u0439 \u043A\u043B\u0438\u0435\u043D\u0442 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HTML-\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F
+email.template.password_recovery.subject=\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u0431\u0440\u043E\u0441\u044C\u0442\u0435 \u0441\u0432\u043E\u0439 \u043F\u0430\u0440\u043E\u043B\u044C
+email.template.password_recovery.instruction2=\u0427\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C, \u043F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u043D\u0438\u0436\u0435:
+email.template.password_recovery.instruction1=\u041C\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u0438 \u0437\u0430\u043F\u0440\u043E\u0441 \u043D\u0430 \u0441\u0431\u0440\u043E\u0441 \u043F\u0430\u0440\u043E\u043B\u044F.
\u0415\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u043E\u0431\u0440\u0430\u0449\u0430\u043B\u0438\u0441\u044C \u0437\u0430 \u043F\u043E\u043C\u043E\u0449\u044C\u044E, \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u044D\u0442\u043E \u043F\u0438\u0441\u044C\u043C\u043E.
+email.template.password_recovery.click_here=\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C.
diff --git a/docs-web/src/main/webapp/src/app/docs/app.js b/docs-web/src/main/webapp/src/app/docs/app.js
index 35132e07..ed6c0cf7 100644
--- a/docs-web/src/main/webapp/src/app/docs/app.js
+++ b/docs-web/src/main/webapp/src/app/docs/app.js
@@ -358,7 +358,8 @@ angular.module('docs',
prefix: 'locale/',
suffix: '.json'
})
- .registerAvailableLanguageKeys(['en', 'fr', 'zh_CN', 'zh_TW'], {
+ .registerAvailableLanguageKeys(['en', 'fr', 'ru', 'zh_CN', 'zh_TW'], {
+ 'ru_*': 'ru',
'en_*': 'en',
'fr_*': 'fr',
'*': 'en'
diff --git a/docs-web/src/main/webapp/src/app/share/app.js b/docs-web/src/main/webapp/src/app/share/app.js
index 5bff769b..9983bdc7 100644
--- a/docs-web/src/main/webapp/src/app/share/app.js
+++ b/docs-web/src/main/webapp/src/app/share/app.js
@@ -61,7 +61,8 @@ angular.module('share',
prefix: 'locale/',
suffix: '.json'
})
- .registerAvailableLanguageKeys(['en', 'fr', 'zh_CN', 'zh_TW'], {
+ .registerAvailableLanguageKeys(['en', 'fr', 'ru', 'zh_CN', 'zh_TW'], {
+ 'ru_*': 'ru',
'en_*': 'en',
'fr_*': 'fr',
'*': 'en'
diff --git a/docs-web/src/main/webapp/src/index.html b/docs-web/src/main/webapp/src/index.html
index 7856e913..e7a644ad 100644
--- a/docs-web/src/main/webapp/src/index.html
+++ b/docs-web/src/main/webapp/src/index.html
@@ -168,6 +168,7 @@
English
Français
+ русский
简体中文
繁體中文
@@ -176,6 +177,7 @@
diff --git a/docs-web/src/main/webapp/src/locale/angular-locale_ru.js b/docs-web/src/main/webapp/src/locale/angular-locale_ru.js
new file mode 100644
index 00000000..3e66f05d
--- /dev/null
+++ b/docs-web/src/main/webapp/src/locale/angular-locale_ru.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+function getDecimals(n) {
+ n = n + '';
+ var i = n.indexOf('.');
+ return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+ var v = opt_precision;
+
+ if (undefined === v) {
+ v = Math.min(getDecimals(n), 3);
+ }
+
+ var base = Math.pow(10, v);
+ var f = ((n * base) | 0) % base;
+ return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+ "DATETIME_FORMATS": {
+ "AMPMS": [
+ "\u0414\u041f",
+ "\u041f\u041f"
+ ],
+ "DAY": [
+ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0441\u0440\u0435\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
+ "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
+ "\u0441\u0443\u0431\u0431\u043e\u0442\u0430"
+ ],
+ "ERANAMES": [
+ "\u0434\u043e \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430",
+ "\u043e\u0442 \u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430 \u0425\u0440\u0438\u0441\u0442\u043e\u0432\u0430"
+ ],
+ "ERAS": [
+ "\u0434\u043e \u043d. \u044d.",
+ "\u043d. \u044d."
+ ],
+ "FIRSTDAYOFWEEK": 0,
+ "MONTH": [
+ "\u044f\u043d\u0432\u0430\u0440\u044f",
+ "\u0444\u0435\u0432\u0440\u0430\u043b\u044f",
+ "\u043c\u0430\u0440\u0442\u0430",
+ "\u0430\u043f\u0440\u0435\u043b\u044f",
+ "\u043c\u0430\u044f",
+ "\u0438\u044e\u043d\u044f",
+ "\u0438\u044e\u043b\u044f",
+ "\u0430\u0432\u0433\u0443\u0441\u0442\u0430",
+ "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f",
+ "\u043e\u043a\u0442\u044f\u0431\u0440\u044f",
+ "\u043d\u043e\u044f\u0431\u0440\u044f",
+ "\u0434\u0435\u043a\u0430\u0431\u0440\u044f"
+ ],
+ "SHORTDAY": [
+ "\u0432\u0441",
+ "\u043f\u043d",
+ "\u0432\u0442",
+ "\u0441\u0440",
+ "\u0447\u0442",
+ "\u043f\u0442",
+ "\u0441\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u044f\u043d\u0432.",
+ "\u0444\u0435\u0432\u0440.",
+ "\u043c\u0430\u0440.",
+ "\u0430\u043f\u0440.",
+ "\u043c\u0430\u044f",
+ "\u0438\u044e\u043d.",
+ "\u0438\u044e\u043b.",
+ "\u0430\u0432\u0433.",
+ "\u0441\u0435\u043d\u0442.",
+ "\u043e\u043a\u0442.",
+ "\u043d\u043e\u044f\u0431.",
+ "\u0434\u0435\u043a."
+ ],
+ "STANDALONEMONTH": [
+ "\u044f\u043d\u0432\u0430\u0440\u044c",
+ "\u0444\u0435\u0432\u0440\u0430\u043b\u044c",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440\u0435\u043b\u044c",
+ "\u043c\u0430\u0439",
+ "\u0438\u044e\u043d\u044c",
+ "\u0438\u044e\u043b\u044c",
+ "\u0430\u0432\u0433\u0443\u0441\u0442",
+ "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c",
+ "\u043e\u043a\u0442\u044f\u0431\u0440\u044c",
+ "\u043d\u043e\u044f\u0431\u0440\u044c",
+ "\u0434\u0435\u043a\u0430\u0431\u0440\u044c"
+ ],
+ "WEEKENDRANGE": [
+ 5,
+ 6
+ ],
+ "fullDate": "EEEE, d MMMM y '\u0433'.",
+ "longDate": "d MMMM y '\u0433'.",
+ "medium": "d MMM y '\u0433'. H:mm:ss",
+ "mediumDate": "d MMM y '\u0433'.",
+ "mediumTime": "H:mm:ss",
+ "short": "dd.MM.y H:mm",
+ "shortDate": "dd.MM.y",
+ "shortTime": "H:mm"
+ },
+ "NUMBER_FORMATS": {
+ "CURRENCY_SYM": "\u20bd",
+ "DECIMAL_SEP": ",",
+ "GROUP_SEP": "\u00a0",
+ "PATTERNS": [
+ {
+ "gSize": 3,
+ "lgSize": 3,
+ "maxFrac": 3,
+ "minFrac": 0,
+ "minInt": 1,
+ "negPre": "-",
+ "negSuf": "",
+ "posPre": "",
+ "posSuf": ""
+ },
+ {
+ "gSize": 3,
+ "lgSize": 3,
+ "maxFrac": 2,
+ "minFrac": 2,
+ "minInt": 1,
+ "negPre": "-",
+ "negSuf": "\u00a0\u00a4",
+ "posPre": "",
+ "posSuf": "\u00a0\u00a4"
+ }
+ ]
+ },
+ "id": "ru",
+ "localeID": "ru",
+ "pluralCat": function(n, opt_precision) { var i = n | 0; var vf = getVF(n, opt_precision); if (vf.v == 0 && i % 10 == 1 && i % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (vf.v == 0 && i % 10 == 0 || vf.v == 0 && i % 10 >= 5 && i % 10 <= 9 || vf.v == 0 && i % 100 >= 11 && i % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
+});
+}]);
diff --git a/docs-web/src/main/webapp/src/locale/ru.json b/docs-web/src/main/webapp/src/locale/ru.json
new file mode 100644
index 00000000..3a26e0ad
--- /dev/null
+++ b/docs-web/src/main/webapp/src/locale/ru.json
@@ -0,0 +1,436 @@
+{
+ "login": {
+ "username": "Имя пользователя",
+ "password": "Пароль",
+ "validation_code_required": "Требуется код проверки",
+ "validation_code_title": "Вы активировали двухфакторную аутентификацию своей учетной записи. Введите код проверки, сгенерированный аппликацией на настроенном телефоне.",
+ "validation_code": "Код проверки",
+ "remember_me": "Запомнить меня",
+ "submit": "Войти в систему",
+ "login_as_guest": "Войти как гость",
+ "login_failed_title": "Ошибка входа",
+ "login_failed_message": "Неверное имя пользователя или пароль",
+ "password_lost_btn": "Пароль потерян?",
+ "password_lost_sent_title": "Сброс пароля",
+ "password_lost_sent_message": "Электронная почта была отправлена на адрес {{ username }}, чтобы сбросить пароль.",
+ "password_lost_error_title": "Ошибка сброса пароля",
+ "password_lost_error_message": "Не удалось отправить письмо сброса пароля, обратитесь к администратору за ручным сбросом"
+ },
+ "passwordlost": {
+ "title": "Пароль потерян",
+ "message": "Пожалуйста, введите свое имя пользователя, чтобы получить ссылку на сброс пароля. Если вы не помните свое имя пользователя, обратитесь к администратору",
+ "submit": "Сбросить пароль"
+ },
+ "passwordreset": {
+ "message": "Введите новый пароль",
+ "submit": "Изменить пароль",
+ "error_title": "Ошибка при изменении пароля",
+ "error_message": "Ваш запрос на восстановление пароля истёк, пожалуйста, запросите новый на странице входа"
+ },
+ "index": {
+ "toggle_navigation": "Переключить навигацию",
+ "nav_documents": "Документы",
+ "nav_tags": "Теги",
+ "nav_users_groups": "Пользователи и группы",
+ "error_info": "{{ count }} новая ошибка",
+ "logged_as": "Вы вошли как {{ username }}",
+ "nav_settings": "Настройки",
+ "logout": "Выйти",
+ "global_quota_warning": "Предупреждение! Глобальная квота почти достигнута в {{ current | number: 0 }}МB ({{ percent | number: 1 }}%), использованы из {{ total | number: 0 }}МB"
+ },
+ "document": {
+ "search_simple": "Простой поиск",
+ "search_fulltext": "Полнотекстовый поиск",
+ "search_creator": "Создатель",
+ "search_language": "Язык",
+ "search_before_date": "До этой даты",
+ "search_after_date": "После этой даты",
+ "search_tags": "Теги",
+ "search_clear": "Очистить",
+ "any_language": "Любой язык",
+ "add_document": "Добавить документ",
+ "tags": "Теги",
+ "no_tags": "Нет тегов",
+ "no_documents": "В базе данных нет документа",
+ "search": "Поиск",
+ "search_empty": "Нет совпадений для \"{{search}}\"",
+ "shared": "Общий",
+ "title": "Название",
+ "description": "Описание",
+ "contributors": "Авторы",
+ "language": "Язык",
+ "creation_date": "Дата создания",
+ "subject": "Тема",
+ "identifier": "Идентификатор",
+ "publisher": "Издатель",
+ "format": "Формат",
+ "source": "Источник",
+ "type": "Тип",
+ "coverage": "Покрытие",
+ "rights": "Права",
+ "relations": "Связи",
+ "page_size": "Размер страницы",
+ "page_size_10": "10 на странице",
+ "page_size_20": "20 на странице",
+ "page_size_30": "30 на странице",
+ "upgrade_quota": "Чтобы обновить свою квоту, спросите своего администратора",
+ "quota": "{{ current | number: 0 }}МB ({{ percent | number: 1 }}%), использовано из {{ total | number: 0 }}МB",
+ "count": "Найдено {{ count }} документа",
+ "view": {
+ "delete_comment_title": "Удалить комментарий",
+ "delete_comment_message": "Вы действительно хотите удалить этот комментарий?",
+ "delete_document_title": "Удалить документ",
+ "delete_document_message": "Вы действительно хотите удалить этот документ?",
+ "shared_document_title": "Общий документ",
+ "shared_document_message": "Вы можете поделиться этим документом, указав эту ссылку. Обратите внимание: все, у кого есть эта ссылка, могут видеть документ.
",
+ "not_found": "Документ не найден",
+ "forbidden": "Доступ запрещен",
+ "download_files": "Скачать файлы",
+ "export_pdf": "Экспорт в PDF",
+ "by_creator": "от",
+ "comments": "Комментарии",
+ "no_comments": "Пока комментариев нет.",
+ "add_comment": "Добавить комментарий",
+ "error_loading_comments": "Ошибка при загрузке комментариев",
+ "content": {
+ "content": "Содержание",
+ "delete_file_title": "Удалить файл",
+ "delete_file_message": "Вы действительно хотите удалить этот файл?",
+ "upload_pending": "В ожидании...",
+ "upload_progress": "Загрузка...",
+ "upload_error": "Ошибка загрузки",
+ "upload_error_quota": "Достигнута квота",
+ "drop_zone": "Перетащите файлы сюда, чтобы загрузить",
+ "add_files": "Добавить файлы"
+ },
+ "permissions": {
+ "permissions": "Права доступа",
+ "message": "Разрешения могут быть применены непосредственно к этому документу или могут быть получены из тегов.",
+ "title": "Разрешения на этот документ",
+ "inherited_tags": "Разрешения, унаследованные тегами",
+ "acl_source": "Из",
+ "acl_target": "Для",
+ "acl_permission": "Разрешение"
+ },
+ "activity": {
+ "activity": "Мероприятия",
+ "message": "Все действия в этом документе регистрируются здесь."
+ }
+ },
+ "edit": {
+ "document_edited_with_errors": "Документ успешно отредактирован, но некоторые файлы не могут быть загружены",
+ "document_added_with_errors": "Документ успешно добавлен, но некоторые файлы не могут быть загружены",
+ "document_added": "Документ успешно добавлен (с {{ count }} файлом)",
+ "quota_reached": "Достигнута квота",
+ "primary_metadata": "Первичные метаданные",
+ "title_placeholder": "Имя, присвоенное ресурсу",
+ "description_placeholder": "Учет ресурсов",
+ "new_files": "Новые файлы",
+ "orphan_files": "+ {{ count }} файл",
+ "additional_metadata": "Дополнительные метаданные",
+ "subject_placeholder": "Тема ресурса",
+ "identifier_placeholder": "Недвусмысленная ссылка на ресурс в данном контексте",
+ "publisher_placeholder": "Сторона, ответственная за предоставление ресурса",
+ "format_placeholder": "Формат файла, физический носитель или размеры ресурса",
+ "source_placeholder": "Связанный ресурс, из которого выведен описанный ресурс",
+ "uploading_files": "Загрузка файлов..."
+ },
+ "default": {
+ "upload_pending": "В ожидании...",
+ "upload_progress": "Загрузка...",
+ "upload_error": "Ошибка загрузки",
+ "upload_error_quota": "Достигнута квота",
+ "quick_upload": "Быстрая загрузка",
+ "drop_zone": "Перетащите файлы сюда, чтобы загрузить",
+ "add_files": "Добавить файлы",
+ "add_new_document": "Добавить в новый документ",
+ "latest_activity": "Последняя активность",
+ "footer_sismics": "Создано с помощью Сцистики",
+ "api_documentation": "Документация API",
+ "feedback": "Оставьте своё мнение"
+ },
+ "pdf": {
+ "export_title": "Экспорт в PDF",
+ "export_metadata": "Экспорт метаданных",
+ "export_comments": "Экспорт комментариев",
+ "fit_to_page": "Растянуть изображение на страницу",
+ "margin": "Поле",
+ "millimeter": "мм"
+ },
+ "share": {
+ "title": "Поделиться документом",
+ "message": "Дайте название для общего доступа, если хотите поделиться одним документом несколько раз.",
+ "submit": "Поделиться"
+ }
+ },
+ "file": {
+ "view": {
+ "previous": "Предыдущий",
+ "next": "Следующий",
+ "not_found": "Файл не найден"
+ }
+ },
+ "tag": {
+ "new_tag": "Новый тег",
+ "search": "Поиск",
+ "edit_tag": "Изменить тег",
+ "default": {
+ "title": "Теги",
+ "message_1": "Теги это метки, связанные с документами.",
+ "message_2": "Документ может быть помечен несколькими тегами, а тег может применяться к нескольким документам.",
+ "message_3": "Используя кнопку , вы можете редактировать разрешения для тега.",
+ "message_4": "Если тег может быть прочитан другим пользователем или группой, связанные с ним документы также могут быть прочитаны этими людьми.",
+ "message_5": "Например, пометьте ваши документы компании тегом MyCompany и добавьте разрешение Читать в группу сотрудники"
+ },
+ "edit": {
+ "delete_tag_title": "Удалить тег",
+ "delete_tag_message": "Вы действительно хотите удалить этот тег?",
+ "name": "Имя",
+ "color": "Цвет",
+ "parent": "Источник",
+ "info": "Разрешения на этот тег также будут применены к документам, помеченным тегом {{ name }}"
+ }
+ },
+ "group": {
+ "profile": {
+ "members": "Участники",
+ "no_members": "Нет участников",
+ "related_links": "Ссылки по теме",
+ "edit_group": "Изменить группу {{ name }}"
+ }
+ },
+ "user": {
+ "profile": {
+ "groups": "Группы",
+ "quota_used": "Используемая квота",
+ "percent_used": "{{ percent | number: 0 }}% Используется",
+ "related_links": "Ссылки по теме",
+ "document_created": "Документы, созданные {{ username }}",
+ "edit_user": "Изменить пользователя {{ username }}"
+ }
+ },
+ "usergroup": {
+ "search_groups": "Поиск в группах",
+ "search_users": "Поиск в пользователях",
+ "you": "Это ты!",
+ "default": {
+ "title": "Пользователи и группы",
+ "message": "Здесь вы можете просмотреть информацию о пользователях и группах."
+ }
+ },
+ "settings": {
+ "menu_personal_settings": "Персональные настройки",
+ "menu_user_account": "Учетная запись пользователя",
+ "menu_two_factor_auth": "Двухфакторная аутентификация",
+ "menu_opened_sessions": "Открытые сессии",
+ "menu_general_settings": "Общие настройки",
+ "menu_users": "Пользователи",
+ "menu_groups": "Группы",
+ "menu_vocabularies": "Словари",
+ "menu_configuration": "Конфигурация",
+ "menu_server_logs": "Журналы сервера",
+ "user": {
+ "title": "Управление пользователями",
+ "add_user": "Добавить пользователя",
+ "username": "Имя пользователя",
+ "create_date": "Создать дату",
+ "totp_enabled": "Для этого аккаунта включена двухфакторная аутентификация",
+ "edit": {
+ "delete_user_title": "Удалить пользователя",
+ "delete_user_message": "Вы действительно хотите удалить этого пользователя? Все связанные документы, файлы и теги будут удалены.",
+ "edit_user_failed_title": "Пользователь уже существует",
+ "edit_user_failed_message": "Это имя пользователя уже используется другим пользователем",
+ "edit_user_title": "Изменить \"{{ username }}\"",
+ "add_user_title": "Добавить пользователя",
+ "username": "Имя пользователя",
+ "email": "Электронная почта",
+ "groups": "Группы",
+ "storage_quota": "Квота хранения",
+ "storage_quota_placeholder": "Квота хранения (в MB)",
+ "password": "Пароль",
+ "password_confirm": "Подтвердить пароль",
+ "disabled": "Отключенный пользователь"
+ }
+ },
+ "security": {
+ "enable_totp": "Включить двухфакторную аутентификацию",
+ "enable_totp_message": "Убедитесь, что на вашем телефоне есть приложение, совместимое с TOTP, чтобы добавить новую учетную запись",
+ "title": "Двухфакторная аутентификация",
+ "message_1": "Двухфакторная аутентификация позволяет вам добавить уровень безопасности в свою учетную запись {{ appName }}.
Прежде чем активировать эту функцию, убедитесь, что на вашем телефоне есть приложение, совместимое с TOTP:",
+ "message_google_authenticator": "Для Android, iOS и Blackberry: Google Authenticator",
+ "message_duo_mobile": "Для Android и iOS: Duo Mobile",
+ "message_authenticator": "Для Windows Phone: Authenticator",
+ "message_2": "Эти приложения автоматически генерируют код проверки, который изменяется через определенный промежуток времени.
Вам будет необходимо ввести этот код проверки каждый раз при входе в систему {{ appName }}.",
+ "secret_key": "Ваш секретный ключ: {{ secret }}",
+ "secret_key_warning": "Настройте свое приложение TOTP на своем телефоне с помощью этого секретного ключа сейчас, вы не сможете получить к нему доступ позже.",
+ "totp_enabled_message": "В вашем аккаунте включена двухфакторная аутентификация.
При каждом входе в систему {{ appName }} вам будет выслан код подтверждения из вашего настроенного приложения на телефоне.
Если вы потеряете свой телефон, вы не сможете войти в свою учетную запись, но активные сеансы позволят вам восстановить секретный ключ.",
+ "disable_totp": {
+ "disable_totp": "Отключить двухфакторную аутентификацию",
+ "message": "Ваша учетная запись больше не будет защищена двухфакторной аутентификацией.",
+ "confirm_password": "Подтвердите ваш пароль",
+ "submit": "Отключить двухфакторную аутентификацию"
+ }
+ },
+ "group": {
+ "title": "Группы управление",
+ "add_group": "Добавить группу",
+ "name": "Имя",
+ "edit": {
+ "delete_group_title": "Удалить группу",
+ "delete_group_message": "Вы действительно хотите удалить эту группу?",
+ "edit_group_failed_title": "Группа уже существует",
+ "edit_group_failed_message": "Это название группы уже используется для другой группы",
+ "edit_group_title": "Изменить \"{{ name }}\"",
+ "add_group_title": "Добавить группу",
+ "name": "Имя",
+ "parent_group": "Группа источник",
+ "search_group": "Поиск группы",
+ "members": "Участники",
+ "new_member": "Новый участник",
+ "search_user": "Поиск пользователя"
+ }
+ },
+ "account": {
+ "title": "Пользователь аккаунт",
+ "password": "Пароль",
+ "password_confirm": "Подтвердить пароль",
+ "updated": "Аккаунт успешно обновлен"
+ },
+ "config": {
+ "title_guest_access": "Гость доступ",
+ "message_guest_access": "Гостевой доступ - это режим, в котором каждый может получить доступ к {{ appName }} без пароля.
Как обычный пользователь, гость может получить доступ только к своим документам и доступным через разрешения.
",
+ "enable_guest_access": "Включить гостевой доступ",
+ "disable_guest_access": "Отключить гостевой доступ",
+ "title_theme": "Настройка темы",
+ "application_name": "Имя приложения",
+ "main_color": "Основной цвет",
+ "custom_css": "Пользовательские CSS",
+ "custom_css_placeholder": "Пользовательский CSS для добавления после основной таблицы стилей",
+ "logo": "Логотип (квадратный размер)",
+ "background_image": "Изображение на заднем плане",
+ "uploading_image": "Загрузка изображения...",
+ "title_smtp": "Конфигурация электронной почты",
+ "smtp_hostname": "Имя хоста SMTP",
+ "smtp_port": "Порт SMTP",
+ "smtp_from": "Электронная почта отправителя",
+ "smtp_username": "Имя пользователя SMTP",
+ "smtp_password": "Пароль SMTP",
+ "smtp_updated": "Конфигурация SMTP успешно обновлена"
+ },
+ "log": {
+ "title": "Cерверные журналы",
+ "date": "Дата",
+ "tag": "Тег",
+ "message": "Сообщение"
+ },
+ "session": {
+ "title": "Открытые сеансы",
+ "created_date": "Дата создания",
+ "last_connection_date": "Дата последней связи",
+ "user_agent": "Из",
+ "current": "Текущий",
+ "current_session": "Это текущая сессия",
+ "clear_message": "Все остальные устройства, подключенные к этой учетной записи, будут отключены",
+ "clear": "Очистить все остальные сеансы"
+ },
+ "vocabulary": {
+ "title": "Словарь записи",
+ "choose_vocabulary": "Выберите словарь для редактирования",
+ "type": "Тип",
+ "coverage": "Покрытие",
+ "rights": "Права",
+ "value": "Стоимость",
+ "order": "Порядок",
+ "new_entry": "Новая запись"
+ }
+ },
+ "feedback": {
+ "title": "Оставьте нам ваше мнение",
+ "message": "Любое предложение или вопрос о Sismics Docs? Мы слушаем вас!",
+ "sent_title": "Обратная связь отправлена",
+ "sent_message": "Спасибо за ваш отзыв! Это поможет нам улучшить работу Sismics Docs."
+ },
+ "app_share": {
+ "main": "Запросить ссылку на общий документ для доступа",
+ "403": {
+ "title": "Не разрешено",
+ "message": "Документ, который вы пытаетесь просмотреть, больше не используется"
+ }
+ },
+ "directive": {
+ "acledit": {
+ "acl_target": "Для",
+ "acl_permission": "Разрешение",
+ "add_permission": "Добавить разрешение",
+ "search_user_group": "Поиск пользователя или группы"
+ },
+ "auditlog": {
+ "log_created": "созданный",
+ "log_updated": "обновленный",
+ "log_deleted": "удаленный",
+ "Acl": "ACL",
+ "Comment": "Комментарий",
+ "Document": "Документ",
+ "File": "Файл",
+ "Group": "Группа",
+ "Tag": "Тег",
+ "User": "Пользователь"
+ },
+ "selectrelation": {
+ "typeahead": "Введите название документа"
+ },
+ "selecttag": {
+ "typeahead": "Введите тег"
+ },
+ "datepicker": {
+ "current": "Cегодня",
+ "clear": "Очистить",
+ "close": "Готово"
+ }
+ },
+ "filter": {
+ "filesize": {
+ "mb": "MB",
+ "kb": "kB"
+ }
+ },
+ "acl": {
+ "READ": "Может читать",
+ "READWRITE": "Может писать",
+ "WRITE": "Может писать",
+ "USER": "Пользователь",
+ "GROUP": "Группа",
+ "SHARE": "Общий"
+ },
+ "validation": {
+ "required": "Необходимые",
+ "too_short": "Слишком коротко",
+ "too_long": "Слишком долго",
+ "email": "Электронная почта должна быть действительна",
+ "password_confirm": "Пароль и подтверждение пароля должны совпадать",
+ "number": "Требуемый номер",
+ "no_space": "Пробелы не допускаются"
+ },
+ "pagination": {
+ "previous": "Предыдущий",
+ "next": "Следующий",
+ "first": "Первый",
+ "last": "Последний"
+ },
+ "ok": "ОК",
+ "cancel": "Отмена",
+ "share": "Поделиться",
+ "unshare": "Удалить из открытого списка",
+ "close": "Закрыть",
+ "add": "Добавить",
+ "open": "Открыто",
+ "see": "Видеть",
+ "save": "Сохранить",
+ "export": "Экспорт",
+ "edit": "Редактировать",
+ "delete": "Удалить",
+ "loading": "Загрузка...",
+ "send": "Послать",
+ "enabled": "Включено",
+ "disabled": "Отключено"
+}
\ No newline at end of file
diff --git a/docs-web/src/main/webapp/src/share.html b/docs-web/src/main/webapp/src/share.html
index a922d297..33c39951 100644
--- a/docs-web/src/main/webapp/src/share.html
+++ b/docs-web/src/main/webapp/src/share.html
@@ -68,6 +68,7 @@
English
Français
+ русский
简体中文
繁體中文
@@ -76,6 +77,7 @@