From 8ab284ff985822eee92927a83c3e5ec78e08dfdc Mon Sep 17 00:00:00 2001 From: Benjamin Gamard Date: Sat, 6 Jan 2018 11:44:44 +0100 Subject: [PATCH] russian translation --- .../src/main/resources/messages_ru.properties | 6 + docs-web/src/main/webapp/src/app/docs/app.js | 3 +- docs-web/src/main/webapp/src/app/share/app.js | 3 +- docs-web/src/main/webapp/src/index.html | 2 + .../webapp/src/locale/angular-locale_ru.js | 143 ++++++ docs-web/src/main/webapp/src/locale/ru.json | 436 ++++++++++++++++++ docs-web/src/main/webapp/src/share.html | 2 + 7 files changed, 593 insertions(+), 2 deletions(-) create mode 100644 docs-core/src/main/resources/messages_ru.properties create mode 100644 docs-web/src/main/webapp/src/locale/angular-locale_ru.js create mode 100644 docs-web/src/main/webapp/src/locale/ru.json 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 @@