gitscope
← marzneshin / Diff · 2fe92d7 → 2fe92d7
Changes 2fe92d7..2fe92d7
Patch commit
diff --git a/dashboard/public/locales/ru.json b/dashboard/public/locales/ru.json
new file mode 100644
index 0000000..ad75d20
--- /dev/null
+++ b/dashboard/public/locales/ru.json
@@ -0,0 +1,436 @@
+{
+ "name": "Имя",
+ "info": "Информация",
+ "status": "Статус",
+ "address": "Адрес",
+ "users": "Пользователи",
+ "nodes": "Узлы",
+ "services": "Сервисы",
+ "hosts": "Хосты",
+ "username": "Имя пользователя",
+ "password": "Пароль",
+ "inbounds": "Входящие подключения",
+ "submit": "Отправить",
+ "login": "Войти",
+ "edit": "Редактировать",
+ "actions": "Действия",
+ "settings": "Настройки",
+ "logs": "Логи",
+ "note": "Примечание",
+ "config": "Конфигурация",
+ "tag": "Тег",
+ "protocol": "Протокол",
+ "online": "Онлайн",
+ "offline": "Оффлайн",
+ "not_connected": "Не подключено",
+ "apply": "Применить",
+ "open": "Открыть",
+ "delete": "Удалить",
+ "port": "Порт",
+ "create": "Создать",
+ "path": "Путь",
+ "host": "Хост",
+ "alpn": "ALPN",
+ "security": "Безопасность",
+ "user_info": "Информация о пользователе",
+ "admin_info": "Информация об администраторе",
+ "subscription": "Подписка",
+ "subscription_link": "Ссылка на подписку",
+ "fingerprint": "Отпечаток",
+ "mux": "Мультиплексирование",
+ "fragment": "Фрагмент",
+ "enable": "Включить",
+ "enabled": "Включено",
+ "activated": "Активировано",
+ "unlimited": "Неограниченно",
+ "left": "Осталось",
+ "reached": "Достигнуто",
+ "inactive": "Неактивно",
+ "active": "Активно",
+ "disable": "Отключить",
+ "close": "Закрыть",
+ "save": "Сохранить",
+ "days": "Дни",
+ "home": "Главная",
+ "cancel": "Отмена",
+ "dark": "Темная",
+ "light": "Светлая",
+ "system": "Система",
+ "disabled": "Отключено",
+ "advanced-options": "Расширенные опции",
+ "language": "Язык",
+ "theme": "Тема",
+ "pattern": "Шаблон",
+ "result": "Результат",
+ "deselect": "Отменить выбор",
+ "view": "Просмотр",
+ "certificate": "Сертификат",
+ "valid": "Действителен",
+ "finished": "Завершено",
+ "expired": "Истек",
+ "change": "Изменить",
+ "admins": "Администраторы",
+ "normal": "Обычный",
+ "sudo": "Sudo",
+ "owner": "Владелец",
+ "running": "Работает",
+ "down": "Выключен",
+ "weight": "Вес",
+ "support-us": {
+ "title": "Поддержите нас",
+ "desc": "Marzneshin — это бесплатное программное обеспечение с открытым исходным кодом (FOSS). Присоединяйтесь к нам и поддержите нас, сделав пожертвование.",
+ "donate": "Пожертвовать"
+ },
+ "page": {
+ "home": {
+ "users-stats": {
+ "desc": "Обзор статусов пользователей"
+ },
+ "total-traffics": {
+ "title": "Общий трафик системы",
+ "desc": "Общий трафик со всех узлов"
+ }
+ },
+ "settings": {
+ "subscription-settings": {
+ "template-on-acceptance": "Шаблон при принятии",
+ "placeholder-remark": "Заполнитель примечания",
+ "placeholder-if-disabled": "Заполнитель, если отключено",
+ "shuffle-configs": "Перемешать конфигурации",
+ "url-prefix": "Префикс URL",
+ "profile-title": "Название профиля",
+ "support-link": "Ссылка на поддержку",
+ "update-interval": "Интервал обновления",
+ "add-rule": "Добавить правило",
+ "reset-local-changes": "Сбросить изменения",
+ "title": "Подписка",
+ "description": "Управление и настройка параметров подписки с помощью настраиваемых правил и опций обновления.",
+ "subscription-title": "Правила подписки",
+ "subscription-desc": "Добавьте правила подписки в порядке приоритета.",
+ "alert": {
+ "title": "Нет правил",
+ "desc": "Для подписки не определены правила"
+ }
+ },
+ "certificate": {
+ "copy": "Копировать сертификат",
+ "error": "Сертификат недоступен",
+ "copied": "Сертификат скопирован"
+ }
+ },
+ "login": {
+ "username": {
+ "error": {
+ "is-required": "Имя пользователя обязательно"
+ }
+ },
+ "password": {
+ "error": {
+ "is-required": "Пароль обязателен"
+ }
+ }
+ },
+ "nodes": {
+ "nodes-usage-widget": {
+ "title": "Использование трафика узла",
+ "desc": "Общее использование трафика на этом узле"
+ },
+ "settings": {
+ "no-backend-alert": {
+ "title": "Для этого узла не настроен бэкэнд",
+ "desc": "Пожалуйста, предпримите необходимые меры и настройте бэкэнд для этого узла."
+ },
+ "title": "Настройки узлов",
+ "detail": "Детали",
+ "log-container": {
+ "title": "Логи Xray"
+ }
+ },
+ "dialogs": {
+ "creation": {
+ "title": "Добавить узел"
+ },
+ "deletion": {
+ "title": "Удалить узел"
+ },
+ "edition": {
+ "title": "Редактировать узел"
+ }
+ },
+ "usage_coefficient": "Коэффициент использования",
+ "connection_backend": "Бэкэнд подключения",
+ "connection_backend_desc": "Используется для удаленного подключения",
+ "certificate-alert": {
+ "title": "Настройка сертификата узлов",
+ "desc": "Если вы хотите настроить сертификат узлов, проверьте страницу настроек.",
+ "click": "Нажмите здесь"
+ }
+ },
+ "services": {
+ "settings": {
+ "title": "Настройки сервиса",
+ "detail": "Детали"
+ },
+ "dialogs": {
+ "creation": {
+ "title": "Создать сервис"
+ },
+ "deletion": {
+ "title": "Удалить сервис"
+ },
+ "edition": {
+ "title": "Редактировать сервис"
+ }
+ }
+ },
+ "users": {
+ "created_at": "Дата создания",
+ "no_use": "Не используется",
+ "data_limit_reached": "Лимит данных достигнут",
+ "sub_updated_at": "Последнее обновление подписки",
+ "sub_last_user_agent": "Последний User Agent",
+ "traffic_reset_at": "Последний сброс трафика",
+ "lifetime_used_traffic": "Общий использованный трафик за всё время",
+ "note-placeholder": "Дополнительная информация о пользователе",
+ "data_limit": "Лимит данных",
+ "traffic": "Трафик",
+ "used_traffic": "Использованный трафик",
+ "data_limit_reset_strategy": "Период сброса данных",
+ "online_at": "Последнее использование",
+ "expire_date": "Дата истечения",
+ "unlimited": "Неограниченно",
+ "never": "Никогда",
+ "limited": "Ограничено",
+ "data_limit_method": "Лимит данных",
+ "fixed_date": "Фиксированная дата",
+ "expire_method": "Истечение срока",
+ "on_first_use": "При первом использовании",
+ "reset_usage": "Сбросить использование",
+ "revoke_subscription": "Отозвать подписку",
+ "usage_duration": "Продолжительность использования",
+ "activation_deadline": "Срок активации",
+ "nodes-usage": "Использование узлов",
+ "settings": {
+ "nodes-usage": {
+ "last-days": "Последние {{count}} дней",
+ "last-months": "Последние {{count}} месяцев",
+ "last-hours": "Последние {{count}} часов",
+ "title": "Использование узлов пользователями",
+ "desc": "Количество использования узлов пользователями за определенный период времени."
+ },
+ "subscription_link": {
+ "copied": "Ссылка на подписку скопирована",
+ "copy": "Скопировать ссылку на подписку",
+ "error": "Не удалось скопировать ссылку на подписку"
+ }
+ },
+ "services-alert": {
+ "title": "Сервисы не найдены",
+ "desc": "Убедитесь, что вы создали сервисы для подключения пользователей через входящие подключения.",
+ "click": "Нажмите здесь"
+ },
+ "dialogs": {
+ "edition": {
+ "title": "Редактировать пользователя"
+ },
+ "creation": {
+ "title": "Создать пользователя"
+ },
+ "deletion": {
+ "title": "Удалить пользователя"
+ },
+ "mutation": {
+ "note": {
+ "desc": "Оставьте заметку о вашем пользователе"
+ }
+ }
+ }
+ },
+ "admins": {
+ "disable_users": "Отключить пользователей",
+ "enable_users": "Включить пользователей",
+ "permission": "Разрешение",
+ "dialogs": {
+ "creation": {
+ "title": "Создать администратора"
+ },
+ "edition": {
+ "title": "Редактировать администратора"
+ },
+ "deletion": {
+ "title": "Удалить администратора"
+ }
+ },
+ "modify-users-access": "Изменить доступ пользователей",
+ "subscription-url-prefix": "Префикс URL подписки",
+ "sudo-privilage": "Привилегии sudo",
+ "all-services-access": "Доступ ко всем сервисам",
+ "users-data-usage": "Использование данных пользователями"
+ },
+ "hosts": {
+ "xmux-settings": "Настройки Xmux",
+ "split-http-settings": "Настройки разделения HTTP",
+ "no-grpc-header": "Нет заголовка GRPC",
+ "early-data": "Ранние данные",
+ "http_headers": "HTTP заголовки",
+ "no-http-headers": "Нет HTTP заголовков",
+ "mux-settings": "Настройки мультиплексирования",
+ "dns-servers": "DNS серверы",
+ "obfuscation-password": "Пароль для обфускации",
+ "server-public-key": "Публичный ключ сервера",
+ "tls-config": "Конфигурация TLS",
+ "network-settings": "Настройки сети",
+ "security-settings": "Настройки безопасности",
+ "allowed-ips": "Разрешенные IP",
+ "allowed-ips-placeholder": "127.0.0.1,...",
+ "camouflage-settings": "Настройки маскировки",
+ "fragment": {
+ "interval": "Интервал",
+ "length": "Длина",
+ "packets": "Пакеты",
+ "length-error": "Длина не может превышать 32 символа и должна быть числом-числом",
+ "interval-error": "Интервал не может превышать 32 символа и должен быть числом-числом",
+ "packets-error": "Пакеты не могут превышать 32 символа и должны быть числом-числом или tlshello"
+ },
+ "noise": {
+ "interval": "Интервал",
+ "length": "Длина",
+ "packets": "Пакеты",
+ "length-error": "Длина не может превышать 32 символа и должна быть числом-числом",
+ "interval-error": "Интервал не может превышать 32 символа и должен быть числом-числом",
+ "packets-error": "Пакеты не могут превышать 32 символа и должны быть числом-числом или tlshello"
+ },
+ "popover-guide": {
+ "title": "Используя эту настройку, вы можете назначить конкретный адрес для каждого входящего подключения.",
+ "desc": "Используйте эти переменные, чтобы сделать его динамическим",
+ "username": "Имя пользователя",
+ "dataUsage": "Текущее использование пользователем",
+ "remainingData": "Оставшиеся данные пользователя",
+ "dataLimit": "Лимит данных пользователя",
+ "remainingDays": "Оставшиеся дни пользователя",
+ "expireDate": "Дата истечения срока действия пользователя",
+ "jalaliExpireDate": "Дата истечения срока действия пользователя по персидскому календарю",
+ "remainingTime": "Оставшееся время пользователя",
+ "statusEmoji": "Статус пользователя как эмодзи (✅,⌛,🪫,❌,🔌)",
+ "proxyProtocol": "Прокси-протокол (например, VMess)",
+ "proxyMethod": "Метод транспорта прокси (например, ws)",
+ "currentServer": "IP-адрес сервера Marzneshin",
+ "security": "Уровень безопасности",
+ "host": "Хост запроса",
+ "port": "Порт",
+ "path": "Путь",
+ "sni": "SNI",
+ "advancedOptions": "Расширенные опции",
+ "addHost": "Добавить хост",
+ "savedSuccess": "Хост успешно сохранен",
+ "loading": "загрузка...",
+ "apply": "Применить",
+ "port.info": "По умолчанию порт входящего подключения рекламируется пользователю. Вы можете установить пользовательский порт, если этот хост перенаправляет трафик с другого порта на ваш входящий сервер. Например, сервер может перенаправлять трафик с порта 8443 на стандартный порт вашего входящего сервера.",
+ "path.info": "Установите путь для пользователей хоста, полезно за обратным прокси.",
+ "sni.info": "По умолчанию хост использует SNI из входящего подключения. Вы можете установить пользовательский SNI, если этот хост является сервером с другим SNI. Например, сервер может получать трафик с другим SSL-сертификатом, выполнять SSL-терминацию и перенаправлять его на ваш входящий сервер.",
+ "host.info": "По умолчанию, если в конфигурации Xray установлен хост запроса, используется этот хост. Однако вы можете установить здесь пользовательский хост запроса, если это необходимо.",
+ "security.info": "Если промежуточный сервер этого хоста использует другой уровень безопасности, чем по умолчанию для входящих подключений, вы можете установить здесь пользовательский уровень безопасности.",
+ "alpn": "ALPN",
+ "fingerprint": "Отпечаток",
+ "host.multiHost": "Чтобы установить несколько адресов, разделите их запятой. Каждый раз выбирается случайный адрес.",
+ "host.wildcard": "Используйте * для генерации случайной строки (работает для доменных имен с подстановочными знаками)"
+ },
+ "mux": {
+ "title": "Мультиплексирование соединений",
+ "desc": "В настоящее время поддерживается v2rayng при использовании пользовательской конфигурации"
+ },
+ "no-inbound-selection-alert": {
+ "title": "Не выбрано входящее подключение",
+ "desc": "Вы должны выбрать входящее подключение, чтобы добавить хост."
+ },
+ "settings": {
+ "title": "Настройки хоста"
+ },
+ "allowinsecure": "Разрешить небезопасное",
+ "dialogs": {
+ "edition": {
+ "title": "Редактировать хост"
+ },
+ "creation": {
+ "title": "Добавить хост"
+ },
+ "deletion": {
+ "title": "Удалить хост"
+ },
+ "mutation": {
+ "allowinsecure": {
+ "alert": "Из соображений безопасности не рекомендуется включать 'Разрешить небезопасное'"
+ }
+ }
+ }
+ }
+ },
+ "events": {
+ "delete": {
+ "error": "Не удалось удалить {{name}}",
+ "success": {
+ "title": "{{name}} успешно удален",
+ "desc": ""
+ }
+ },
+ "create": {
+ "error": "Не удалось создать {{name}}",
+ "success": {
+ "title": "{{name}} успешно создан",
+ "desc": ""
+ }
+ },
+ "update": {
+ "error": "Не удалось обновить {{name}}",
+ "success": {
+ "title": "{{name}} успешно обновлен",
+ "desc": ""
+ }
+ },
+ "user_revoke": {
+ "error": "Не удалось отозвать подписку {{name}}",
+ "success": {
+ "title": "{{name}} успешно создан",
+ "desc": ""
+ }
+ },
+ "user_reset": {
+ "error": "Не удалось сбросить использование данных {{name}}",
+ "success": {
+ "title": "Использование данных {{name}} успешно сброшено",
+ "desc": ""
+ }
+ },
+ "user_status": {
+ "error": "Не удалось изменить статус включения {{name}}",
+ "success": {
+ "title": "Статус включения {{name}} успешно обновлен",
+ "desc": ""
+ }
+ }
+ },
+ "delete-confirmation": {
+ "title": "Вы уверены?",
+ "desc": "Это действие нельзя отменить."
+ },
+ "table": {
+ "no-result-found": "Результатов не найдено.",
+ "row-per-page": "Строк на страницу",
+ "no-result": "Нет результата",
+ "selected": "Выбрано",
+ "toggle-column": "Переключить столбцы",
+ "filter-placeholder": "Фильтр {{name}}"
+ },
+ "statuses": {
+ "active": "Активен",
+ "connected": "Подключен",
+ "healthy": "Здоровый",
+ "disabled": "Отключен",
+ "expired": "Истекший",
+ "on_hold": "На паузе",
+ "connecting": "Подключение",
+ "unhealthy": "Нездоровый",
+ "limited": "Ограничен",
+ "error": "Ошибка"
+ }
+}