diff --git a/src/locales/ru/connections.json b/src/locales/ru/connections.json index 6aadd293d..37b8adaef 100644 --- a/src/locales/ru/connections.json +++ b/src/locales/ru/connections.json @@ -13,22 +13,22 @@ "time": "Время подключения", "source": "Исходный адрес", "destination": "IP-адрес назначения", - "destinationPort": "Целевой порт", + "destinationPort": "Порт назначения", "type": "Тип" }, "order": { - "default": "Default", + "default": "По умолчанию", "uploadSpeed": "Скорость загрузки", "downloadSpeed": "Скорость скачивания" }, "actions": { - "active": "Active", - "closed": "Closed", + "active": "Активные", + "closed": "Закрытые", "closeConnection": "Закрыть соединение" }, "columnManager": { "title": "Столбцы", - "dragHandle": "Drag handle" + "dragHandle": "Маркер перетаскивания" } } } diff --git a/src/locales/ru/home.json b/src/locales/ru/home.json index 157f5b2c7..15de01943 100644 --- a/src/locales/ru/home.json +++ b/src/locales/ru/home.json @@ -1,12 +1,12 @@ { "page": { "tooltips": { - "lightweightMode": "LightWeight Mode", + "lightweightMode": "Режим LightWeight", "manual": "Документация", "settings": "Настройки главной страницы" }, "cards": { - "trafficStats": "Статистика по трафику", + "trafficStats": "Статистика трафика", "networkSettings": "Настройки сети", "proxyMode": "Режим работы" }, @@ -14,10 +14,10 @@ "cards": { "profile": "Карточка профиля", "currentProxy": "Карточка текущего прокси", - "network": "Карточка настроек сети", + "network": "Карточка сети", "proxyMode": "Карточка режима работы", - "traffic": "Карточка статистики по трафику", - "tests": "Карточка тестов доступности веб-сайтов", + "traffic": "Карточка трафика", + "tests": "Карточка проверки доступности сайтов", "ip": "Информация об IP", "clashInfo": "Информация о Clash", "systemInfo": "Информация о системе" @@ -29,15 +29,15 @@ "components": { "proxyTun": { "status": { - "systemProxyEnabled": "Системный прокси включен, ваши приложения будут получать доступ к сети через него", - "systemProxyDisabled": "Системный прокси отключен, большинству пользователей рекомендуется включить эту опцию", - "tunModeServiceRequired": "Режим TUN требует установленную службу Clash Verge", - "tunModeEnabled": "Режим TUN включен, приложения будут получать доступ к сети через виртуальную сетевую карту", - "tunModeDisabled": "Режим TUN отключен" + "systemProxyEnabled": "Системный прокси включён — приложения используют его для доступа в сеть", + "systemProxyDisabled": "Системный прокси отключён — большинству пользователей рекомендуется его включить", + "tunModeServiceRequired": "Режим TUN требует установленной службы Clash Verge", + "tunModeEnabled": "Режим TUN включён — приложения используют виртуальный сетевой интерфейс", + "tunModeDisabled": "Режим TUN отключён" }, "tooltips": { - "systemProxy": "Разрешить изменение настроек прокси-сервера операционной системы. Если разрешение не удастся, измените настройки прокси-сервера операционной системы вручную", - "tunMode": "Режим TUN может перехватить трафик всех приложений, подходит для приложений, которые не работают в режиме системного прокси." + "systemProxy": "Разрешает изменение системных настроек прокси. Если не удаётся, настройте прокси вручную", + "tunMode": "Режим TUN перехватывает трафик всех приложений и подходит для программ, не работающих через системный прокси" } }, "clashInfo": { @@ -45,7 +45,7 @@ "fields": { "coreVersion": "Версия ядра", "systemProxyAddress": "Адрес системного прокси", - "mixedPort": "Mixed Port", + "mixedPort": "Смешанный порт", "uptime": "Время работы", "rulesCount": "Количество правил" } @@ -63,10 +63,10 @@ "settings": "Настройки" }, "badges": { - "adminMode": "Administrator Mode", - "serviceMode": "Режим системной службы", + "adminMode": "Режим администратора", + "serviceMode": "Режим службы", "sidecarMode": "Пользовательский режим", - "adminServiceMode": "Admin + Service Mode" + "adminServiceMode": "Режим администратора + служба" } }, "ipInfo": { @@ -74,32 +74,32 @@ "labels": { "ip": "IP", "asn": "ASN", - "isp": "ISP", - "org": "ORG", - "location": "Location", - "timezone": "Timezone", - "autoRefresh": "Автоматическое обновление через", - "unknown": "Unknown" + "isp": "Провайдер", + "org": "Организация", + "location": "Местоположение", + "timezone": "Часовой пояс", + "autoRefresh": "Автообновление через", + "unknown": "Неизвестно" }, "errors": { - "load": "Не удалось получить данные IP" + "load": "Не удалось получить информацию об IP" } }, "currentProxy": { - "title": "Текущий сервер", + "title": "Текущий прокси", "actions": { - "refreshDelay": "Проверка задержки" + "refreshDelay": "Проверить задержку" }, "labels": { "globalMode": "Глобальный режим", "directMode": "Прямой режим", "group": "Группа", "proxy": "Прокси", - "noActiveNode": "Нет активного прокси-узла" + "noActiveNode": "Нет активного прокси" } }, "tests": { - "title": "Проверка доступности веб-сайтов" + "title": "Проверка доступности сайтов" }, "traffic": { "metrics": { @@ -113,22 +113,22 @@ "download": "Скачивание" }, "patterns": { - "minutes": "{{time}} Minutes" + "minutes": "{{time}} мин" } }, "clashMode": { "errors": { - "communication": "Core communication error" + "communication": "Ошибка связи с ядром" }, "labels": { - "rule": "Rule", - "global": "Global", - "direct": "Direct" + "rule": "Правила", + "global": "Глобальный", + "direct": "Прямой" }, "descriptions": { - "rule": "Автоматически выбирать прокси в зависимости от правил", - "global": "Перенаправлять все сетевые запросы через выбранный прокси", - "direct": "Подключение к интернету без прокси" + "rule": "Автоматический выбор прокси в зависимости от правил", + "global": "Весь трафик проходит через выбранный прокси", + "direct": "Подключение напрямую без прокси" } } } diff --git a/src/locales/ru/layout.json b/src/locales/ru/layout.json index 1f8c3267b..7676fcf5b 100644 --- a/src/locales/ru/layout.json +++ b/src/locales/ru/layout.json @@ -12,12 +12,12 @@ "settings": "Настройки" }, "menu": { - "reorderMode": "Menu reorder mode", - "restoreDefaultOrder": "Restore default order", - "unlock": "Unlock menu order", - "lock": "Lock menu order", - "collapseNavBar": "Collapse navigation bar", - "expandNavBar": "Expand navigation bar" + "reorderMode": "Режим изменения порядка меню", + "restoreDefaultOrder": "Восстановить порядок по умолчанию", + "unlock": "Разблокировать порядок меню", + "lock": "Заблокировать порядок меню", + "collapseNavBar": "Свернуть панель навигации", + "expandNavBar": "Развернуть панель навигации" } } } diff --git a/src/locales/ru/logs.json b/src/locales/ru/logs.json index 1465500f5..2083b1e27 100644 --- a/src/locales/ru/logs.json +++ b/src/locales/ru/logs.json @@ -3,7 +3,7 @@ "title": "Логи" }, "actions": { - "showDescending": "Newest first", - "showAscending": "Oldest first" + "showDescending": "Сначала новые", + "showAscending": "Сначала старые" } } diff --git a/src/locales/ru/profiles.json b/src/locales/ru/profiles.json index bac61fd7e..227fbeacb 100644 --- a/src/locales/ru/profiles.json +++ b/src/locales/ru/profiles.json @@ -2,20 +2,20 @@ "page": { "actions": { "updateAll": "Обновить все профили", - "viewRuntimeConfig": "Просмотреть используемый конфиг", + "viewRuntimeConfig": "Просмотреть текущую конфигурацию", "reactivate": "Перезапустить профиль", - "import": "Импорт" + "import": "Импортировать" }, "batch": { "actions": { "delete": "Удалить выбранные профили", "selectAll": "Выбрать все", - "deselectAll": "Отменить выбор всех", + "deselectAll": "Снять выделение", "done": "Готово" }, "summary": { "selected": "Выбрано", - "items": "элементы" + "items": "элементов" }, "title": "Пакетные операции" }, @@ -27,22 +27,22 @@ }, "feedback": { "errors": { - "invalidUrl": "Недопустимая ссылка на профиль, введите адрес, начинающийся с http:// или https://", + "invalidUrl": "Недопустимый URL профиля. Укажите адрес, начинающийся с http:// или https://", "onlyYaml": "Поддерживаются только файлы YAML" }, "notifications": { - "importRetry": "Import failed, retrying with Clash proxy...", - "importFail": "Import failed even with Clash proxy", - "importNeedsRefresh": "Profile imported but may need manual refresh", - "importSuccess": "Profile imported successfully, please restart if not visible", - "profileSwitched": "Профиль изменен", + "importRetry": "Не удалось импортировать, повторная попытка через Clash proxy...", + "importFail": "Не удалось импортировать даже через Clash proxy", + "importNeedsRefresh": "Профиль импортирован, но может потребоваться обновление вручную", + "importSuccess": "Профиль успешно импортирован. Перезапустите приложение, если он не появился", + "profileSwitched": "Профиль переключён", "profileReactivated": "Профиль перезапущен", - "switchInterrupted": "Profile switch interrupted by new selection", - "batchDeleted": "Выбранные профили успешно удалены" + "switchInterrupted": "Переключение профиля прервано новым выбором", + "batchDeleted": "Выбранные профили удалены" }, "notices": { - "forceRefreshCompleted": "Force refresh completed", - "emergencyRefreshFailed": "Emergency refresh failed: {{message}}" + "forceRefreshCompleted": "Принудительное обновление завершено", + "emergencyRefreshFailed": "Экстренное обновление не удалось: {{message}}" } }, "title": "Профили" @@ -50,7 +50,7 @@ "components": { "card": { "labels": { - "clickToImport": "Нажмите, чтобы импортировать подписку" + "clickToImport": "Нажмите для импорта подписки" } }, "fileInput": { @@ -64,16 +64,16 @@ "editRules": "Редактировать правила", "editProxies": "Редактировать прокси", "editGroups": "Редактировать группы прокси", - "extendConfig": "Изменить Merge", + "extendConfig": "Изменить Merge-конфигурацию", "extendScript": "Изменить Script", "openFile": "Открыть файл", "update": "Обновить", - "updateViaProxy": "Update via proxy" + "updateViaProxy": "Обновить через прокси" }, "more": { "global": { - "merge": "Global Extend Config", - "script": "Global Extend Script" + "merge": "Глобальная Merge-конфигурация", + "script": "Глобальный Script" }, "chips": { "merge": "Merge", @@ -82,15 +82,15 @@ }, "profileItem": { "tooltips": { - "showLast": "Click to show last update time", - "showNext": "Click to show next update" + "showLast": "Показать время последнего обновления", + "showNext": "Показать следующее обновление" }, "status": { - "lastUpdateFailed": "Last Update failed", - "nextUp": "Next Up", - "noSchedule": "No schedule", - "unknown": "Unknown", - "autoUpdateDisabled": "Auto update disabled" + "lastUpdateFailed": "Последнее обновление не удалось", + "nextUp": "Следующее обновление", + "noSchedule": "Без расписания", + "unknown": "Неизвестно", + "autoUpdateDisabled": "Автообновление отключено" } } }, @@ -98,30 +98,30 @@ "profileForm": { "title": { "create": "Создать профиль", - "edit": "Изменить профиль" + "edit": "Редактировать профиль" }, "fields": { "type": "Тип", "description": "Описание", "subscriptionUrl": "URL подписки", - "httpTimeout": "HTTP Request Timeout", + "httpTimeout": "Тайм-аут HTTP-запроса", "updateInterval": "Интервал обновления", "useSystemProxy": "Использовать системный прокси для обновления", - "useClashProxy": "Использовать прокси Clash для обновления", + "useClashProxy": "Использовать Clash proxy для обновления", "acceptInvalidCerts": "Принимать недействительные сертификаты (ОПАСНО)", - "allowAutoUpdate": "Allow Auto Update" + "allowAutoUpdate": "Разрешить автообновление" }, "feedback": { "notifications": { - "creationRetry": "Profile creation failed, retrying with Clash proxy...", - "creationSuccess": "Profile creation succeeded with Clash proxy" + "creationRetry": "Не удалось создать профиль, повторная попытка через Clash proxy...", + "creationSuccess": "Профиль успешно создан через Clash proxy" } } }, "proxiesEditor": { "title": "Редактировать прокси", "placeholders": { - "multiUri": "Используйте символы новой строки для нескольких URI (поддерживается кодировка Base64)" + "multiUri": "Используйте перенос строки для нескольких URI (поддерживается Base64)" }, "actions": { "prepend": "Добавить прокси в начало", @@ -131,32 +131,32 @@ "groupsEditor": { "title": "Редактировать группы прокси", "errors": { - "nameRequired": "Требуется имя группы", - "nameExists": "Имя группы уже существует" + "nameRequired": "Введите имя группы", + "nameExists": "Группа с таким именем уже существует" }, "fields": { "type": "Тип группы", "name": "Имя группы", - "icon": "Иконка Группы прокси", + "icon": "Значок группы прокси", "proxies": "Использовать прокси", "provider": "Использовать провайдера", - "healthCheckUrl": "URL проверки здоровья", + "healthCheckUrl": "URL проверки доступности", "expectedStatus": "Ожидаемый статус", "interval": "Интервал", - "maxFailedTimes": "Максимальное количество неудач", + "maxFailedTimes": "Максимальное число ошибок", "interfaceName": "Имя интерфейса", "routingMark": "Марка маршрутизации", "filter": "Фильтр", - "excludeFilter": "Исключить фильтр", + "excludeFilter": "Исключающий фильтр", "excludeType": "Тип исключения", "includeAll": "Включить все прокси и провайдеры", "includeAllProxies": "Включить все прокси", "includeAllProviders": "Включить всех провайдеров" }, "toggles": { - "lazy": "Ленивый", + "lazy": "Ленивая загрузка", "disableUdp": "Отключить UDP", - "hidden": "Скрытый" + "hidden": "Скрытая" }, "actions": { "prepend": "Добавить группу в начало", @@ -168,12 +168,12 @@ "format": "Форматировать документ" }, "messages": { - "readOnly": "Невозможно редактировать в режиме только для чтения" + "readOnly": "Редактирование недоступно в режиме только для чтения" } }, "confirmDelete": { "title": "Подтвердите удаление", - "message": "Эта операция необратима" + "message": "Это действие необратимо" }, "logViewer": { "title": "Консоль скрипта" diff --git a/src/locales/ru/proxies.json b/src/locales/ru/proxies.json index bac77f5e5..c7cfce818 100644 --- a/src/locales/ru/proxies.json +++ b/src/locales/ru/proxies.json @@ -1,31 +1,31 @@ { "page": { "modes": { - "rule": "Rule", - "global": "Global", - "direct": "Direct" + "rule": "Правила", + "global": "Глобальный", + "direct": "Прямой" }, "actions": { - "toggleChain": "Цепной прокси", - "connect": "Connect", - "disconnect": "Disconnect", - "connecting": "Connecting...", - "clearChainConfig": "Delete Chain Config" + "toggleChain": "Цепочка прокси", + "connect": "Подключиться", + "disconnect": "Отключиться", + "connecting": "Подключение...", + "clearChainConfig": "Очистить цепочку" }, "provider": { - "title": "Провайдер прокси", + "title": "Провайдеры прокси", "actions": { "updateAll": "Обновить все", "update": "Обновить" } }, "rules": { - "title": "Proxy Rules", - "select": "Select Rules" + "title": "Правила прокси", + "select": "Выбрать правила" }, "labels": { - "proxyCount": "Proxy Count", - "delayCheckReset": "Проверка задержки для отмены фиксированного" + "proxyCount": "Количество прокси", + "delayCheckReset": "Сброс проверки задержки" }, "tooltips": { "locate": "Местоположение", @@ -33,23 +33,23 @@ "sortDefault": "Сортировать по умолчанию", "sortDelay": "Сортировать по задержке", "sortName": "Сортировать по названию", - "delayCheckUrl": "URL проверки задержки", - "showBasic": "Отображать меньше сведений о прокси", - "showDetail": "Отображать больше сведений о прокси", + "delayCheckUrl": "URL для проверки задержки", + "showBasic": "Показывать меньше информации о прокси", + "showDetail": "Показывать больше информации о прокси", "filter": "Фильтр" }, "placeholders": { - "delayCheckUrl": "URL проверки задержки" + "delayCheckUrl": "URL для проверки задержки" }, "chain": { - "header": "Конфигурация цепочки прокси", + "header": "Цепочка прокси", "empty": "Цепочка прокси не настроена", - "instruction": "Нажимайте узлы по порядку, чтобы добавить в цепочку прокси", - "minimumNodes": "Chain proxy requires at least 2 nodes", - "minimumNodesHint": "Chain proxy requires at least 2 nodes. Please add one more node.", - "connectFailed": "Failed to connect to proxy chain", - "disconnectFailed": "Failed to disconnect from proxy chain", - "duplicateNode": "Proxy node already exists in chain", + "instruction": "Нажимайте на узлы по порядку, чтобы добавить их в цепочку", + "minimumNodes": "Для цепочки требуется минимум 2 узла", + "minimumNodesHint": "Для цепочки требуется минимум 2 узла. Добавьте ещё один узел.", + "connectFailed": "Не удалось подключиться к цепочке прокси", + "disconnectFailed": "Не удалось отключиться от цепочки прокси", + "duplicateNode": "Этот узел уже добавлен в цепочку", "entryNode": "Вход", "exitNode": "Выход" }, @@ -58,17 +58,17 @@ }, "title": { "default": "Группы прокси", - "chainMode": "Proxy Chain Mode" + "chainMode": "Режим цепочки прокси" } }, "feedback": { "notifications": { "provider": { - "updateSuccess": "{{name}} updated successfully", - "updateFailed": "Failed to update {{name}}: {{message}}", - "genericError": "Update failed: {{message}}", - "none": "No providers available to update", - "allUpdated": "All providers updated successfully" + "updateSuccess": "{{name}} успешно обновлён", + "updateFailed": "Не удалось обновить {{name}}: {{message}}", + "genericError": "Ошибка обновления: {{message}}", + "none": "Нет доступных провайдеров для обновления", + "allUpdated": "Все провайдеры успешно обновлены" } } }, diff --git a/src/locales/ru/tests.json b/src/locales/ru/tests.json index 16b2a5e04..df0b11981 100644 --- a/src/locales/ru/tests.json +++ b/src/locales/ru/tests.json @@ -1,14 +1,14 @@ { "page": { "actions": { - "testAll": "Тестировать все" + "testAll": "Проверить все" }, "title": "Тест" }, "components": { "item": { "actions": { - "test": "Тест" + "test": "Проверить" } } }, @@ -19,7 +19,7 @@ "edit": "Редактировать тест" }, "fields": { - "url": "URL проверка" + "url": "URL для проверки" } } }, @@ -30,24 +30,24 @@ "no": "Нет", "failed": "Ошибка", "completed": "Завершено", - "disallowedIsp": "ISP заблокирован", + "disallowedIsp": "Провайдер заблокирован", "originalsOnly": "Только Originals", - "noDisney": "Нет (IP забанен Disney+)", - "unsupportedRegion": "Страна/регион не поддерживается", + "noDisney": "Нет (IP заблокирован Disney+)", + "unsupportedRegion": "Страна или регион не поддерживаются", "failedNetwork": "Ошибка подключения" } }, "unlock": { "page": { "actions": { - "testing": "Тестирование ..." + "testing": "Проверка..." }, - "empty": "No unlock test items", + "empty": "Нет элементов для проверки разблокировки", "messages": { - "detectionFailedWithName": "Не удалось обнаружить {{name}}", - "detectionTimeout": "Detection timeout or failed" + "detectionFailedWithName": "Не удалось определить {{name}}", + "detectionTimeout": "Истекло время ожидания проверки или произошла ошибка" }, - "title": "Тест доступности веб-сайтов" + "title": "Проверка доступности веб-сайтов" } } }